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

330 commits

Author SHA1 Message Date
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
mostang.com!davidm
5428fc6295 (unw): Move "psp" member before "bsp_loc".
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
77ccc28ad9 (ia64_state_record): Rename epilogue_start to when_sp_restored.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
5939c41c09 (get_static_proc_name): New function.
(ia64_local_addr_space_init): Initialize get_proc_name callback.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
8bd0572f34 (build_script): Document the fact that we need IA64_REG_PSP to get compiled first.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
hp.com!davidm
bd93c64f01 (update_frame_state): Update the IP-cache before doing anything else.
If we reached the en of the frame-chain, then the remaining
	registers may not be valid/accessible anymore.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
95a55361c8 (uc_addr): Allow (readonly) access to r0/nat0 to support ".save rp, r0" idiom.
(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
8d4f6ff52d (rbs_contains): Tighten debug output.
(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
54eda6d6fc (_Uia64_find_dyn_list): Add "gp" argument.
Fix typo in address-offset for the "off" variable.
	Adjust for the fact that the dyn-info list address is now gp-relative.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
5660a59ba1 (_U_dyn_info_list): Mark it as .hidden so we can do a @gprel() reloc against it.
(.info): Use @gprel() reloc instead of @segrel() reloc for _U_dyn_info_list.
	The latter doesn't work because the unwind-info is in a different segment.
(ia64_init): Clear unw.r0.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
mostang.com!davidm
9d5c1bc580 In error messages, replace "unwind:" by "libunwind:".
(desc_prologue): Fix handling of region_start so it doesn't get corrupted by
	state-record pushing/popping.
(parse_dynamic): Allow the last region to contain a negative insn_count, indicating
	that the region covers the last portion of a procedure.

(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
7412722854 (unw_get_proc_name): Drop "is_local" argument in call to unwi_get_proc_name).
(Logical change 1.54)
2003-02-22 08:19:43 +00:00
hp.com!davidm
bb4f71708d Minor formatting fix.
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
2b0b48fd8a (remote_install_cursor): Implement it.
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
mostang.com!davidm
cb4fb05032 (rotate_gr): Only print debug info if size-of-rotating-partition is non-zero.
(rotate_fr): Only print debug info if rotation-base is non-zero.

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
749cd25529 (rbs_underflow): Remove.
(rbs_contains): New function.

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
0d0c84f63c (rbs_switch): Rename from rbs_record_switch() and greatly simplify it because
we now switch to the new backing-store immediately.
(rbs_underflow): Remove.
(rbs_find_stacked): No longer assume that c->bsp is contained in the current
	rbs.  If it is not, first find the backing-store that's backing c->bsp.
(rbs_cover_and_flush): Use rbs_contains() instead of (broken) open code.
	Handle the case where the initial bsp points to an RNaT slot.

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
8a621f78ff (common_init): Drop initialization of c->rbs_right_edge.
Initialize size of first rbs_area[] to 1<<63 so that we can maintain
	a notion of "above" and "below".

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
77821808ab (check_rbs_switch): Mark it as "inline". Make rbs_record_switch() the last call.
(update_frame_state): Remove conditional call to rbs_underflow().

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
d8023cf208 (unw_set_caching_policy): Call ia64_init() first if necessary.
(Logical change 1.49)
2003-02-15 08:49:55 +00:00
mostang.com!davidm
d55a7f7dd4 (rbs_cover_and_flush): Also update c->rnat_loc as needed.
(Logical change 1.49)
2003-02-15 08:49:55 +00:00
mostang.com!davidm
b8c178177a (ia64_local_resume): Remove unused variable "loadrs".
(Logical change 1.49)
2003-02-15 08:49:55 +00:00
hp.com!davidm
eb44c3a6d5 Move include of ia64intrin.h after include of "unwind_i.h".
(Logical change 1.48)
2003-02-15 03:10:30 +00:00
hp.com!davidm
7fd45d122c (create_state_record_for): Use dprintf(), not printf().
(Logical change 1.48)
2003-02-15 03:10:30 +00:00
mostang.com!davidm
70ee73612e Minor reformatting to make it fit in 80 cols.
(get_rnat): New function.
(rbs_cover_and_flush): Ditto.


(Logical change 1.47)
2003-02-14 06:25:36 +00:00
mostang.com!davidm
32a1dc6be5 (rbs_cover_and_flush): Declare.
(_Uia64_install_context): Drop loadrs argument from declaration.

(Logical change 1.47)
2003-02-14 06:25:36 +00:00
mostang.com!davidm
02c8c0cdae (ia64_local_resume): Use rbs_cover_and_flush() to linearize the contents of the
current register frame before resuming execution.  Drop loadrs argument
	from call to _Uia64_install_context().

(Logical change 1.47)
2003-02-14 06:25:36 +00:00
mostang.com!davidm
03f6e9b004 (_Uia64_install_context): Drop "loadrs" argument and adjust code accordingly.
(Logical change 1.47)
2003-02-14 06:25:36 +00:00
hp.com!davidm
49f992ac07 Mention !UNW_REMOTE_ONLY on #else branch.
(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
7372c6cc43 (unw_flush_cache): Only uses __sync_fetch_and_add() if
HAVE_IA64INTRIN_H is defined.  Otherwise, do non-atomic
	increment (and issue compile-time warning about it).

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
3980b80e26 (is_local_addr_space): Always return 0 for UNW_REMOTE_ONLY.
(_Uia64_search_unwind_table): Add a cast to avoid compiler-warning
	when cross-compiling from a 32-bit platform.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
d7c5192ef8 (ia64_init): Don't call _Uia64_local_addr_space_init() or
_ULia64_local_addr_space_init() for UNW_REMOTE_ONLY.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
mostang.com!davidm
425adcbda4 Rewrite.
}(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
d98aeba4cb Rewrite.
2003/02/06 14:34:06-08:00 mostang.com!davidm
Rename: src/ia64/__ia64_install_context.S -> src/ia64/_Uia64_install_context.S

(Logical change 1.45)
2003-02-08 10:10:59 +00:00