X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fregset.c;h=c4837c80f6c0cbb2a4e9276b8b6c7ca583229184;hb=6479260d11c8f24a33cea6d0c79778a6beae1f9d;hp=2ab40b87ebcb3ea181e0bc1deb32c4338d65a2ef;hpb=144529d0d22409ef28eaf39c25767f817d017fdd;p=binutils-gdb.git diff --git a/gdb/regset.c b/gdb/regset.c index 2ab40b87ebc..c4837c80f6c 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 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 (const 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; }