* m68k-tdep.c (m68k_saved_pc_after_call): Use 'GDB_TARGET_IS_SUN3'
[deliverable/binutils-gdb.git] / gdb / tm-rs6000.h
index 34d26065b70cd1bb870f99b473f253e7bd627fa7..1b0ffdebd3446176ea6d0a6f6194b8d637dd157d 100644 (file)
@@ -18,20 +18,6 @@ You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
-
-/* A successful ptrace(continue) might return errno != 0 in this particular port
-   of rs6000. I am not sure why. We will use this kludge and ignore it until
-   we figure out the real problem. */
-
-#define AIX_BUGGY_PTRACE_CONTINUE      \
-{ \
-  int ret = ptrace (PT_CONTINUE, inferior_pid, \
-                   (PTRACE_ARG3_TYPE) 1, signal, 0); \
-  if (errno) { \
-/*    printf ("ret: %d, errno: %d, signal: %d\n", ret, errno, signal); */ \
-    errno = 0; } \
-}
-
 extern int     symtab_relocated;
 
 /* Minimum possible text address in AIX */
@@ -98,6 +84,8 @@ struct aix_framedata {
   char frameless;                      /* true if frameless functions. */
 };
 
+void 
+function_frame_info PARAMS ((CORE_ADDR, struct aix_framedata *));
 
 /* Define the byte order of the machine.  */
 
@@ -491,43 +479,44 @@ extern unsigned int rs6000_struct_return_address;
 
 #define FRAME_FIND_SAVED_REGS(FRAME_INFO, FRAME_SAVED_REGS)            \
 {                                                                      \
-  int ii, frame_addr, func_start;                                      \
-  struct aix_framedata fdata;                                                  \
-                                                                               \
-  /* find the start of the function and collect info about its frame. */       \
-                                                                               \
-  func_start = get_pc_function_start ((FRAME_INFO)->pc) + FUNCTION_START_OFFSET;\
-  function_frame_info (func_start, &fdata);                                    \
-  bzero (&(FRAME_SAVED_REGS), sizeof (FRAME_SAVED_REGS));                      \
-                                                                               \
-  /* if there were any saved registers, figure out parent's stack pointer. */  \
-  frame_addr = 0;                                                              \
-  /* the following is true only if the frame doesn't have a call to alloca(),  \
-      FIXME. */                                                                        \
-  if (fdata.saved_fpr >= 0 || fdata.saved_gpr >= 0) {                          \
-    if ((FRAME_INFO)->prev && (FRAME_INFO)->prev->frame)                       \
-      frame_addr = (FRAME_INFO)->prev->frame;                                  \
-    else                                                                       \
-      frame_addr = read_memory_integer ((FRAME_INFO)->frame, 4);               \
-  }                                                                            \
-                                                                               \
-  /* if != -1, fdata.saved_fpr is the smallest number of saved_fpr. All fpr's  \
-     from saved_fpr to fp31 are saved right underneath caller stack pointer,   \
-     starting from fp31 first. */                                              \
-                                                                               \
-  if (fdata.saved_fpr >= 0) {                                                  \
-    for (ii=31; ii >= fdata.saved_fpr; --ii)                                   \
-      (FRAME_SAVED_REGS).regs [FP0_REGNUM + ii] = frame_addr - ((32 - ii) * 8);        \
-    frame_addr -= (32 - fdata.saved_fpr) * 8;                                  \
-  }                                                                            \
-                                                                               \
-  /* if != -1, fdata.saved_gpr is the smallest number of saved_gpr. All gpr's  \
-     from saved_gpr to gpr31 are saved right under saved fprs, starting                \
-     from r31 first. */                                                                \
-                                                                               \
-  if (fdata.saved_gpr >= 0)                                                    \
-    for (ii=31; ii >= fdata.saved_gpr; --ii)                                   \
-      (FRAME_SAVED_REGS).regs [ii] = frame_addr - ((32 - ii) * 4);             \
+  int ii;                                                              \
+  CORE_ADDR frame_addr, func_start;                                    \
+  struct aix_framedata fdata;                                          \
+                                                                       \
+  /* find the start of the function and collect info about its frame. */\
+                                                                       \
+  func_start = get_pc_function_start ((FRAME_INFO)->pc) + FUNCTION_START_OFFSET; \
+  function_frame_info (func_start, &fdata);                            \
+  bzero (&(FRAME_SAVED_REGS), sizeof (FRAME_SAVED_REGS));              \
+                                                                       \
+  /* if there were any saved registers, figure out parent's stack pointer. */ \
+  frame_addr = 0;                                                      \
+  /* the following is true only if the frame doesn't have a call to alloca(), \
+      FIXME. */                                                                \
+  if (fdata.saved_fpr >= 0 || fdata.saved_gpr >= 0) {                  \
+    if ((FRAME_INFO)->prev && (FRAME_INFO)->prev->frame)               \
+      frame_addr = (FRAME_INFO)->prev->frame;                          \
+    else                                                               \
+      frame_addr = read_memory_integer ((FRAME_INFO)->frame, 4);       \
+  }                                                                    \
+                                                                       \
+  /* if != -1, fdata.saved_fpr is the smallest number of saved_fpr. All fpr's \
+     from saved_fpr to fp31 are saved right underneath caller stack pointer, \
+     starting from fp31 first. */                                      \
+                                                                       \
+  if (fdata.saved_fpr >= 0) {                                          \
+    for (ii=31; ii >= fdata.saved_fpr; --ii)                           \
+      (FRAME_SAVED_REGS).regs [FP0_REGNUM + ii] = frame_addr - ((32 - ii) * 8); \
+    frame_addr -= (32 - fdata.saved_fpr) * 8;                          \
+  }                                                                    \
+                                                                       \
+  /* if != -1, fdata.saved_gpr is the smallest number of saved_gpr. All gpr's \
+     from saved_gpr to gpr31 are saved right under saved fprs, starting        \
+     from r31 first. */                                                        \
+                                                                       \
+  if (fdata.saved_gpr >= 0)                                            \
+    for (ii=31; ii >= fdata.saved_gpr; --ii)                           \
+      (FRAME_SAVED_REGS).regs [ii] = frame_addr - ((32 - ii) * 4);     \
 }
 
 \f
This page took 0.025982 seconds and 4 git commands to generate.