1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-12-25 20:43:42 +01:00
Commit graph

1253 commits

Author SHA1 Message Date
mostang.com!davidm
237a66bc21 Adjust for save-loc member renaming.
Adjust for renaming of Linux sigcontext offset macros.
(check_rbs_switch): Handle Linux-case only if abi_marker==ABI_MARKER_LINUX_SIGTRAMP.
(update_frame_state): For cursor's with a non-zero abi_marker, do special
	Linux or HP-UX sigtramp handling as appropriate.
	Clear abi_marker instead of is_signal_frame.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
f24e3d70a0 (unw_is_signal_frame): Return true for any cursor with a non-zero abi_marker.
(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
5adda54e79 (unw_get_save_loc): Adjust for unw_word_t -> ia64_loc_t changes.
(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
8bf1568dbf (script_new): Clear abi_marker to 0.
(emit_nat_info): For registers saved in a general-register, use IA64_INSN_SET_REG
	instead of IA64_INSN_SET.
	Set insn.dst to register number, instead of unw.preg_index[i].
(compile_reg): Set val directly to register number, instead of unw.preg_index[i].
	Use IA64_INSN_INC_PSP instead of IA64_INSN_ADD to pop a fixed stack frame.
(build_script): Handle signal-frames by directly copying abi_marker, rather than
	emitting an IA64_INSN_SET instruction.
(run_script): Copy abi_marker into cursor.  Rather than updating a word, update
	a save-location.  Only exceptions are IA64_INSN_INC_PSP and
	IA64_INSN_LOAD_PSP.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
693c4fa30c (libunwind_la_SOURCES_ia64): Rename _Uia64_install_context.S to
_Uia64_install_cursor.S.  Replace rbs-ia64.c with
	Grbs-ia64.c and Lrbs-ia64.c.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
f8d5624ee9 (ia64_strloc): New function to stringify a location.
(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
78a7c5a8c1 (ia64_script_insn_opcode): Rename IA64_INSN_ADD to IA64_INSN_INC_PSP,
and IA64_INSN_LOAD to IA64_INSN_LOAD_PSP.  Add IA64_INSN_SET_REG.
(struct ia64_script_insn): Add "abi_marker" member.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
ed67c3edb7 (ia64_pregnum): Rename IA64_REG_RP to IA64_REG_IP.
(ia64_loc_t): New type.  For UNW_LOCAL_ONLY, it's a single word, as before.
	For the generic case, it's a 2-word structure.  This provides enough
	space to encode all necessary info both for 32-bit targets (which require
	only 4-byte aligned addresses) and for targets which are limited to
	accessing ucontext_t values via uc_access(3).
(ABI_MARKER_LINUX_SIGTRAMP): New macro.
(ABI_MARKER_HP_UX_SIGTRAMP): New macro.
(struct cursor): Consolidate bsp_loc, bspstore_loc, pfs_loc, rnat_loc, ip_loc,
	pri_unat_loc, unat_loc, pr_loc, lc_loc, fpsr_loc, r4-r7_loc,
	b1-b5_loc, f2-f7_loc, and fr_loc[] into loc[] array.  Note that
	there is now a separate PSP-loc (loc[IA64_REG_PSP]) in addition
	to the cached psp value.
	Rename sigcontext_loc to sigcontext_addr.
	Remove is_signal_frame memeber and add abi_marker member instead.
	Change type of rbs_area[].rnat_loc to ia64_loc_t.
(struct ia64_global_unwind_state): Remove preg_index[] array.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
69dc9063ae (decode_abreg): Rename IA64_REG_RP -> IA64_REG_IP.
(UNW_REG_RP): Ditto.
(lookup_preg): Ditto.
(create_state_record_for): Ditto.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
f59f3d3569 (_Uia64_install_cursor): Rename from _Uia64_install_context().
Mask out only the least-significant 2 bits (rather than the least significant
	3 bits).

}(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
7ac1f4c998 (_Uia64_install_cursor): Rename from _Uia64_install_context().
Mask out only the least-significant 2 bits (rather than the least significant
	3 bits).

2003/04/22 22:15:48-07:00 mostang.com!davidm
Rename: src/ia64/_Uia64_install_context.S -> src/ia64/_Uia64_install_cursor.S

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
02920bf911 (UNW_LOCAL_ONLY): Define before including "internal.h".
Adjust for save-loc renaming.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
18b186bf30 (Logical change 1.84) 2003-04-23 05:56:59 +00:00
mostang.com!davidm
6da53a7b66 (LINUX_SIGFRAME_ARG2_OFF): Rename from SIGFRAME_ARG2_OFF.
(LINUX_SC_*): Rename from SIGCONTEXT_*.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
hp.com!davidm
307616bafb Regenerate.
(Logical change 1.83)
2003-04-21 23:37:15 +00:00
hp.com!davidm
49e6b6ffbb Regenerate src/Makefile.in.
BKrev: 3ea480abvtpUT4t5XOFaXoB6eHWfLA
2003-04-21 23:37:15 +00:00
hp.com!davidm
994d96e66d Manual merge.
2003/04/21 11:40:43-07:00 hp.com!davidm
Regenerate.

(Logical change 1.82)
2003-04-21 23:35:49 +00:00
hp.com!davidm
902352675c Manual merge.
2003/04/21 11:40:43-07:00 hp.com!davidm
Mention Gset-reg-x86.c.

BKrev: 3ea48055E1xM0KHqooT7Fh9C1wg2zw
2003-04-21 23:35:49 +00:00
hp.com!davidm
0c2b1a7020 Manual merge.
2003/04/21 11:40:43-07:00 hp.com!davidm
(libunwind_la_SOURCES_x86): Mention Gset-reg-x86.c.

(Logical change 1.82)
2003-04-21 23:35:49 +00:00
hp.com!davidm
5b90a927a1 (Logical change 1.81) 2003-04-21 23:14:14 +00:00
hp.com!davidm
eacc4f2073 Initial revision 2003-04-21 23:14:14 +00:00
hp.com!davidm
97bb02decb Fix up x86 implementation sufficiently to get at least through some of
the test-suite.  At the moment, a debian/unstable system will pass
5 out of 10 tests.  Not bad, actually.

BKrev: 3ea47b46irKJW4lXSgzLVizwW1jOMg
2003-04-21 23:14:14 +00:00
hp.com!davidm
63a539999d (x86_access_reg): Add a debug statement so accesses to bad register numbers
can be seen with debugging enabled.

(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
c91cfd2f5d (unw_is_signal_frame): On Linux, do code-reading to see if a given cursor
is a signal-frame.  This will break if the 8 bytes at EIP are not
	readable.


(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
2c7e76f27a (unw_get_proc_info): Implement a minimalistic version for x86.
(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
5c2c73523c (siglongjmp): If there aren't at least 4 eh-regs, abort() for now. In
the future, we may want to support this for real by putting the
	necessary info on the stack.

(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
33e6e3fc1e (libunwind_la_SOURCES_x86): Mention regname-x86.c, Ginit_remote-x86.c,
Gis_signal_frame-x86.c, Gcreate_addr_space.c, Lcreate_addr_space.c,
	Linit_remote-x86,  and Lis_signal_frame-x86.c.

(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
07721f3487 (get_static_proc_name): New function.
(x86_local_addr_space_init): Initialize get_proc_name() callback.

(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
6c3716a92a (flush_cache): Implement x86-version as a no-op.
(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
79f981aaf7 (_U_TDEP_QP_TRUE): New macro.
(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
bbfe13cce0 (_UPT_reg_offset): Fix off-by-1 error.
(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
060850b2c7 (_UPT_access_reg): When ptrace() returns an error, branch to common
"badreg" error handler.

(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
de5b16e4a8 (_UI_siglongjmp_cont): Implement a dummy handler.
(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
ade160f6a1 (STACK_SIZE): New macro. On x86, use 2*SIGSTKSZ, because the default-size
of 8KB is just too small to do anything reasonable.
(main): Use STACK_SIZE instead of SIGSTKSZ.

(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
508f65f8b9 Regenerate.
(Logical change 1.80)
2003-04-21 18:56:16 +00:00
hp.com!davidm
b52964ae93 Mention Lset_reg-x86.c in Makefile.am.
BKrev: 3ea43ed0qn8YaKOnFfhsUbQraAHcAQ
2003-04-21 18:56:16 +00:00
hp.com!davidm
ed625d646e (libunwind_la_SOURCES_x86): Mention Lset_reg-x86.c.
(Logical change 1.80)
2003-04-21 18:56:16 +00:00
hp.com!davidm
796bd962e3 Regenerate.
(Logical change 1.79)
2003-04-21 18:46:23 +00:00
hp.com!davidm
673202d4b6 Mention Gset_reg-x86.c in Makefile.am.
BKrev: 3ea43c7fKWESKeH80RW-5Vri4p608g
2003-04-21 18:46:23 +00:00
hp.com!davidm
1b770df7ef (libunwind_la_SOURCES_x86): Mention Gset_reg-x86.c.
(Logical change 1.79)
2003-04-21 18:46:23 +00:00
mostang.com!davidm
2b6bb97b73 TODO:
new file

BKrev: 3ea43ab8FYmclmZj-Nd3hIbJD-TNCQ
2003-04-21 18:38:48 +00:00
mostang.com!davidm
1cabc10100 (Logical change 1.78) 2003-04-21 18:38:48 +00:00
mostang.com!davidm
8c84eddb41 Initial revision 2003-04-21 18:38:48 +00:00
mostang.com!davidm
0ba8ae44bc Fix up hp-ux support some more. It works for some simple unwinding purposes, but
unwinding across signals doesn't (and can't) work at the moment.

BKrev: 3e933ba8oySwu4USgXnuugmmagOteg
2003-04-08 21:14:16 +00:00
mostang.com!davidm
60b8811527 (update_frame_state): On HP-UX, catch ucontext_t location from r32.
(Logical change 1.77)
2003-04-08 21:14:16 +00:00
mostang.com!davidm
fb293ae33d (struct unwind_header): Rename member "unknown1" to "format".
(Logical change 1.77)
2003-04-08 21:14:16 +00:00
mostang.com!davidm
d9ba5fb915 (desc_abi): Also recognize ".unwabi @hpux, 1" as a signal trampoline.
(Logical change 1.77)
2003-04-08 21:14:16 +00:00
mostang.com!davidm
b10a6c5b9f (SYSCALL_CFM_SAVE_REG): New macro.
(REASON_SYSCALL): Ditto.
(access_reg): Use __uc_get_reason() to determine how ucontext_t was created.
	Handle UNW_IA64_AR_BSP differently depending on whether or not
	ucontext_t was created by a syscall.  Ditto for UNW_IA64_IP and
	UNW_IA64_CFM.  Add debug statement.

(Logical change 1.77)
2003-04-08 21:14:16 +00:00
mostang.com!davidm
0802cd49ad (rbs_find_stacked): Allow NULL locp.
(Logical change 1.76)
2003-04-08 20:34:06 +00:00
mostang.com!davidm
7057901782 (ia64_get_stacked): Allow NULL "locp".
(Logical change 1.76)
2003-04-08 20:34:06 +00:00