hp.com!davidm
85d354c9d1
Work around libtool bug so compilationwith Intel compiler works again.
...
BKrev: 3fc5991dg2wv4IxyYc5QLOVccS6wbg
2003-11-27 06:26:37 +00:00
hp.com!davidm
6b9526e8e0
Fix typo in _UPT_get_dyn_info_list_addr() from yesterday that broke
...
remote dynamic unwind info lookup.
BKrev: 3fc595eeTAXHeXCDuZ1UTKzqgl7jJg
2003-11-27 06:13:02 +00:00
hp.com!davidm
85bf403eab
(_UPT_get_dyn_info_list_addr): Fix typo.
...
(Logical change 1.128)
2003-11-27 06:13:02 +00:00
hp.com!davidm
b1d369ad0a
Regenerate.
...
(Logical change 1.127)
2003-11-26 18:59:24 +00:00
hp.com!davidm
8741873156
Modernize configure.in.
...
BKrev: 3fc4f80cj12f979MDBVeoZwt_haAAQ
2003-11-26 18:59:24 +00:00
hp.com!davidm
487beb8938
Modernize AC_INIT/AC_INIT_AUTOMAKE calls.
...
(AC_CONFIG_SRCDIR): New call.
(Logical change 1.127)
2003-11-26 18:59:24 +00:00
hp.com!davidm
a4ab51f266
Upon request from the gdb-maintainers, add support for keeping the
...
unwind-table in remote memory. This can be faster if the unwind-table
is large and only a few entries from the table need to be read. Such
remote tables are handled via a new unwind-table format called
UNW_INFO_FORMAT_TABLE (see libunwind-dynamic.h). The API remains
backwards-compatible with the exception of the ia64-specific
_Uia64_find_dyn_list() function.
BKrev: 3fc3d8cd4VXFifyDtAfkKgGAR7NcnA
2003-11-25 22:33:49 +00:00
hp.com!davidm
72d091c1d6
(unwi_put_dynamic_unwind_info): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
...
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
fb7578ac55
(unwi_get_proc_name): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
...
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
02d88bcf13
(unwi_extract_dynamic_info): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
...
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
dd8806c82d
(unw_dyn_info_format_t): Add UNW_INFO_FORMAT_REMOTE_TABLE.
...
(unw_dyn_remote_table_info_t): New type.
(unw_dyn_info): Add "rti" member.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
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