summaryrefslogtreecommitdiff
path: root/gcc/config/ia64/linux.h
diff options
context:
space:
mode:
authorhboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-26 21:27:12 +0000
committerhboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-26 21:27:12 +0000
commit8546dce905d1083b2ef8e94b0435bff38466b590 (patch)
tree01f993857ea63fb867e361ce496881729f4c71fb /gcc/config/ia64/linux.h
parentce3319d9f640a4197f987c11f5261f5e00cb56dd (diff)
downloadgcc-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.h8
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. */ \