summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-01-09 18:53:21 +0000
committerAndrew Cagney <cagney@redhat.com>2003-01-09 18:53:21 +0000
commit479ab5a00d3aa5dba754b8231a4c9e0b03d33ded (patch)
tree67a84f3a481ea046e7009095ba9c15d0b8784325
parent696d5a5b8440861f2e53015652b37388ef6d4283 (diff)
downloadbinutils-gdb-479ab5a00d3aa5dba754b8231a4c9e0b03d33ded.tar.gz
2003-01-09 Andrew Cagney <ac131313@redhat.com>
* frame.h (frame_obstack_zalloc): Replace frame_obstack_alloc. Update comments. * frame.c (frame_obstack_zalloc): Replace frame_obstack_alloc. (frame_saved_regs_zalloc): Update. (frame_saved_regs_register_unwind): Update. (create_new_frame): Update. (get_prev_frame): Update. (frame_extra_info_zalloc): Update. (deprecated_get_frame_saved_regs): Update. * dwarf2cfi.c (cfi_init_extra_frame_info): Update. * cris-tdep.c: Update comment.
-rw-r--r--gdb/ChangeLog12
-rw-r--r--gdb/cris-tdep.c3
-rw-r--r--gdb/dwarf2cfi.c4
-rw-r--r--gdb/frame.c31
-rw-r--r--gdb/frame.h10
5 files changed, 33 insertions, 27 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8ca99a8d0c2..3be766ada59 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,17 @@
2003-01-09 Andrew Cagney <ac131313@redhat.com>
+ * frame.h (frame_obstack_zalloc): Replace frame_obstack_alloc.
+ Update comments.
+ * frame.c (frame_obstack_zalloc): Replace frame_obstack_alloc.
+ (frame_saved_regs_zalloc): Update.
+ (frame_saved_regs_register_unwind): Update.
+ (create_new_frame): Update.
+ (get_prev_frame): Update.
+ (frame_extra_info_zalloc): Update.
+ (deprecated_get_frame_saved_regs): Update.
+ * dwarf2cfi.c (cfi_init_extra_frame_info): Update.
+ * cris-tdep.c: Update comment.
+
* somsolib.h: Fix function indentation.
* disasm.c, buildsym.c, buildsym.h: Eliminate PTR.
* gnu-v2-abi.c, f-typeprint.c, x86-64-linux-tdep.c: Eliminate STREQ.
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c
index 3f274160e9a..b9fae82b160 100644
--- a/gdb/cris-tdep.c
+++ b/gdb/cris-tdep.c
@@ -1148,8 +1148,7 @@ cris_frameless_function_invocation (struct frame_info *fi)
/* See frame.h. Determines the address of all registers in the current stack
frame storing each in frame->saved_regs. Space for frame->saved_regs shall
- be allocated by FRAME_INIT_SAVED_REGS using either frame_saved_regs_zalloc
- or frame_obstack_alloc. */
+ be allocated by FRAME_INIT_SAVED_REGS using frame_saved_regs_zalloc. */
void
cris_frame_init_saved_regs (struct frame_info *fi)
diff --git a/gdb/dwarf2cfi.c b/gdb/dwarf2cfi.c
index d70b3e61fb1..8c5d39c9202 100644
--- a/gdb/dwarf2cfi.c
+++ b/gdb/dwarf2cfi.c
@@ -1770,9 +1770,9 @@ cfi_init_extra_frame_info (int fromleaf, struct frame_info *fi)
unwind_tmp_obstack_init ();
fs = frame_state_alloc ();
- deprecated_set_frame_context (fi, frame_obstack_alloc (sizeof (struct context)));
+ deprecated_set_frame_context (fi, frame_obstack_zalloc (sizeof (struct context)));
UNWIND_CONTEXT (fi)->reg =
- frame_obstack_alloc (sizeof (struct context_reg) * NUM_REGS);
+ frame_obstack_zalloc (sizeof (struct context_reg) * NUM_REGS);
memset (UNWIND_CONTEXT (fi)->reg, 0,
sizeof (struct context_reg) * NUM_REGS);
diff --git a/gdb/frame.c b/gdb/frame.c
index ec2aab1b3fb..acc163e452c 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -456,17 +456,18 @@ static struct frame_info *current_frame;
static struct obstack frame_cache_obstack;
void *
-frame_obstack_alloc (unsigned long size)
+frame_obstack_zalloc (unsigned long size)
{
- return obstack_alloc (&frame_cache_obstack, size);
+ void *data = obstack_alloc (&frame_cache_obstack, size);
+ memset (data, 0, size);
+ return data;
}
CORE_ADDR *
frame_saved_regs_zalloc (struct frame_info *fi)
{
fi->saved_regs = (CORE_ADDR *)
- frame_obstack_alloc (SIZEOF_FRAME_SAVED_REGS);
- memset (fi->saved_regs, 0, SIZEOF_FRAME_SAVED_REGS);
+ frame_obstack_zalloc (SIZEOF_FRAME_SAVED_REGS);
return fi->saved_regs;
}
@@ -605,14 +606,13 @@ frame_saved_regs_register_unwind (struct frame_info *frame, void **cache,
{
int sizeof_cache = ((NUM_REGS + NUM_PSEUDO_REGS)
* sizeof (void *));
- regs = frame_obstack_alloc (sizeof_cache);
- memset (regs, 0, sizeof_cache);
+ regs = frame_obstack_zalloc (sizeof_cache);
(*cache) = regs;
}
if (regs[regnum] == NULL)
{
regs[regnum]
- = frame_obstack_alloc (REGISTER_RAW_SIZE (regnum));
+ = frame_obstack_zalloc (REGISTER_RAW_SIZE (regnum));
read_memory (frame->saved_regs[regnum], regs[regnum],
REGISTER_RAW_SIZE (regnum));
}
@@ -847,12 +847,7 @@ create_new_frame (CORE_ADDR addr, CORE_ADDR pc)
struct frame_info *fi;
enum frame_type type;
- fi = (struct frame_info *)
- obstack_alloc (&frame_cache_obstack,
- sizeof (struct frame_info));
-
- /* Zero all fields by default. */
- memset (fi, 0, sizeof (struct frame_info));
+ fi = frame_obstack_zalloc (sizeof (struct frame_info));
fi->frame = addr;
fi->pc = pc;
@@ -1018,10 +1013,7 @@ get_prev_frame (struct frame_info *next_frame)
return 0;
/* Create an initially zero previous frame. */
- prev = (struct frame_info *)
- obstack_alloc (&frame_cache_obstack,
- sizeof (struct frame_info));
- memset (prev, 0, sizeof (struct frame_info));
+ prev = frame_obstack_zalloc (sizeof (struct frame_info));
/* Link it in. */
next_frame->prev = prev;
@@ -1250,7 +1242,7 @@ deprecated_get_frame_saved_regs (struct frame_info *frame,
if (frame->saved_regs == NULL)
{
frame->saved_regs = (CORE_ADDR *)
- frame_obstack_alloc (SIZEOF_FRAME_SAVED_REGS);
+ frame_obstack_zalloc (SIZEOF_FRAME_SAVED_REGS);
}
if (saved_regs_addr == NULL)
{
@@ -1275,8 +1267,7 @@ get_frame_extra_info (struct frame_info *fi)
struct frame_extra_info *
frame_extra_info_zalloc (struct frame_info *fi, long size)
{
- fi->extra_info = frame_obstack_alloc (size);
- memset (fi->extra_info, 0, size);
+ fi->extra_info = frame_obstack_zalloc (size);
return fi->extra_info;
}
diff --git a/gdb/frame.h b/gdb/frame.h
index f32021cf0fa..fbe62756abc 100644
--- a/gdb/frame.h
+++ b/gdb/frame.h
@@ -310,7 +310,7 @@ extern struct frame_id frame_id_unwind (struct frame_info *frame);
UNWIND_CACHE is provided as mechanism for implementing a per-frame
local cache. It's initial value being NULL. Memory for that cache
- should be allocated using frame_obstack_alloc().
+ should be allocated using frame_obstack_zalloc().
Register window architectures (eg SPARC) should note that REGNUM
identifies the register for the previous frame. For instance, a
@@ -413,7 +413,7 @@ struct frame_info
/* Anything extra for this structure that may have been defined
in the machine dependent files. */
- /* Allocated by frame_obstack_alloc () which is called /
+ /* Allocated by frame_extra_info_zalloc () which is called /
initialized by INIT_EXTRA_FRAME_INFO */
struct frame_extra_info *extra_info;
@@ -472,7 +472,11 @@ enum print_what
#define SIZEOF_FRAME_SAVED_REGS \
(sizeof (CORE_ADDR) * (NUM_REGS+NUM_PSEUDO_REGS))
-extern void *frame_obstack_alloc (unsigned long size);
+/* Allocate zero initialized memory from the frame cache obstack.
+ Appendices to the frame info (such as the unwind cache) should
+ allocate memory using this method. */
+
+extern void *frame_obstack_zalloc (unsigned long size);
/* If FRAME_CHAIN_VALID returns zero it means that the given frame
is the outermost one and has no caller. */