Use ia64_get_abi_marker() instead of directly referencing c->last_abi_marker.
(linux_scratch_loc): When accessing an fp-reg, default to IA64_FPREG_LOC.
Handle more registers for the Linux interrupt-frame case.
(tdep_access_reg): Use ia64_get_abi() instead of c->as->abi.
Use ia64_is_big_endian() instead of c->as->big_endian.
(Logical change 1.294)
Drop include of <libunwind.h>.
Include "script.h" instead of "ia64/script.h".
2005/05/19 07:42:45-07:00 hp.com!davidm
Rename: include/tdep-ia64.h -> include/tdep-ia64/libunwind_i.h
(Logical change 1.294)
2005/05/17 14:14:24-07:00 hp.com!davidm
ia64: Fix AR.EC-handling for interrupt/signal-frames.
Call-frames created in response to an interruption are special because
CR.IFS contains only the current frame-marker, not the full function-state
(as normally saved in AR.PFS). Thus, in those frames we cannot use CR.IFS
(as pointed to by c->cfm_loc) to access AR.EC. Instead, we need to track
where AR.PFS was previously saved and use that location instead. We do
this now via the c->ec_loc member: by default, it is set to c->cfm_loc, but
the ABI-specific handlers can override this default-value with something
else (such as the previous c->cfm_loc).
BKrev: 428a61f3a7DlCyx8iAN6oWxAsLuqVw
2005/05/17 14:14:23-07:00 hp.com!davidm
(linux_sigtramp): Add "prev_cfm_loc" argument. Use it to set c->ec_loc.
(linux_interrupt): Likewise.
(hpux_sigtramp): Likewise.
(update_frame_state): Copy old cfm_loc to prev_cfm_loc and pass it to
ABI-specific handlers. Initialize c->ec_loc to c->cfm_loc by default.
(Logical change 1.293)
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind
2005/05/17 06:10:15-07:00 hp.com!davidm
ia64: Fix and clarify access to UNW_IA64_PR.
Access to the rotating portion of UNW_IA64_PR was busted. Also, libunwind
incorrectly attempted to rotate this portion when it should work like the
"move predicates" instructions and access them in unrotated form.
BKrev: 4289f0a1ct0tnWPxRhGJtsqeWkLfyA
2005/05/17 06:10:13-07:00 hp.com!davidm
(save_pr): Declare
(check_pr): New function.
(all_funcs): Mention save_pr/check_pr.
(random_word): New function.
(check_pr): Likewise.
(check_rotate_regs): Call check_pr().
(run_check): Use random_word() instead of random() to get a word full of
pseudo-random bits.
(Logical change 1.292)
to create NTHREADS threads. With NTHREADS==128 and the stack-size
rlimit set to "unlimited", the test is otherwise likely to fail because
on ia64 it will default to using 32MB of stack per thread.
(Logical change 1.291)