X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fregset.c;h=8906a97f238e10e09c8a89f11d67e7d3c18da23c;hb=080017175b5248f1e5b0d48a55a06634244db459;hp=98fb6650c6871bcd271a4b56946c9d602039c941;hpb=be07a590ed0a975673fb86e13d07362ff930c750;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/regset.c b/gdb/regset.c index 98fb6650c6..8906a97f23 100644 --- a/gdb/regset.c +++ b/gdb/regset.c @@ -1,12 +1,12 @@ -/* Regset support functions, for GDB. +/* Manage register sets. - Copyright 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,25 +15,30 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + along with this program. If not, see . */ #include "defs.h" #include "regset.h" + #include "gdb_assert.h" +/* Allocate a fresh 'struct regset' whose supply_regset function is + SUPPLY_REGSET, and whose collect_regset function is COLLECT_REGSET. + If the regset has no collect_regset function, pass NULL for + COLLECT_REGSET. + + The object returned is allocated on ARCH's obstack. */ struct regset * -regset_xmalloc (void *descr, - supply_regset_ftype *supply_regset, - collect_regset_ftype *collect_regset) +regset_alloc (struct gdbarch *arch, + supply_regset_ftype *supply_regset, + collect_regset_ftype *collect_regset) { - struct regset *r = (struct regset *) xmalloc (sizeof (*r)); + struct regset *regset = GDBARCH_OBSTACK_ZALLOC (arch, struct regset); - r->descr = descr; - r->supply_regset = supply_regset; - r->collect_regset = collect_regset; + regset->arch = arch; + regset->supply_regset = supply_regset; + regset->collect_regset = collect_regset; - return r; + return regset; }