aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1994-07-11 14:45:30 -0600
committerJeff Law <law@gcc.gnu.org>1994-07-11 14:45:30 -0600
commit6a5c0a8e2615dae942e84ac3bfe1b9920096e54b (patch)
tree5f3007d8c14d1d88c673b7e52847b48d8f35bfed /gcc
parent6776d739554845139826c7eb000da2944380b4f0 (diff)
downloadgcc-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.h8
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}"