[RFA] Fix recent compilation errors in alpha-nat.c on alpha-osf
Joel Brobecker
brobecker@ACT-Europe.FR
Mon Apr 22 06:42:00 GMT 2002
I tested the following change on Tru64 5.1. I made the small change
possible to allow this code to compile again, there is probably a better
way to write this code, but I'm not very familiar with this part of the
code...
Ideas for a better fix are welcome.
2002-04-22 J. Brobecker <brobecker@gnat.com>
* alpha-nat.c (fetch_osf_core_registers): Fix compilation errors
due to NUM_REGS and MAX_REGISTER_RAW_SIZE not being constants
anymore after a recent multi-arching effort.
(supply_gregset): Ditto
--
Joel
-------------- next part --------------
Index: alpha-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/alpha-nat.c,v
retrieving revision 1.9
diff -c -3 -p -r1.9 alpha-nat.c
*** alpha-nat.c 21 Apr 2002 16:52:39 -0000 1.9
--- alpha-nat.c 22 Apr 2002 13:32:32 -0000
*************** fetch_osf_core_registers (char *core_reg
*** 101,107 ****
OSF/1.2 core files. OSF5 uses different names for the register
enum list, need to handle two cases. The actual values are the
same. */
! static int core_reg_mapping[NUM_REGS] =
{
#ifdef NCF_REGS
#define EFL NCF_REGS
--- 101,107 ----
OSF/1.2 core files. OSF5 uses different names for the register
enum list, need to handle two cases. The actual values are the
same. */
! static int core_reg_mapping[] =
{
#ifdef NCF_REGS
#define EFL NCF_REGS
*************** fetch_osf_core_registers (char *core_reg
*** 127,134 ****
EF_PC, -1
#endif
};
! static char zerobuf[MAX_REGISTER_RAW_SIZE] =
! {0};
for (regno = 0; regno < NUM_REGS; regno++)
{
--- 127,139 ----
EF_PC, -1
#endif
};
! char *zerobuf = alloca (MAX_REGISTER_RAW_SIZE * sizeof (char));
!
! if (sizeof (core_reg_mapping) != NUM_REGS)
! internal_error (__FILE__, __LINE__,
! "Invalid number of elements in register mapping array.");
!
! memset (zerobuf, 0, MAX_REGISTER_RAW_SIZE * sizeof (char));
for (regno = 0; regno < NUM_REGS; regno++)
{
*************** supply_gregset (gdb_gregset_t *gregsetp)
*** 222,229 ****
{
register int regi;
register long *regp = ALPHA_REGSET_BASE (gregsetp);
! static char zerobuf[MAX_REGISTER_RAW_SIZE] =
! {0};
for (regi = 0; regi < 31; regi++)
supply_register (regi, (char *) (regp + regi));
--- 227,235 ----
{
register int regi;
register long *regp = ALPHA_REGSET_BASE (gregsetp);
! char *zerobuf = alloca (MAX_REGISTER_RAW_SIZE * sizeof (char));
!
! memset (zerobuf, 0, MAX_REGISTER_RAW_SIZE * sizeof (char));
for (regi = 0; regi < 31; regi++)
supply_register (regi, (char *) (regp + regi));
More information about the Gdb-patches
mailing list