diff options
author | hboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-26 21:27:12 +0000 |
---|---|---|
committer | hboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-26 21:27:12 +0000 |
commit | 8546dce905d1083b2ef8e94b0435bff38466b590 (patch) | |
tree | 01f993857ea63fb867e361ce496881729f4c71fb /gcc/config/ia64/linux.h | |
parent | ce3319d9f640a4197f987c11f5261f5e00cb56dd (diff) | |
download | gcc-8546dce905d1083b2ef8e94b0435bff38466b590.tar.gz |
* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
Restore more of the signal context. Set no_reg_stack_frame.
* config/ia64/unwind-ia64.c (unw_state_record):
Add no_reg_stack_frame, comments.
(uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
(uw_update_context): Adjust bsp when unwinding from leaf,
but not signal frame.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51407 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/ia64/linux.h')
-rw-r--r-- | gcc/config/ia64/linux.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h index 1889ef6fa8a..ac77af2e01b 100644 --- a/gcc/config/ia64/linux.h +++ b/gcc/config/ia64/linux.h @@ -98,10 +98,16 @@ (CONTEXT)->pfs_loc = &(sc_->sc_ar_pfs); \ (CONTEXT)->lc_loc = &(sc_->sc_ar_lc); \ (CONTEXT)->unat_loc = &(sc_->sc_ar_unat); \ + (CONTEXT)->br_loc[0] = &(sc_->sc_br[0]); \ + (CONTEXT)->bsp = sc_->sc_ar_bsp; \ (CONTEXT)->pr = sc_->sc_pr; \ (CONTEXT)->psp = sc_->sc_gr[12]; \ + (CONTEXT)->gp = sc_->sc_gr[1]; \ + /* Signal frame doesn't have an associated reg. stack frame \ + other than what we adjust for below. */ \ + (FS) -> no_reg_stack_frame = 1; \ \ - /* Don't touch the branch registers. The kernel doesn't \ + /* Don't touch the branch registers o.t. b0. The kernel doesn't \ pass the preserved branch registers in the sigcontext but \ leaves them intact, so there's no need to do anything \ with them here. */ \ |