diff options
author | John Gilmore <gnu@cygnus> | 1992-08-29 04:22:31 +0000 |
---|---|---|
committer | John Gilmore <gnu@cygnus> | 1992-08-29 04:22:31 +0000 |
commit | d6434f3974a54ad6498c23327414c01ca3a5241c (patch) | |
tree | 5feac365af4bda78758ac9304b3f8defeb1cd13b /gdb/tm-rs6000.h | |
parent | d26c07d12457b914365ca967d51b96bf8e0346bc (diff) | |
download | gdb-d6434f3974a54ad6498c23327414c01ca3a5241c.zip gdb-d6434f3974a54ad6498c23327414c01ca3a5241c.tar.gz gdb-d6434f3974a54ad6498c23327414c01ca3a5241c.tar.bz2 |
Minor bug fixes from last big checkin.
Diffstat (limited to 'gdb/tm-rs6000.h')
-rw-r--r-- | gdb/tm-rs6000.h | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/gdb/tm-rs6000.h b/gdb/tm-rs6000.h index 34d2606..1adcc86 100644 --- a/gdb/tm-rs6000.h +++ b/gdb/tm-rs6000.h @@ -98,6 +98,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 +493,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); \ } |