Article View: gnu.gdb.bug
Article #10088[eirik@elf.tn.cornell.edu: sparc core files and gdb 3.90.11]
From: rms
Date: Sun, 29 Jul 1990 02:22
Date: Sun, 29 Jul 1990 02:22
195 lines
6856 bytes
6856 bytes
Return-Path: <eirik@elf.tn.cornell.edu>
Date: Fri, 27 Jul 90 19:39:07 EDT
From: "Eirik Fuller" <eirik@elf.tn.cornell.edu>
To: rms@ai.mit.edu
Subject: sparc core files and gdb 3.90.11
Sorry I don't know where to send this; it doesn't seem appropriate for
bug-gdb since the bug described here does not exist in gdb 3.5, the
most recent official release I know of. A couple of months ago I'd
have sent it to Jim Kingdon. I'm open to suggestions about better
places to send reports like this.
With gdb 3.90.11, the last gdb.tar.Z that Jim made on pogo, gdb is
unable to find registers in a core file. With the enclosed patches,
it does find the register values. I don't know where the value
0xff000000 came from, but the correct value, USRSTACK from vmparam.h,
is how gdb 3.5 defines STACK_END_ADDR; numerically, it is 0xf8000000
*** sparc-xdep.c~ Fri Apr 20 21:33:53 1990
--- sparc-xdep.c Fri Jul 27 13:49:05 1990
***************
*** 235,240 ****
--- 235,241 ----
®isters[REGISTER_BYTE (FPS_REGNUM)],
sizeof (FPU_FSR_TYPE));
#endif
+ registers_fetched ();
bcopy (&corestr.c_aouthdr, &core_aouthdr, sizeof (struct exec));
*** tm-sparc.h~ Mon Jun 4 18:13:20 1990
--- tm-sparc.h Fri Jul 27 19:27:45 1990
***************
*** 81,87 ****
#define SAVED_PC_AFTER_CALL(frame) PC_ADJUST (read_register (RP_REGNUM))
! #define STACK_END_ADDR 0xff000000
#define INNER_THAN <
--- 81,89 ----
#define SAVED_PC_AFTER_CALL(frame) PC_ADJUST (read_register (RP_REGNUM))
! #include <sys/types.h>
! #include <machine/vmparam.h>
! #define STACK_END_ADDR USRSTACK
#define INNER_THAN <
*** findvar.c~ Thu Jul 26 14:03:39 1990
--- findvar.c Fri Jul 27 13:49:27 1990
***************
*** 221,227 ****
{
int i;
for (i = 0; i < NUM_REGS; i++)
! register_valid[i] = 0;
}
/* Fetch register REGNO, or all regs if regno == -1. */
--- 221,227 ----
{
int i;
for (i = 0; i < NUM_REGS; i++)
! register_valid[i] = 1;
}
/* Fetch register REGNO, or all regs if regno == -1. */
*** findvar.c~ Fri May 4 12:28:40 1990
--- findvar.c Sat Jun 16 03:57:24 1990
***************
*** 156,162 ****
if (regnum == FP_REGNUM)
{
bcopy (&FRAME_FP(selected_frame), myaddr, sizeof (CORE_ADDR));
! return;
}
get_saved_register (myaddr, &optim, NULL, selected_frame, regnum);
--- 156,162 ----
if (regnum == FP_REGNUM)
{
bcopy (&FRAME_FP(selected_frame), myaddr, sizeof (CORE_ADDR));
! return 0;
}
get_saved_register (myaddr, &optim, NULL, selected_frame, regnum);
*** sparc-xdep.c~ Fri Apr 20 21:33:53 1990
--- sparc-xdep.c Fri Jul 27 13:49:05 1990
***************
*** 235,240 ****
--- 235,241 ----
®isters[REGISTER_BYTE (FPS_REGNUM)],
sizeof (FPU_FSR_TYPE));
#endif
+ registers_fetched ();
bcopy (&corestr.c_aouthdr, &core_aouthdr, sizeof (struct exec));
*** tm-sparc.h.orig Mon Jun 4 18:13:20 1990
--- tm-sparc.h Fri Jul 27 19:27:45 1990
***************
*** 81,87 ****
#define SAVED_PC_AFTER_CALL(frame) PC_ADJUST (read_register (RP_REGNUM))
! #define STACK_END_ADDR 0xff000000
#define INNER_THAN <
--- 81,89 ----
#define SAVED_PC_AFTER_CALL(frame) PC_ADJUST (read_register (RP_REGNUM))
! #include <sys/types.h>
! #include <machine/vmparam.h>
! #define STACK_END_ADDR USRSTACK
#define INNER_THAN <
***************
*** 515,521 ****
CORE_ADDR pc = read_register (PC_REGNUM) - 8; \
CORE_ADDR rp = read_register (RP_REGNUM); \
void do_save_insn (); \
! supply_register (RP_REGNUM, &pc); \
do_save_insn (0x140); \
fp = read_register (FP_REGNUM); \
write_memory (fp - 0x80, ®isters[REGISTER_BYTE (FP0_REGNUM)], 32 * 4);\
--- 517,523 ----
CORE_ADDR pc = read_register (PC_REGNUM) - 8; \
CORE_ADDR rp = read_register (RP_REGNUM); \
void do_save_insn (); \
! write_register (RP_REGNUM, pc); \
do_save_insn (0x140); \
fp = read_register (FP_REGNUM); \
write_memory (fp - 0x80, ®isters[REGISTER_BYTE (FP0_REGNUM)], 32 * 4);\
*** tm-sparc.h~ Mon Jun 4 18:13:20 1990
--- tm-sparc.h Mon Jun 18 03:46:17 1990
***************
*** 81,87 ****
#define SAVED_PC_AFTER_CALL(frame) PC_ADJUST (read_register (RP_REGNUM))
! #define STACK_END_ADDR 0xff000000
#define INNER_THAN <
--- 81,87 ----
#define SAVED_PC_AFTER_CALL(frame) PC_ADJUST (read_register (RP_REGNUM))
! #define STACK_END_ADDR 0xf8000000
#define INNER_THAN <
***************
*** 515,521 ****
CORE_ADDR pc = read_register (PC_REGNUM) - 8; \
CORE_ADDR rp = read_register (RP_REGNUM); \
void do_save_insn (); \
! supply_register (RP_REGNUM, &pc); \
do_save_insn (0x140); \
fp = read_register (FP_REGNUM); \
write_memory (fp - 0x80, ®isters[REGISTER_BYTE (FP0_REGNUM)], 32 * 4);\
--- 515,521 ----
CORE_ADDR pc = read_register (PC_REGNUM) - 8; \
CORE_ADDR rp = read_register (RP_REGNUM); \
void do_save_insn (); \
! write_register (RP_REGNUM, pc); \
do_save_insn (0x140); \
fp = read_register (FP_REGNUM); \
write_memory (fp - 0x80, ®isters[REGISTER_BYTE (FP0_REGNUM)], 32 * 4);\
*** tm-sparc.h~ Mon Jun 4 18:13:20 1990
--- tm-sparc.h Mon Jun 18 03:46:17 1990
***************
*** 515,521 ****
CORE_ADDR pc = read_register (PC_REGNUM) - 8; \
CORE_ADDR rp = read_register (RP_REGNUM); \
void do_save_insn (); \
! supply_register (RP_REGNUM, &pc); \
do_save_insn (0x140); \
fp = read_register (FP_REGNUM); \
write_memory (fp - 0x80, ®isters[REGISTER_BYTE (FP0_REGNUM)], 32 * 4);\
--- 515,521 ----
CORE_ADDR pc = read_register (PC_REGNUM) - 8; \
CORE_ADDR rp = read_register (RP_REGNUM); \
void do_save_insn (); \
! write_register (RP_REGNUM, pc); \
do_save_insn (0x140); \
fp = read_register (FP_REGNUM); \
write_memory (fp - 0x80, ®isters[REGISTER_BYTE (FP0_REGNUM)], 32 * 4);\
Technical Details
Message-ID:
<9007290222.AA20891@sugar-bombs.ai.mit.edu>Path:
arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!tut.cis.ohio-state.edu!AI.MIT.EDU!rmsShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f5053,5e82c437ccf49dbb,start X-Google-Attributes: gidf5053,public X-Google-ArrivalTime: 1990-07-28 19:22:05 PST Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!tut.cis.ohio-state.edu!AI.MIT.EDU!rms From: rms@AI.MIT.EDU Newsgroups: gnu.gdb.bug Subject: [eirik@elf.tn.cornell.edu: sparc core files and gdb 3.90.11] Message-ID: <9007290222.AA20891@sugar-bombs.ai.mit.edu> Date: 29 Jul 90 02:22:05 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 195 Posted: Sun Jul 29 03:22:05 1990