diff options
author | Jeff Law <law@gcc.gnu.org> | 1994-07-11 14:45:30 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1994-07-11 14:45:30 -0600 |
commit | 6a5c0a8e2615dae942e84ac3bfe1b9920096e54b (patch) | |
tree | 5f3007d8c14d1d88c673b7e52847b48d8f35bfed /gcc | |
parent | 6776d739554845139826c7eb000da2944380b4f0 (diff) | |
download | gcc-6a5c0a8e2615dae942e84ac3bfe1b9920096e54b.zip gcc-6a5c0a8e2615dae942e84ac3bfe1b9920096e54b.tar.gz gcc-6a5c0a8e2615dae942e84ac3bfe1b9920096e54b.tar.bz2 |
pa.h (DEBUGGER_ARG_OFFSET): Define.
* pa.h (DEBUGGER_ARG_OFFSET): Define. If no frame pointer
is available, then adjust the offset by the size of the
current frame.
From-SVN: r7713
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/pa/pa.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index f328077..2991f4f 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -140,8 +140,8 @@ extern int target_flags; /* GDB always assumes the current function's frame begins at the value of the stack pointer upon entry to the current function. Accessing - local variables is done using the base of the frame + an offset - provided by GCC. + local variables and parameters passed on the stack is done using the + base of the frame + an offset provided by GCC. For functions which have frame pointers this method works fine; the (frame pointer) == (stack pointer at function entry) and GCC provides @@ -155,6 +155,10 @@ extern int target_flags; ((GET_CODE (X) == PLUS ? INTVAL (XEXP (X, 1)) : 0) \ + (frame_pointer_needed ? 0 : compute_frame_size (get_frame_size (), 0))) +#define DEBUGGER_ARG_OFFSET(OFFSET, X) \ + ((GET_CODE (X) == PLUS ? OFFSET : 0) \ + + (frame_pointer_needed ? 0 : compute_frame_size (get_frame_size (), 0))) + #if (TARGET_DEFAULT & 1) == 0 #define CPP_SPEC "%{msnake:-D__hp9000s700 -D_PA_RISC1_1}\ %{mpa-risc-1-1:-D__hp9000s700 -D_PA_RISC1_1}" |