diff options
author | Daniel Jacobowitz <drow@false.org> | 2002-08-19 14:24:56 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2002-08-19 14:24:56 +0000 |
commit | bf0729999558578f7f7e011b47c93a325b91ebf8 (patch) | |
tree | 20422c978d3baac308a1172a0279dd0a76b8deb4 /gdb/mips-linux-tdep.c | |
parent | 242f28010b35a65458caabe489b1c80d6b9679ce (diff) | |
download | gdb-bf0729999558578f7f7e011b47c93a325b91ebf8.zip gdb-bf0729999558578f7f7e011b47c93a325b91ebf8.tar.gz gdb-bf0729999558578f7f7e011b47c93a325b91ebf8.tar.bz2 |
* config/mips/tm-linux.h (REALTIME_LO, REALTIME_HI): Define
conditionally.
(JB_PC, JB_ELEMENT_SIZE): Rename to MIPS_LINUX_JB_PC and
MIPS_LINUX_JB_ELEMENT_SIZE.
* mips-linux-tdep.c (supply_gregset, fill_gregset): Use alloca
for MAX_REGISTER_RAW_SIZE arrays.
(mips_linux_get_longjmp_target): Use MIPS_LINUX_JB_PC and
MIPS_LINUX_JB_ELEMENT_SIZE.
Diffstat (limited to 'gdb/mips-linux-tdep.c')
-rw-r--r-- | gdb/mips-linux-tdep.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c index 3706e2d..b8d41db 100644 --- a/gdb/mips-linux-tdep.c +++ b/gdb/mips-linux-tdep.c @@ -56,8 +56,8 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; /* Figure out where the longjmp will land. We expect the first arg to be a pointer to the jmp_buf structure from - which we extract the pc (JB_PC) that we will land at. The pc is copied - into PC. This routine returns 1 on success. */ + which we extract the pc (MIPS_LINUX_JB_PC) that we will land at. The pc + is copied into PC. This routine returns 1 on success. */ int mips_linux_get_longjmp_target (CORE_ADDR *pc) @@ -67,8 +67,9 @@ mips_linux_get_longjmp_target (CORE_ADDR *pc) jb_addr = read_register (A0_REGNUM); - if (target_read_memory (jb_addr + JB_PC * JB_ELEMENT_SIZE, buf, - TARGET_PTR_BIT / TARGET_CHAR_BIT)) + if (target_read_memory (jb_addr + + MIPS_LINUX_JB_PC * MIPS_LINUX_JB_ELEMENT_SIZE, + buf, TARGET_PTR_BIT / TARGET_CHAR_BIT)) return 0; *pc = extract_address (buf, TARGET_PTR_BIT / TARGET_CHAR_BIT); @@ -83,7 +84,9 @@ supply_gregset (elf_gregset_t *gregsetp) { int regi; elf_greg_t *regp = *gregsetp; - static char zerobuf[MAX_REGISTER_RAW_SIZE] = {0}; + char *zerobuf = alloca (MAX_REGISTER_RAW_SIZE); + + memset (zerobuf, 0, MAX_REGISTER_RAW_SIZE); for (regi = EF_REG0; regi <= EF_REG31; regi++) supply_register ((regi - EF_REG0), (char *)(regp + regi)); @@ -172,7 +175,9 @@ void supply_fpregset (elf_fpregset_t *fpregsetp) { register int regi; - static char zerobuf[MAX_REGISTER_RAW_SIZE] = {0}; + char *zerobuf = alloca (MAX_REGISTER_RAW_SIZE); + + memset (zerobuf, 0, MAX_REGISTER_RAW_SIZE); for (regi = 0; regi < 32; regi++) supply_register (FP0_REGNUM + regi, |