Thread View: gnu.gdb.bug
1 messages
1 total messages
Started by David C Lawrence
Tue, 14 Mar 1989 18:59
gdb under sunos 4.0
Author: David C Lawrence
Date: Tue, 14 Mar 1989 18:59
Date: Tue, 14 Mar 1989 18:59
67 lines
3412 bytes
3412 bytes
(This is a re-request for help. I received no response on the first.)
In the Emacs 18.53 distribution, gdb is broken in SunOS 4.0 due to
changes in <sys/core.h>, which changed the struct in core.h which was
originally declared in <sun#/reg.h>. This is fixed by fixing the
references to that part of the struct in core.c.
Well, -almost- fixed. The pointer that used to be surrounded with
#ifdef's for sun in core.h are now surrounded by FPU. Unfortunately,
FPU is only #defined in reg.h if KERNEL is defined. Not knowing my
way well enough around 4.0, all I've done is #define FPU and hoped for
the best. It might work just fine, but because it is only defined if
KERNEL is (in theory), I fear I may have only replaced a broken
version that doesn't compile with a broken one that does. Would
someone either please tell me whether this patch is adequate or if it
made a serious blunder? Thanks.
(It is now three hours after I started this note and I am ready for
bed. In between doing other things, I remade gdb and now am unable to
run any programmes within gdb. It sets exec-file and load-file and
when it starts to run, it bombs out with a return code of 0177 and a
"crt0: /usr/lib/ld.so mapping failure". The following is the only
modifications I made; is this a SunOS 4.0 problem? Or is my waning
energy playing with my brain? Either way, you help is appreciated.)
*** core.orig.c Thu Mar 9 22:58:50 1989
--- core.c Fri Mar 10 00:28:50 1989
***************
*** 36,41 ****
--- 36,44 ----
#endif
#ifdef NEW_SUN_CORE
+ #ifndef FPU
+ #define FPU
+ #endif /* FPU */
#include <sys/core.h>
#else /* not NEW_SUN_CORE */
#ifdef UMAX_CORE
***************
*** 204,215 ****
bcopy (&corestr.c_regs, registers, 16 * 4);
*(int *)®isters[REGISTER_BYTE (PS_REGNUM)] = corestr.c_regs.r_ps;
*(int *)®isters[REGISTER_BYTE (PC_REGNUM)] = corestr.c_regs.r_pc;
! bcopy (corestr.c_fpstatus.fps_regs,
®isters[REGISTER_BYTE (FP0_REGNUM)],
! sizeof corestr.c_fpstatus.fps_regs);
! bcopy (&corestr.c_fpstatus.fps_control,
®isters[REGISTER_BYTE (FPC_REGNUM)],
! sizeof corestr.c_fpstatus - sizeof corestr.c_fpstatus.fps_regs);
bcopy (&corestr.c_aouthdr, &core_aouthdr, sizeof (struct exec));
--- 207,218 ----
bcopy (&corestr.c_regs, registers, 16 * 4);
*(int *)®isters[REGISTER_BYTE (PS_REGNUM)] = corestr.c_regs.r_ps;
*(int *)®isters[REGISTER_BYTE (PC_REGNUM)] = corestr.c_regs.r_pc;
! bcopy (corestr.c_fpu.f_fpstatus.fps_regs,
®isters[REGISTER_BYTE (FP0_REGNUM)],
! sizeof corestr.c_fpu.f_fpstatus.fps_regs);
! bcopy (&corestr.c_fpu.f_fpstatus.fps_control,
®isters[REGISTER_BYTE (FPC_REGNUM)],
! sizeof corestr.c_fpu.f_fpstatus - sizeof corestr.c_fpu.f_fpstatus.fps_regs);
bcopy (&corestr.c_aouthdr, &core_aouthdr, sizeof (struct exec));
--
tale@rpitsmts.bitnet, tale%mts@rpitsgw.rpi.edu, tale@pawl.rpi.edu
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads