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/mips-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/mips-tdep.c')
-rw-r--r-- | gdb/mips-tdep.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 2bd7127..7c95a4f 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -18,9 +18,10 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "defs.h" +#include "gdb_string.h" #include "frame.h" #include "inferior.h" #include "symtab.h" @@ -665,11 +666,22 @@ init_extra_frame_info(fci) if (proc_desc == &temp_proc_desc) { - fci->saved_regs = (struct frame_saved_regs*) - obstack_alloc (&frame_cache_obstack, - sizeof (struct frame_saved_regs)); - *fci->saved_regs = temp_saved_regs; - fci->saved_regs->regs[PC_REGNUM] = fci->saved_regs->regs[RA_REGNUM]; + char *name; + + /* Do not set the saved registers for a sigtramp frame, + mips_find_saved_registers will do that for us. + We can't use fci->signal_handler_caller, it is not yet set. */ + find_pc_partial_function (fci->pc, &name, + (CORE_ADDR *)NULL,(CORE_ADDR *)NULL); + if (!IN_SIGTRAMP (fci->pc, name)) + { + fci->saved_regs = (struct frame_saved_regs*) + obstack_alloc (&frame_cache_obstack, + sizeof (struct frame_saved_regs)); + *fci->saved_regs = temp_saved_regs; + fci->saved_regs->regs[PC_REGNUM] + = fci->saved_regs->regs[RA_REGNUM]; + } } /* hack: if argument regs are saved, guess these contain args */ @@ -1026,7 +1038,7 @@ mips_do_registers_info (regnum, fpregs) } else { - int did_newline; + int did_newline = 0; for (regnum = 0; regnum < NUM_REGS; ) { |