* config/mips/tm-linux.h (REALTIME_LO, REALTIME_HI): Define
authorDaniel Jacobowitz <drow@false.org>
Mon, 19 Aug 2002 14:24:56 +0000 (14:24 +0000)
committerDaniel Jacobowitz <drow@false.org>
Mon, 19 Aug 2002 14:24:56 +0000 (14:24 +0000)
        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.

gdb/ChangeLog
gdb/config/mips/tm-linux.h
gdb/mips-linux-tdep.c

index 4b90dc8e0d497b1eba1c79c15f52973dead2d47d..f85159396ae6c1e76703d3ddd7b0d7d0a4009a98 100644 (file)
@@ -1,3 +1,14 @@
+2002-08-19  Daniel Jacobowitz  <drow@mvista.com>
+
+       * 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.
+
 2002-08-19  Pierre Muller  <muller@ics.u-strasbg.fr>
 
        * i387-tdep.c (i387_print_float_info): Fix typo in comment.
index 4236ea8bec455b920448bd7f0e9ccbfa07f5198b..68233c0a61be08e43985028ede803396920b9faa 100644 (file)
 
 /* GNU/Linux MIPS has __SIGRTMAX == 127.  */
 
+#ifndef REALTIME_LO
 #define REALTIME_LO 32
 #define REALTIME_HI 128
+#endif
 
 #include "config/tm-linux.h"
 
@@ -51,8 +53,8 @@ extern struct link_map_offsets *mips_linux_svr4_fetch_link_map_offsets (void);
 
 /* Details about jmp_buf.  */
 
-#define JB_ELEMENT_SIZE 4
-#define JB_PC 0
+#define MIPS_LINUX_JB_ELEMENT_SIZE 4
+#define MIPS_LINUX_JB_PC 0
 
 /* Figure out where the longjmp will land.  Slurp the arguments out of the
    stack.  We expect the first arg to be a pointer to the jmp_buf structure
index 3706e2d8673ce783f66bda69f5ba779a63e16664..b8d41db2e3be79dabe855cecc394a9315e18f860 100644 (file)
@@ -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,