diff options
author | Peter Schauer <Peter.Schauer@mytum.de> | 1995-10-21 13:14:53 +0000 |
---|---|---|
committer | Peter Schauer <Peter.Schauer@mytum.de> | 1995-10-21 13:14:53 +0000 |
commit | 09af58685445072bdf77e9257632da71f979162c (patch) | |
tree | a9eb8ec564ac3f31945f3e767f6887260d134a40 /gdb/alpha-tdep.c | |
parent | 8490169d216ca66f0d2a2a627d9be8aaadaa9ced (diff) | |
download | gdb-09af58685445072bdf77e9257632da71f979162c.zip gdb-09af58685445072bdf77e9257632da71f979162c.tar.gz gdb-09af58685445072bdf77e9257632da71f979162c.tar.bz2 |
* alpha-tdep.c, mips-tdep.c (init_extra_frame_info):
Do not set saved registers from heuristics for a sigtramp frame.
* dwarfread.c (enum_type): Determine signedness of enum type
from enumerators.
* mips-tdep.c: Include gdb_string.h, gcc -Wall lint.
* rs6000-nat.c (xcoff_relocate_core): Fix typo.
* valops.c (value_repeat): Fix length of memory transfer to
match recent allocate_repeat_value change.
Diffstat (limited to 'gdb/alpha-tdep.c')
-rw-r--r-- | gdb/alpha-tdep.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index f3ba0eb..6ec6f6d 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -132,7 +132,7 @@ struct linked_proc_info } *linked_proc_desc_table = NULL; -/* Guaranteed to set fci->saved_regs to some values (it never leaves it +/* Guaranteed to set frame->saved_regs to some values (it never leaves it NULL). */ void @@ -652,11 +652,22 @@ init_extra_frame_info (frame) if (proc_desc == &temp_proc_desc) { - frame->saved_regs = (struct frame_saved_regs*) - obstack_alloc (&frame_cache_obstack, - sizeof (struct frame_saved_regs)); - *frame->saved_regs = temp_saved_regs; - frame->saved_regs->regs[PC_REGNUM] = frame->saved_regs->regs[RA_REGNUM]; + char *name; + + /* Do not set the saved registers for a sigtramp frame, + alpha_find_saved_registers will do that for us. + We can't use frame->signal_handler_caller, it is not yet set. */ + find_pc_partial_function (frame->pc, &name, + (CORE_ADDR *)NULL,(CORE_ADDR *)NULL); + if (!IN_SIGTRAMP (frame->pc, name)) + { + frame->saved_regs = (struct frame_saved_regs*) + obstack_alloc (&frame_cache_obstack, + sizeof (struct frame_saved_regs)); + *frame->saved_regs = temp_saved_regs; + frame->saved_regs->regs[PC_REGNUM] + = frame->saved_regs->regs[RA_REGNUM]; + } } } } |