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

1357 commits

Author SHA1 Message Date
hp.com!davidm
7583863b9f Split libunwind into three separate libraries:
libunwind		for local unwinding only
	libunwind-$ARCH		for generic unwinding
	libunwind-ptrace	for the _UPT-convenience functions

Also, many small tweaks to reduce the number of dynamic relocs that
are needed by libunwind.so.  For IA-64, we're down to:

	13 REL64/FPTR64 relocations
	27 IPLT relocations
	32 NONE relocations

BKrev: 3ff69e70FKxyD9S7ZHpBSSlxEdJLWQ
2004-01-03 10:50:24 +00:00
hp.com!davidm
23f31e44a7 Rename: src/ia64/global-asm-ia64.S -> src/ia64/dyn_info_list-ia64.S
}(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
8d331ad2ae Rename: src/ia64/global-asm-ia64.S -> src/ia64/dyn_info_list-ia64.S
(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
d28aba1c56 Regenerate.
(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
972a85f7fd Minor reformatting.
(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
1656663941 Major restructuring to allow for separate local-only vs. generic
libunwind.

(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
e0585b4a71 Initial revision 2004-01-03 10:50:24 +00:00
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
23024e28c0 Add includes of <string.h> and <unistd.h>.
(NORETURN): New macro.
(PROTECTED): Likewise.
(print_error): New inline routine.
(fetch8): Provide UNW_LOCAL_ONLY-version.
(fetch16): Likewise.
(fetch32): Likewise.
(fetchw): Likewise.
(_U_dyn_info_list_addr): Declare.

(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
32f19d0e09 (test_ptrace_LDADD): New macro.
(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
9b52d39425 (tdep_find_proc_info): Declare it as a regular object (not arch-obj).
(tdep_uc_addr): Likewise.
(tdep_put_unwind_info): Define only if not UNW_LOCAL_ONLY.
(unw): Declare as regular object.

(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
15cfb04fbb Drop HIDDEN from declarations, only the definitions need it.
BKrev: 3fe55276l5is4kGRztiCsLjFL4plkA
2003-12-21 07:57:42 +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
693485b3f0 Squash another dynamic reloc.
BKrev: 3fe54f50_pi4_WP0OBGai6y1hiaaYQ
2003-12-21 07:44:16 +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
051938492f Tweak things a little so fewer dynamic relocations are needed in
the shared object.  The dynamic relocation count for ia64 now
dropped from 747 to 142, mostly because of the removal of the
regname[] array.


BKrev: 3fe549f8sWboFhUnpV-CLNbxTqdMQg
2003-12-21 07:21:28 +00:00
mostang.com!davidm
f6158814a8 Regenerate.
(Logical change 1.148)
2003-12-21 07:21:28 +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
mostang.com!davidm
3d24b59dba Update it some more.
(Logical change 1.147)
2003-12-21 05:53:57 +00:00
mostang.com!davidm
8365c7bc60 Minor cleanups for comments and libunwind-dynamic(3) man-page.
BKrev: 3fe53575d8PuLMPhXZ-UYCouQUlOoQ
2003-12-21 05:53:57 +00:00
mostang.com!davidm
e6aedd3089 (dyn_generation): Drop bogus comment.
(Logical change 1.147)
2003-12-21 05:53:57 +00:00
mostang.com!davidm
d5db6013ff (UNW_PI_FLAG_FIRST_TDEP_BIT): Fix comment.
(Logical change 1.147)
2003-12-21 05:53:57 +00:00
hp.com!davidm
70be1294ce Update.
(Logical change 1.146)
2003-12-20 11:50:00 +00:00
hp.com!davidm
c0aeb8ae37 Switch over to DWARF-based unwinder.
BKrev: 3fe43768R53fmSZyyjrBhlaqT72ajw
2003-12-20 11:50:00 +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
67cfd98db9 (EXTRA_DIST): Mention include/dwarf.h.
(Logical change 1.146)
2003-12-20 11:50:00 +00:00
hp.com!davidm
0f47ba069f Add a first rough draft of a DWARF unwinder.
BKrev: 3fe435ccX0KHxOFBYQSjmpTHXZK3XQ
2003-12-20 11:43:08 +00:00
hp.com!davidm
45fccdc2f3 (unw_dyn_dwarf_fde_info_t): New type to handle (pre-parsed) DWARF
unwind-info.
(unw_dyn_info_t): Add member "dfi".

(Logical change 1.145)
2003-12-20 11:43:08 +00:00
hp.com!davidm
eb51b4294a (Logical change 1.145) 2003-12-20 11:43:08 +00:00
hp.com!davidm
67921394ac Miscellaneous minor fixes.
BKrev: 3fe434c99pYlaA2KOONW5y6kHrby2w
2003-12-20 11:38:49 +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