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

21 commits

Author SHA1 Message Date
(none)!davidm
7820abd977 Include "offsets.h" to get offsets for various structures (such
as sigcontext).  Adjust for the fact that the RSE arithmetic
is now done on values of type unw_word_t rather than long pointers.

(ia64_scratch_loc): Rename from ia64_get_sigcontext() and expand
	it such that it returns a scratch register location if
	the current frame is not a sigcontext frame.
(ia64_access_reg): Read the address of the personality routine with
	ia64_get() rather than trying to dereference the address
	directly.  When writing the IP or the PR, update the cached
	values, too.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
3790561497 Include "offsets.h" instead of <signal.h> to enable cross-compilation.
Use offsets defined in this file instead of calculating the offsets
from sigcontext structure.

(update_frame_state): Rename from ia64_get_frame_state() and make it
static and inlined.

(unw_step): Call update_frame_state() instead of ia64_get_frame_state().

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
172cc2ba9b If UNW_REMOTE_ONLY is defined, make unw_init_local() a stub that
unconditionally returns -UNW_EINVAL.

(access_reg): IP is now read via UNW_IA64_IP (instead of
	UNW_IA64_BR+0).  CFM is now read via UNW_IA64_CFM
	instead of UNW_IA64_AR_PFS.  For UNW_IA64_AR_BSP
	(and UNW_IA64_AR_BSPSTORE), adjust the pointer so
	that it points to the first stacked register in
	the current frame.
(resume): "rp_loc" has been renamed to "ip_loc".
(unw_init_local): Add an #error directive to prevent compilation
	with UNW_LOCAL_ONLY until this case has been implemented.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
7c934e9308 For now, add #error directive to ensure compilation fails when
attempting to compile with UNW_LOCAL_ONLY.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
79106f9923 Fine-tune the API for remote-unwinding support. Fix up the
implementation to support cross-compilation (e.g., to build the
IA-64 unwinder on x86).

BKrev: 3c76bf1dI_YzKWI7-5-E3JJ_fhW7mg
2002-02-22 21:58:53 +00:00
(none)!davidm
fb5ed0d939 Compile only if UNW_REMOTE_ONLY is not defined.
(get_kernel_table): Return -UNW_ENOMEM if unable to allocate buffer
	for kernel's unwind info.  Initialize the start and end
	members in unw_ia64_table_t.
(callback): Initialize the start and end members.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
4588bf926d Build only if UNW_REMOTE_ONLY is not defined.
(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
fcb6a7d272 Build bt and exc programs only during native builds.
(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
f275c38236 Added src/Makefile.bak src/ia64/init.o src/ia64/offsets.h~ src/ia64/parser.o src/ia64/regs.o src/ia64/script.o src/ia64/unw_get_reg.o src/ia64/unw_init_local.o src/ia64/unw_init_remote.o src/ia64/unw_resume.o src/ia64/unw_set_reg.o src/ia64/unw_step.o src/libunwind.a to the ignore list
(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
cd66944a2c (unw_tdep_word_t): New type.
(ia64_regnum_t): Define well-known frame registers here and add
	TDEP-aliases for use by libunwind.h.
(unw_ia64_table_t): Use unw_tdep_word_t instead of unw_word_t so this
	file can be included by libunwind.h.
	Change type of "array" member to void *.  On OSes that support
	ILP32, it may point to a 32-bit unwind table.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
5cdb197f44 (unw_init_remote): Rename from ia64_init_remote(). Initialize
cfm_loc with UNW_IA64_CFM.  Initialize bspstore_loc with
	UNW_IA64_AR_BSPSTORE.  Renamem rp_loc to ip_loc and initialize
	with UNW_IA64_IP.  Initialized the cached values of
	PR and IP.  Initialize sp and psp to value in UNW_IA64_SP.
	Initialize exception handling args by reading the corresponding
	scratch registers (r15-r18).  If the read fails, initialize
	with 0.  Finish by calling ia64_get_proc_info() instead of
	ia64_get_frame_state().

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
dffc24cb9f (compile_reg): Use IA64_INSN_MOVE_SCRATCH instead of
IA64_INSN_MOVE_SIGCONTEXT.
(run_script): Drop IA64_INSN_MOVE_SIGCONTEXT.  Implement
	IA64_INSN_MOVE_SCRATCH by calling ia64_scratch_loc().

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
73c10de341 (Logical change 1.5) 2002-02-22 21:58:53 +00:00
mostang.com!davidm
0e254786c6 Update ia64 specific NOTES.
BKrev: 3c6d9f009AHscjNje1WJ1Ui9FdJtsQ
2002-02-15 23:51:28 +00:00
mostang.com!davidm
444b815950 Clarify comment about proc_info.
(Logical change 1.4)
2002-02-15 23:51:28 +00:00
mostang.com!davidm
7fbfe0a255 (Logical change 1.3) 2002-02-15 23:22:05 +00:00
mostang.com!davidm
63669f7ad4 Initial revision 2002-02-15 23:22:05 +00:00
mostang.com!davidm
6d8fc3bc30 Initial checkin into bitkeeper.
BKrev: 3c6d981dR_x2wQyXJUe60wYU-j17Aw
2002-02-15 23:22:05 +00:00
mostang.com!davidm
5de8126b0d Initial repository create
BKrev: 3c6d515aBUQMglrIzL_V-dcSBCH1Hw
2002-02-15 18:20:10 +00:00
mostang.com!davidm
eafd2dddcc (Logical change 1.2) 2002-02-15 18:20:10 +00:00
mostang.com!davidm
42b1c29373 Initial revision 2002-02-15 18:20:10 +00:00