2007-08-17 Michael Snyder <msnyder@access-company.com>
[deliverable/binutils-gdb.git] / gdb / regset.c
index 98fb6650c6871bcd271a4b56946c9d602039c941..3f7b517b754669c05e9cabcecada1341ab484dd5 100644 (file)
@@ -1,6 +1,6 @@
-/* Regset support functions, for GDB.
+/* Manage register sets.
 
-   Copyright 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 
    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.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #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;
 }
This page took 0.024816 seconds and 4 git commands to generate.