1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-24 08:17:38 +01:00
Commit graph

165 commits

Author SHA1 Message Date
(none)!davidm
143ace01a8 Rename IA64_INSN_MOVE_SIGCONTEXT to IA64_INSN_MOVE_SCRATCH.
(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
60cbd737ab Reformat preg_index initialization to GNU Coding standard.
(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
4224f76cfd Initial revision 2002-02-22 21:58:53 +00:00
(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
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
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
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