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));