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

738 commits

Author SHA1 Message Date
hp.com!davidm
adcb01f57f Don't define UNW_LOCAL_ONLY before including libunwind.h. That was
a bad idea.

(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
fe8b77aeaf Declare libunwind-entry-points as PROTECTED to ensure local uses get
resolved within the library itself.

}(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
be467abeac Declare libunwind-entry-points as PROTECTED to ensure local uses get
resolved within the library itself.

2004/01/03 00:25:12-08:00 hp.com!davidm
Rename: src/ia64/set_caching_policy-ia64.c -> src/ia64/Gset_caching_policy-ia64.c

(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
8578c3133a Declare libunwind-entry-points as PROTECTED to ensure local uses get
resolved within the library itself.

2004/01/03 00:24:50-08:00 hp.com!davidm
Rename: src/ia64/get_accessors-ia64.c -> src/ia64/Gget_accessors-ia64.c

(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
bf82624a21 Declare libunwind-entry-points as PROTECTED to ensure local uses get
resolved within the library itself.

(is_local_addr_space): Define UNW_LOCAL_ONLY and generic versions.
(read_mem): New function.
(tdep_put_unwind_info): Define only if not UNW_LOCAL_ONLY.
(tdep_search_unwind_table): Rename from _Uia64_search_unwind_table().
	Optimize away stuff that isn't needed for UNW_LOCAL_ONLY.
	Use read_mem() instead of open-coding accesses via
	access_mem() callback.
(get_kernel_table): Rename from _Uia64_get_kernel_table().
(_Uia64_get_kernel_table): Define for non-UNW_LOCAL_ONLY case so
	that libunwind-ptrace.a can get to it.

}(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
e9815e6cce Declare libunwind-entry-points as PROTECTED to ensure local uses get
resolved within the library itself.

(is_local_addr_space): Define UNW_LOCAL_ONLY and generic versions.
(read_mem): New function.
(tdep_put_unwind_info): Define only if not UNW_LOCAL_ONLY.
(tdep_search_unwind_table): Rename from _Uia64_search_unwind_table().
	Optimize away stuff that isn't needed for UNW_LOCAL_ONLY.
	Use read_mem() instead of open-coding accesses via
	access_mem() callback.
(get_kernel_table): Rename from _Uia64_get_kernel_table().
(_Uia64_get_kernel_table): Define for non-UNW_LOCAL_ONLY case so
	that libunwind-ptrace.a can get to it.

2004/01/03 00:33:30-08:00 hp.com!davidm
Rename: src/ia64/tables-ia64.c -> src/ia64/Gtables-ia64.c

(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
c4f5974dd1 Declare libunwind-entry-points as PROTECTED to ensure local uses get
resolved within the library itself.

(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
fa6ca5610d (sos_memp): Drop static initializer.
(pg_size): Likewise.
(sos_alloc): Initialize sos_memp if it's still 0.

(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
0b29e6839b (local_find_proc_info): Take new LIST argument.
(unwi_find_dynamic_proc_info): Pass LIST argument to
	local_find_proc_info().

(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
98f917270f (intern_string): Declare as "inline".
(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
a83c8a7397 (ia64_init): Declare as a regular object, not an arch-object.
(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
d6e1c59b81 (_U_dyn_info_lists): Remove definition.
(ia64_init): Simply call ia64_local_addr_space_init() (unless
	UNW_REMOTE_ONLY is defined).

}(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
31a7a2c546 (_U_dyn_info_lists): Remove definition.
(ia64_init): Simply call ia64_local_addr_space_init() (unless
	UNW_REMOTE_ONLY is defined).

2004/01/02 23:05:52-08:00 hp.com!davidm
Rename: src/ia64/global-ia64.c -> src/ia64/Gglobal-ia64.c

(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
b1036f45c9 (Logical change 1.151) 2004-01-03 10:50:24 +00:00
mostang.com!davidm
b9d2cc7919 Drop HIDDEN from declarations, only the definitions need it.
(Logical change 1.150)
2003-12-21 07:57:42 +00:00
mostang.com!davidm
8af7d0d636 (unwi_full_sigmask): Mark as HIDDEN.
(Logical change 1.149)
2003-12-21 07:44:16 +00:00
mostang.com!davidm
23a0696c6d (ia64_install_cursor): Mark as NORETURN rather than using
directly using __attribute__ directive.

(Logical change 1.149)
2003-12-21 07:44:16 +00:00
mostang.com!davidm
aef3ad9d8d (_U_dyn_info_list_lock): Mark as HIDDEN.
(Logical change 1.149)
2003-12-21 07:44:16 +00:00
mostang.com!davidm
c008232bae (unw_decode_r1): "inline" it.
(unw_decode_r2): Likewise.
(unw_decode_r3): Likewise.
(unw_decode_p1): Likewise.
(unw_decode_p2_p5): Likewise.
(unw_decode_p6): Likewise.
(unw_decode_p7_p10): Likewise.
(unw_decode_b1): Likewise.
(unw_decode_b3_x4): Likewise.
(unw_decode_table): Remove.
(unw_decode): Do the first-level of decoding inline, rather than
	through the unw_decode_table.

(Logical change 1.148)
2003-12-21 07:21:28 +00:00
mostang.com!davidm
aa800d423d (unw): Mark it as HIDDEN.
(Logical change 1.148)
2003-12-21 07:21:28 +00:00
mostang.com!davidm
3596fa99b6 (regname): Delete.
(regname_len): New macro.
(regname_str): New macro.
(NREGS): New macro.
(unw_regname): Change it from using a regname[] array to using
	a single string.

(Logical change 1.148)
2003-12-21 07:21:28 +00:00
hp.com!davidm
468aaccf17 Switch over to DWARF-based unwinder.
(Logical change 1.146)
2003-12-20 11:50:00 +00:00
hp.com!davidm
9fdd520e59 Regenerate.
(Logical change 1.146)
2003-12-20 11:50:00 +00:00
hp.com!davidm
23760816b3 (libunwind_la_SOURCES_common): Replace dyn-extract.c and dyn-remote.c
with generic and local-only versions.
(dwarf_sources): New macro.
(libbunwind_la_SOURCES_x86): Add $(dwarf_sources).
	Drop tables-x86.c it's not needed anymore.
(AM_CPPFLAGSG): Add architecture-specific include file.

(Logical change 1.146)
2003-12-20 11:50:00 +00:00
hp.com!davidm
eb51b4294a (Logical change 1.145) 2003-12-20 11:43:08 +00:00
hp.com!davidm
c7312eceb2 Define UNW_LOCAL_ONLY before including <libunwind.h> so we get the
optimized version for unwind-table-searching.

(Logical change 1.144)
2003-12-20 11:38:49 +00:00
hp.com!davidm
a114b907b1 (_Unwind_GetTextRelBase): Drop comment. Returning 0 seems to be
OK for most existing platforms (both ia64 and DWARF-based).

(Logical change 1.144)
2003-12-20 11:38:49 +00:00
hp.com!davidm
9239758529 (_Unwind_GetDataRelBase): Implement it by returning the "gp" value
of the proc-info.

(Logical change 1.144)
2003-12-20 11:38:49 +00:00
hp.com!davidm
2afc5f7ddb (Logical change 1.144) 2003-12-20 11:38:49 +00:00
hp.com!davidm
0bbb2fab68 Initial revision 2003-12-20 11:38:49 +00:00
hp.com!davidm
b6adfb75c4 Declare mempool-routines as HIDDEN.
(Logical change 1.143)
2003-12-20 11:35:09 +00:00
hp.com!davidm
7b76187fc8 (remote_find_proc_info): Update the comment so it reflects reality.
(Logical change 1.142)
2003-12-20 11:32:43 +00:00
hp.com!davidm
4fafd8cbf7 Use Elf_W() instead of ElfW() etc. to avoid clash with <linker.h>.
(Logical change 1.141)
2003-12-20 11:23:44 +00:00
hp.com!davidm
5e48061ba6 Update copyright header.
(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
ff78bcde0d Rename: src/dyn-remote.c -> src/Gdyn-remote.c
}(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
1cfcd061e9 Rename: src/dyn-remote.c -> src/Gdyn-remote.c
(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
94903d3c12 Rename: src/dyn-extract.c -> src/Gdyn-extract.c
}(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
058325fc41 Rename: src/dyn-extract.c -> src/Gdyn-extract.c
(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
9b52308ae2 Minor whitespace fixes.
(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
b25fd18403 Initial revision 2003-12-20 11:20:42 +00:00
hp.com!davidm
64c0ad5876 Delete: src/x86/tables-x86.c
}(Logical change 1.140)
2003-12-20 11:20:42 +00:00
mostang.com!davidm
2c1bae7798 Add copyright header.
(Logical change 1.139)
2003-12-10 07:14:38 +00:00
mostang.com!davidm
9765f67c9d A
(Logical change 1.139)
2003-12-10 07:14:38 +00:00
mostang.com!davidm
4d40b374b9 Lookup static proc-info via accessor's callback, not by directly
calling tdep_find_proc_info().  The latter doesn't works in the
REMOTE_ONLY case.

(Logical change 1.138)
2003-12-05 06:42:28 +00:00
mostang.com!davidm
98f95e6ee4 (sos_alloc): Drop type-cast-avoiding union. If we really need it,
it should be done by cmpxchg_ptr().

(Logical change 1.138)
2003-12-05 06:42:28 +00:00
mostang.com!davidm
47c25b753c (run_script): Drop left-over __builtin_expect() call.
(Logical change 1.138)
2003-12-05 06:42:28 +00:00
hp.com!davidm
ac224b48bb (sos_alloc): Fix call to cmpxchg_ptr().
(Logical change 1.136)
2003-12-04 23:29:32 +00:00
hp.com!davidm
3b54f2a48d R
(Logical change 1.135)
2003-12-04 07:44:21 +00:00
hp.com!davidm
ab0fdbbb4c (Logical change 1.135) 2003-12-04 07:44:21 +00:00
hp.com!davidm
1a7d4ee7ed Initial revision 2003-12-04 07:44:21 +00:00
hp.com!davidm
0240946f92 (SOVERSION): Bump it.
(libunwind_la_SOURCES_local): Mention all the new _Unwind_* files.
(EXTRA_DIST): Mention unwind-internal.h.

(Logical change 1.135)
2003-12-04 07:44:21 +00:00
hp.com!davidm
63a8bec6f6 Don't include "config.h" here. Include it via "unwind_i.h" instead.
(Logical change 1.134)
2003-12-04 07:38:25 +00:00
hp.com!davidm
6498cdf4d9 Don't include "config.h" here.
(Logical change 1.134)
2003-12-04 07:38:25 +00:00
hp.com!davidm
e6f6a92db1 (Logical change 1.133) 2003-12-04 07:34:21 +00:00
hp.com!davidm
96d608b2cc Initial revision 2003-12-04 07:34:21 +00:00
hp.com!davidm
2dcaa68adb Regenerate.
(Logical change 1.131)
2003-11-27 07:17:47 +00:00
hp.com!davidm
bd54a900bc (libunwind_la_SOURCES_x86): Mention x86/offsets.h.
(Logical change 1.131)
2003-11-27 07:17:47 +00:00
hp.com!davidm
35300d0616 Replace #ifdef UNW_DEBUG with #if UNW_DEBUG.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
cda74fe038 Replace #if DEBUG with #if UNW_DEBUG.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
c974464933 Delete include of elf64.h. The "tdep.h" header-file is responsible
for including the appropriate file.

(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
1150a638d6 Delete extraneous .previous directive (reported by
Laurent Morichetti).

(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
6c2e6e7f72 (update_frame_state): Delete unnecessary "pr" variable.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
fa7a796b37 (unw_is_signal_frame): Add parens to avoid compiler warnings.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
cbe3ca13f5 (unw_get_save_loc): Delete extra "break".
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
612917dce0 (tab): Declare as "static".
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
7291d0217c (rcsid): New variable.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
a024a719e1 (rbs_get_rnat_loc): Declare "inline".
(rbs_loc): Ditto.

(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
c7d965a9dc (put_script_cache): Replace "caching" with "as->caching" and delete
the former to avoid compiler-warnings.
(run_script): Before doing the big switch, check for most common
	case (IA64_INSN_MOVE_STACKED).

(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
dee53d7800 (lookup_symbol): Delete unused variable "str_size".
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
3e1200c200 (linux_scratch_loc): Delete unnecessary variable "ret".
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
cd2d75786a (current_gp): Don't use inline-asm for Intel compiler.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
74ed7ea40d (_UPT_reg_offset): Declare as "extern".
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
7eaa3cea76 (TARGET_ELF64): Delete.
(TARGET_ELF32): Likewise.
(_UPT_get_proc_name): Use ELF_CLASS instead of TARGET_ELFxx.

(Logical change 1.130)
2003-11-27 06:52:54 +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
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
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
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
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
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
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
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
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
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
ca11999d9d (UPTi_find_unwind_table): Drop bogus range-check.
(Logical change 1.120)
2003-11-22 06:29:32 +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
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
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
2c9be974dc Regenerate.
(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
hp.com!davidm
c3328ce150 Delete: src/ia64/TODO
}(Logical change 1.113)
2003-11-19 23:15:58 +00:00
mostang.com!davidm
e5cf56ec1c (mi_init): Initializing unwi_full_sigmask is too late here, it needs to be done in the
arch-specific initialization, so that thread-safety can be guaranteed.

(Logical change 1.112)
2003-11-19 06:18:27 +00:00
mostang.com!davidm
6b2855500a (ia64_init): Move initialization of unwi_full_sigmask to here, from mi_init().
(Logical change 1.112)
2003-11-19 06:18:27 +00:00
hp.com!davidm
add6b939a0 (unw_set_caching_policy): Let ia64_init() clear unw.needs_initialization.
(Logical change 1.111)
2003-11-19 03:11:25 +00:00