aboutsummaryrefslogtreecommitdiff
path: root/gdb/mips-tdep.c
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1995-10-21 13:14:53 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1995-10-21 13:14:53 +0000
commit09af58685445072bdf77e9257632da71f979162c (patch)
treea9eb8ec564ac3f31945f3e767f6887260d134a40 /gdb/mips-tdep.c
parent8490169d216ca66f0d2a2a627d9be8aaadaa9ced (diff)
downloadgdb-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.c26
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; )
{