diff options
author | Richard Henderson <rth@cygnus.com> | 2000-08-08 02:08:55 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-08-08 02:08:55 -0700 |
commit | db2e2f480c906879dad6930e4fe0784a52814426 (patch) | |
tree | a56e49b5ea637aa6a95652c40bb2747a9110ca5d /gcc/frame.h | |
parent | 2a3e384f15e6f10fc62b27c6671d899b083fed97 (diff) | |
download | gcc-db2e2f480c906879dad6930e4fe0784a52814426.zip gcc-db2e2f480c906879dad6930e4fe0784a52814426.tar.gz gcc-db2e2f480c906879dad6930e4fe0784a52814426.tar.bz2 |
frame.h (ia64_frame_state): Add my_psp.
* frame.h (ia64_frame_state): Add my_psp.
* libgcc2.c (ia64_throw_helper): Add throw_sp argument.
(__throw): Pass it in. Don't clobber r7.
* config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline.
(execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when
and nothing to do with sp.
(normalize_reg_loc): Use frame->my_psp.
(frame_translate): Handle frame-pointer-less functions. Set
spill_base correctly, in absence of being told.
(__build_ia64_frame_state): New sp argument. Fill in frame->my_sp.
(__ia64_backtrace_helper): New sp argument. Use
builtin_return_address instead of label addresses.
(print_record) [mem_stack_v]: No size member.
From-SVN: r35565
Diffstat (limited to 'gcc/frame.h')
-rw-r--r-- | gcc/frame.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/frame.h b/gcc/frame.h index dc44561..472d358 100644 --- a/gcc/frame.h +++ b/gcc/frame.h @@ -248,6 +248,7 @@ typedef struct ia64_frame_state ia64_reg_loc sp; ia64_reg_loc psp; ia64_reg_loc spill_base; + void *my_psp; void *my_sp; void *my_bsp; } ia64_frame_state; @@ -267,7 +268,8 @@ typedef struct unwind_info_ptr #define IA64_UNW_HDR_VERSION(x) (((x) >> 48) & 0xffffUL) extern unwind_info_ptr *__build_ia64_frame_state (unsigned char *, - ia64_frame_state *, void *, + ia64_frame_state *, + void *, void *, void **); extern void *__get_real_reg_value (ia64_reg_loc *); extern void *__get_personality (unwind_info_ptr *); |