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

1354 commits

Author SHA1 Message Date
hp.com!davidm
7cec620ea8 (remote_read): New macro.
(remote_lookup): New function.
(_Uia64_search_unwind_table): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
(_Uia64_find_dyn_list): Take unw_dyn_info_t pointer argument instead of its
	members and handle UNW_INFO_FORMAT_REMOTE_TABLE.

(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
13147e5e9c (free_dyn_info): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
(intern_dyn_info): Likewise.

(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
0976af5f9f (create_state_record_for): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
48723262f7 (_Uia64_find_dyn_list): Pass unw_dyn_info_t pointer instead of its members.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
04a99eaa5c (_UPT_get_dyn_info_list_addr): Pass unw_dyn_info_t pointer instead of its
members.

(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
32894ce85a Fix the non-atomic_ops-version of cmpxchg_ptr().
BKrev: 3fc3b7e1Zo2K5ohi8QDhmWPnKb5iFQ
2003-11-25 20:13:21 +00:00
hp.com!davidm
e01fb3b27e (cmpxchg_ptr): Correct sense of comparison.
(Logical change 1.125)
2003-11-25 20:13:21 +00:00
hp.com!davidm
14e8ee4385 ia64: If ATOMIC_OPS_H is defined, use a simple flag rather than a
pthread_mutex lock to mediate access to the script-cache.
	This has the advantage of avoiding the relatively expensive
	sigprocmask()/pthread_mutex_lock()/pthread_mutex_unlock()/sigprocmask()
	sequence when caching is enabled.  Also, with thread-local caching,
	libunwind should scale perfectly to large number of CPUs/threads.

BKrev: 3fc299f5M7RqNOmP68nsDCIWdSS1lg
2003-11-24 23:53:25 +00:00
hp.com!davidm
e433ec3820 (unw_create_addr_space): Drop call to ia64_script_cache_init(). It's
not needed because we default to "no caching" and if the application
	turns on caching via unw_set_caching_policy(), the cache will get
	initialized at that time.

(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
6ed5d0264f (ia64_script_cache_init): Delete.
(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
d61f300b7b (ia64_script_cache): If HAVE_ATOMIC_OPS_H is true, declare "busy" member
in lieu of "lock" member.

(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
629d7d3263 (ia64_per_thread_cache): Initialize busy/lock member.
(get_script_cache): Return NULL if caching is disabled.  If
	HAVE_ATOMIC_OPS_H is defined, set the busy flag and if
	the script cache is busy already, return NULL.
(put_script_cache): Don't allow it to be called for UNW_CACHE_NONE case.
	If HAVE_ATOMIC_OPS_H is defined, clear the "busy" flag via
	AO_CLEAR.
(ia64_get_cached_proc_info): If we're unable to acquire the cache,
	return -UNW_ENOINFO.
(script_init): New function.
(script_new): Replace open code with call to script_init().
(uncached_find_save_locs): New function.
(ia64_find_save_locs): Move code for uncached case to
	uncached_find_save_locs().  If get_script_cache() is unable to
	lock the script-cache, fall back to uncached_find_save_locs().
(ia64_script_cache_init): Delete.

(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
e939f42941 (ia64_local_addr_space_init): Instead of calling ia64_script_cache_init(),
force a flush via unw_flush_cache().

(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
c3fa0b6fa8 Regenerate.
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
89d2adc59a Drop include of ia64intrin.h.
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
a0b454581a Drop include of <ia64intrin.h>.
(unw_flush_cache): Replace __sync_fetch_and_add() with fetch_and_add1().

(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
9a2388db17 Add support for the atomic-ops interface.
BKrev: 3fc27a12bs0NCbEFc99-DfZIKl61tA
2003-11-24 21:37:22 +00:00
hp.com!davidm
5e832c337f Add CHECK_ATOMIC_OPS test.
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
8e36032bc5 (unw_addr_space): If HAVE_ATOMIC_OPS_H is defined, declare cache_generation
of type AO_T.  This is a temporary work-around until atomic_ops.h
	supports atomic ops on 32-bit variables.

(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
92b48f5fe8 (sos_alloc): cmpxchg_ptr() now returns a boolean value (TRUE on success).
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
90e8393da3 (inline): Add #undef of "inline" before (re-)defining it.
Add support for atomic_ops.h.
	Add fetch_and_add1() and if it is supported, define
	HAVE_FETCH_AND_ADD1.

(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
94f198b288 (handler): Adjust printf format to avoid compiler warning.
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
64fa4c080a (CHECK_ATOMIC_OPS): New test.
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
3f32d4b09f ia64: Don't acquire the script-cache lock when caching is disabled.
BKrev: 3fc24f7fZ4j5hs7_FGo85zJKgYbBCQ
2003-11-24 18:35:43 +00:00
hp.com!davidm
ffb9c88e0a (ia64_find_save_locs): Separate out the no-cache case so we don't
acquire the script-cache lock needlessly.

(Logical change 1.122)
2003-11-24 18:35:43 +00:00
hp.com!davidm
8a5d7aad9b ia64: Fix an initialization-race that kept NPTL test-case tst-cancel10 from
working properly.

BKrev: 3fc24f08_2n5sDugh5y-3SaRA4-JkQ
2003-11-24 18:33:44 +00:00
hp.com!davidm
3f35f343c3 (needs_initialization): Declare it as volatile so we get proper memory
ordering when accessing it.  Also, shrink size to 1 byte and move
	it closer to other frequently-used fields.

(Logical change 1.121)
2003-11-24 18:33:44 +00:00
hp.com!davidm
22ca263109 (ia64_init): To prevent a race, unw.needs_initialization must be cleared
_after_ everything is initialized.

(Logical change 1.121)
2003-11-24 18:33:44 +00:00
hp.com!davidm
955c9d72de Drop a bogus range-check from _UPT_find_proc_info.c.
BKrev: 3fbf024cAF5HwLyYvJe9ryYzraErAw
2003-11-22 06:29:32 +00:00
hp.com!davidm
ca11999d9d (UPTi_find_unwind_table): Drop bogus range-check.
(Logical change 1.120)
2003-11-22 06:29:32 +00:00
hp.com!davidm
1d1e8f3ba7 ia64: Fix list of register-names used for debugging.
BKrev: 3fbf013cWBAW18Cb6_zIWA-yzUa1OA
2003-11-22 06:25:00 +00:00
hp.com!davidm
40e929815c (unw.pre_name): Add missing register names.
(Logical change 1.119)
2003-11-22 06:25:00 +00:00
hp.com!davidm
21a8c644e7 ia64: Make per-thread caching work.
BKrev: 3fbf0066zF7IGnE1AphIo29Zv59ZqA
2003-11-22 06:21:26 +00:00
hp.com!davidm
8b3248c32e (unw_set_caching_policy): If caching-policy didn't change, return
early.  Always flush cache after changing the policy.
	This is to ensure that the per-thread cache gets initialized
	and no stale info remains.

(Logical change 1.118)
2003-11-22 06:21:26 +00:00
hp.com!davidm
2245be9d9b (get_script_cache): Need to disable signal-delivery even for per-thread
caching.
(put_script_cache): Need to re-enable signal-delivery even for
	per-thread caching.

(Logical change 1.118)
2003-11-22 06:21:26 +00:00
hp.com!davidm
984170936a ia64: Fix the handling of r0. Previously, bad thing would happen
when accessing r0 and there was a signal frame on the stack.

BKrev: 3fbeff34laFDN81Kp37SbTkjOPIGYQ
2003-11-22 06:16:20 +00:00
hp.com!davidm
8d7426fe0a (linux_scratch_loc): Add a default-case which simply returns the
register-location.  This is so that special-cases such
	as r0 are handled properly.

(Logical change 1.117)
2003-11-22 06:16:20 +00:00
hp.com!davidm
c23814c91c Regenerate.
(Logical change 1.116)
2003-11-22 06:11:18 +00:00
hp.com!davidm
119f52f298 Fix typo & description of unw_step(). Reported by Hans Boehm.
BKrev: 3fbefe06XgpjYsZN9iUagkJ44R-YVw
2003-11-22 06:11:18 +00:00
hp.com!davidm
bb4371c364 Fix description of the return value.
(Logical change 1.116)
2003-11-22 06:11:18 +00:00
hp.com!davidm
34085cad7b Fix a typo.
(Logical change 1.116)
2003-11-22 06:11:18 +00:00
hp.com!davidm
2c9be974dc Regenerate.
(Logical change 1.115)
2003-11-22 06:08:20 +00:00
hp.com!davidm
f626045f59 Do autoreconf and work around libtool bug.
BKrev: 3fbefd541K4H9aGm1LrbxSo71QLLTw
2003-11-22 06:08:20 +00:00
hp.com!davidm
a2ff0da66f Delete: aux/libtool
}(Logical change 1.115)
2003-11-22 06:08:20 +00:00
mostang.com!davidm
e83a184218 Regenerate.
(Logical change 1.114)
2003-11-20 01:10:03 +00:00
mostang.com!davidm
7a346fbf8c Measure with caching disabled, global caching, and thread-local
caching.

(Logical change 1.114)
2003-11-20 01:10:03 +00:00
mostang.com!davidm
716484f000 (Logical change 1.114) 2003-11-20 01:10:03 +00:00
mostang.com!davidm
634e645f67 Initial revision 2003-11-20 01:10:03 +00:00
mostang.com!davidm
2048e47261 Add a test-case for concurrent (multi-threaded unwinding).
Expand the performance testing to cover all 3 caching policies.

BKrev: 3fbc146bA7l4JDVv-V9HbFW-FVtQ2Q
2003-11-20 01:10:03 +00:00
mostang.com!davidm
00f05d607b (check_PROGRAMS_cdep): Mention Gtest-concurrent and Ltest-concurrent.
(Ltest_concurrent_LDADD): New macro.
(Gtest_concurrent_LDADD): Ditto.

(Logical change 1.114)
2003-11-20 01:10:03 +00:00