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

363 commits

Author SHA1 Message Date
mostang.com!davidm
ee54f6cbbd Remove preg_index[] initializer.
(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
6e5840f132 Initial revision 2003-04-23 05:56:59 +00:00
mostang.com!davidm
d412b24291 Adjust for unw_word_t -> ia64_loc_t changes.
(struct_offset): Delete.
(IA64_LOC_REG): New macro (replaces IA64_LOC() for registers).
(IA64_LOC_ADDR): New macro (replaces IA64_LOC() for addresses).
(IA64_LOC_UC_ADDR): New macro.
(IA64_NULL_LOC): Ditto.
(IA64_IS_NULL_LOC): Ditto.
(IA64_IS_UC_LOC): Ditto.
(struct ia64_state_record): Replace is_signal_frame bit with abi_marker.
(ia64_strloc): New declaration.
(rbs_switch): Change from UNW_ARCH_OBJ() to UNW_OBJ().
(rbs_find_stacked): Ditto.
(rbs_cover_and_flush): Ditto.
(rbs_get_rnat_loc): New inline function.
(rbs_loc): Ditto.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
4d4f47cfe6 Adjust for unw_word_t -> ia64_loc_t changes.
(rbs_find_stacked): Detect rbs-area underflow and complain when detected.

}(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
fdd93a262e Adjust for unw_word_t -> ia64_loc_t changes.
(rbs_find_stacked): Detect rbs-area underflow and complain when detected.

2003/04/22 22:16:35-07:00 mostang.com!davidm
Rename: src/ia64/rbs-ia64.c -> src/ia64/Grbs-ia64.c

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
c1d2557a31 Adjust for unw_word_t -> ia64_loc_t changes.
(ia64_local_resume): Disable for now (it's presently broken).
(remote_install_cursor): Ditto.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
83ec749aaf Adjust for unw_word_t -> ia64_loc_t changes.
(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
72199b31ff Adjust for save-loc renaming.
Adjust for unw_word_t -> ia64_loc_t changes.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
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
f8d5624ee9 (ia64_strloc): New function to stringify a location.
(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
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
mostang.com!davidm
bc41c6ad9f [HAVE_SYS_UC_ACCESS_H]: Add include of <sys/uc_access.h>.
(access_reg) [HAVE_SYS_UC_ACCESS_H]: New function.
(access_fpreg) [HAVE_SYS_UC_ACCESS_H]: New function.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
6ab15cdec4 Regenerate.
(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
b513773cb2 (unw_init_local): Do sc_rbs_base manipulation only if HAVE_SYS_UC_ACCES_H is not
defined.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
3b5cb41875 (local_resume): Unsupported on HP-UX for now.
(remote_install_cursor): Ditto.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
ee12f505ed (is_local_addr_space): Test for _ULia64_local_addr_space only if UNW_GENERIC_ONLY
is not defined.
(tdep_find_proc_info) [HAVE_DLMODINFO): Declare new type "struct unwind_header"
	to accommodate HP-UX unwind header.  Fetch unwind table from this
	header.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
9abe0decf0 (ia64_init): Call _ULia64_local_addr_space_init() only if UNW_GENERIC_ONLY is
not defined.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
e4f251b98a (local_resume): "static inline" version of what used to be ia64_local_resume().
(ia64_local_resume): Declare as "HIDDEN" (not "HIDDEN inline"), use local_resume().
(unw_resume): For UNW_LOCAL_ONLY case, call local_resume().

(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
2e65e639a5 (ia64_getfp): Return -UNW_EBADREG when trying to access unsaved register.
(ia64_putfp): Ditto.
(ia64_get): Ditto.
(ia64_put): Ditto.

(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
f168752fcf (Logical change 1.68) 2003-03-27 04:29:07 +00:00
mostang.com!davidm
58df2a4b8f Initial revision 2003-03-27 04:29:07 +00:00
mostang.com!davidm
bf2a805be2 If we have it, include <ia64intrin.h>.
(current_gp): New function.
(callback): Use current_gp() instead of open-coding it.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
26ad35667c Avoid GNU local labels for improved portability.
(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
6dbafde94b (sigprocmask): Declare as global (Intel assembler insists on this).
(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
4090e38376 (sigprocmask): Declare as "global" (Intel assembler insists on this).
(siglongjmp_continuation): Avoid GNU assembler local labels.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
753601f8b0 (_U_dyn_info_list): Declare.
Move generation of dyn-list unwind entry into global-asm-ia64.S.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
58e0e100d1 Include <inttypes.h> instead of <stdint.h>. HP-UX doesn't have the latter.
(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
ea91dee4a8 Include "config.h" if we have it.
Include <inttypes.h> instead of <stdint.h>.  HP-UX doesn't have the latter.
Use "inline" instead of "__inline__" (the former gets properly #define'd by
config.h).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
d798e7dd07 Include "config.h" if we have it.
(_Uia64_search_unwind_table): Be sure to clear "proc_info" members as documented
	by unw_get_proc_info(3).
Include <dlfcn.h> if we have dlmodinfo() (HP-UX only).
(tdep_find_proc_info): Use dl_iterate_phdr() only if we have it (glibc-based
	systems).  Use dlmodinfo() if we have it (HP-UX).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
5fe7ac3ff5 (unw_set_caching_policy): Default to "global" policy if thread-local policy is
not available.

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
5dc0e152a9 (unw_flush_cache): Also clear dyn_info_list_addr cache in the address space.
(Logical change 1.61)
2003-03-11 01:11:18 +00:00
mostang.com!davidm
d098282ff5 Include "tdep.h".
(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
43cc4c9e59 (ia64_make_proc_info): If caching is enabled, call ia64_get_cached_proc_info()
to pick up cached proc-info (if available).

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
fe0ed7dd41 (ia64_getfp): Print debug message when accessing an unsaved register.
(ia64_putfp): Ditto.
(ia64_get): Ditto.
(ia64_put): Ditto.
(ia64_local_addr_space_init): Add missing declaration.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
d3ec5e94aa (cache_match): Remove locking comments.
(ia64_get_cached_proc_info): Rename from ia64_script_lookup() and modify it so
	it directly updates the proc-info if the necessary script is in the cache.
(script_new): Remove locking comments and adjust formatting.
(ia64_find_save_locs): If global caching is enabled, mask signal delivery and
	hold the cache lock while accessing the cache.
(ia64_script_cache_init): Initialize the cache lock.


(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
d6a0aa7059 Rename "epilogue_start" to "when_sp_restored".
(parse_dynamic): Fix it so it actually works.
(create_state_record_for): Initialize return_link_reg to zero.
	Don't print "no unwind info" unconditionally when UNW_DEBUG is
	in effect.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00