1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-12-04 20:17:39 +01:00
Commit graph

3068 commits

Author SHA1 Message Date
hp.com!davidm
f4fc60d371 ia64: Fix bug in ia64_install_cursor() which caused a failure in
test-setjmp when using the Intel compiler.

BKrev: 4087138711PmSVR167P58Y4tj3fogg
2004-04-22 00:36:23 +00:00
hp.com!davidm
f99cce1d2a (ia64_install_cursor): Fix off-by-8 bug which caused r5 and r7 to not get
restored properly.

(Logical change 1.211)
2004-04-22 00:36:23 +00:00
hp.com!davidm
c9a01bf094 (MAX_FUNC_SIZE): New macro.
(main): Use MAX_FUNC_SIZE instead of open-coding 256 bytes.

(Logical change 1.210)
2004-04-21 23:46:17 +00:00
hp.com!davidm
18617ecf2c (Gtest-dyn1): Allow for the clone function to be up to 2048 bytes (up from
256 bytes).  Unoptimized code (-O0) with the Intel compiler is BIG.

BKrev: 408707c9_BfpTjnPLMGSNd6zWc5xng
2004-04-21 23:46:17 +00:00
mostang.com!davidm
c9cf3d788f linux: Fix maps_init()/maps_next()/maps_close() some more.
Add a new test-program (run-ptrace-mapper) to verify that
	libunwind-ptrace works efficiently even with processes that
	have a huge number of mappings.

BKrev: 408621b3qdO9KMlaho6e4a-yJ0oeNA
2004-04-21 07:24:35 +00:00
mostang.com!davidm
f20b7f838a Regenerate.
(Logical change 1.209)
2004-04-21 07:24:35 +00:00
mostang.com!davidm
3e718ea004 (Logical change 1.209) 2004-04-21 07:24:35 +00:00
mostang.com!davidm
35c9f15ab7 Initial revision 2004-04-21 07:24:35 +00:00
mostang.com!davidm
a4bd80c748 (print_names): New global.
(do_backtrace): Call unw_get_proc_name() only if print_names is TRUE.
(main): Support command-line option -c to turn on caching of
	unwind-info and -n to turn off the printing (and lookup)
	of symbol names.
	Stop execution if child dies with a signal.

(Logical change 1.209)
2004-04-21 07:24:35 +00:00
mostang.com!davidm
2f210753bd (maps_init): Correct initialization of mi->buf.
(maps_close): Don't forget to unmap mi->buf if it's non-NULL.

(Logical change 1.209)
2004-04-21 07:24:35 +00:00
mostang.com!davidm
72e5a3bc17 (ia64_validate_cache): Call ia64_local_validate_cache() only if
we're really dealing with the local address space.  Duh.

(Logical change 1.209)
2004-04-21 07:24:35 +00:00
mostang.com!davidm
c2b94e1e46 (common_init): Whitespace fix.
(Logical change 1.209)
2004-04-21 07:24:35 +00:00
mostang.com!davidm
6cb58ac940 (check_SCRIPTS_cdep): Mention run-ptrace-mapper.
(noinst_PROGRAMS_cdep): Mention mapper.

(Logical change 1.209)
2004-04-21 07:24:35 +00:00
mostang.com!davidm
58d140ec77 linux: Fix a performance bug in os-linux.h which causes
libunwind-ptrace to perform horribly slow if /proc/PID/maps
	contains many entries.

BKrev: 4085f0d6OOG9Vk-JUd_47gIfOWZo2w
2004-04-21 03:56:06 +00:00
mostang.com!davidm
5de4b351e7 (struct map_iterator): Add members "buf_size", "buf", and "buf_end".
(maps_init): Try to mmap() a one-page buffer and, if successful,
	initialize the new map_iterator members based on it.
(maps_next): If the one-page buffer is available, use it to read
	/proc/PID/maps.  This avoids expensive lseek() calls which,
	in the case of /proc lead to T(n) = O(n^2) behavior.

(Logical change 1.208)
2004-04-21 03:56:06 +00:00
mostang.com!davidm
6840f3c057 Allow libunwind to be built without any optimization.
This means that it will no longer be possible to validate at
link-time certain assertions.  Instead, there will be assertion
failures at library initialization-time when debugging is enabled
(--enable-debug).

BKrev: 4085b66419Dvy85nlRH9SBgwMxz62g
2004-04-20 23:46:44 +00:00
mostang.com!davidm
c1f430663c (tdep_init): Use an assertion instead of relying on compile-time
optimization to verify that unw_hash_index_t is wide
	enough.

(Logical change 1.207)
2004-04-20 23:46:44 +00:00
mostang.com!davidm
db24e76397 (mi_init): Use assertion instead of relying on compiler-optimization
to verify that unw_cursor_t is big enough to contain a
	cursor.

(Logical change 1.207)
2004-04-20 23:46:44 +00:00
hp.com!davidm
2212940f59 Regenerate.
(Logical change 1.206)
2004-04-20 23:13:49 +00:00
hp.com!davidm
01d61e66af Make sure libunwind-ptrace.h gets installed. Noticed by Stephane
Eranian.

BKrev: 4085aeads95DstN8oo3DPIA9_FNG5g
2004-04-20 23:13:49 +00:00
hp.com!davidm
e5863bcee7 (include_HEADERS_common): Mention libunwind-ptrace.h.
(Logical change 1.206)
2004-04-20 23:13:49 +00:00
hp.com!davidm
758078fb00 Update in preparation for 0.97 release.
(Logical change 1.205)
2004-04-20 16:53:44 +00:00
hp.com!davidm
2de1768e52 Regenerate.
(Logical change 1.205)
2004-04-20 16:53:44 +00:00
hp.com!davidm
a25f2e098c Merge bk://unwind@bkbits.net/libunwind
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind

2004/04/20 09:53:04-07:00 hp.com!davidm
Improve compatibility with Intel v8.x compiler and the libunwind is
comes with.

BKrev: 408555980lwJMVxSNtaDV9gAnwbnRA
2004-04-20 16:53:44 +00:00
hp.com!davidm
36c7442db3 (Logical change 1.205) 2004-04-20 16:53:44 +00:00
hp.com!davidm
662957d585 Initial revision 2004-04-20 16:53:44 +00:00
hp.com!davidm
aa29b98f1d Check for dl_phdr_removals_counter.
Check whether compiler supports -static-libcxa option (needed when
building the shared objects with the Intel 8.x compiler).
(LDFLAGS_STATIC_LIBCXA): Substitute its value.

(Logical change 1.205)
2004-04-20 16:53:44 +00:00
hp.com!davidm
a9217ee2df Auto merged
2004/04/20 09:53:04-07:00 hp.com!davidm
Regenerate.

(Logical change 1.205)
2004-04-20 16:53:44 +00:00
hp.com!davidm
d512dc0daa Auto merged
2004/04/20 09:53:04-07:00 hp.com!davidm
(validate_cache): If HAVE_DL_PHDR_REMOVALS_COUNTER is defined, use
	dl_phdr_removals_counter() to validate the cache.  This is
	much more efficient than using dl_iterate_phdr(), since it
	avoids locking.

(Logical change 1.205)
2004-04-20 16:53:44 +00:00
hp.com!davidm
deb3c645a4 Auto merged
2004/04/20 09:53:04-07:00 hp.com!davidm
(forker_LDFLAGS): Mention -all-static.

(Logical change 1.205)
2004-04-20 16:53:44 +00:00
hp.com!davidm
36e094230c (intern_string): Cast buf-pointer to int8_t* to shut up Intel
compiler warning.

(Logical change 1.205)
2004-04-20 16:53:44 +00:00
hp.com!davidm
ed32b99716 (SOVERSION): Change from 2:0:1 to 3:0:2.
(COMMON_SO_LDFLAGS): New macro.
(libunwind_setjmp_la_LDFLAGS): Mention $(Common_SO_LDFLAGS).
(libunwind_ia64_la_LDFLAGS): Likewise.
(libunwind_hppa_la_LDFLAGS): Likewise.
(libunwind_x86_la_LDFLAGS): Likewise.
(libunwind_la_LDFLAGS): Likewise.
(libunwind_setjmp_la_LIBADD): Mention -lc.
(libunwind_ia64_la_LIBADD): Likewise.
(libunwind_hppa_la_LIBADD): Likewise.
(libunwind_x86_la_LIBADD): Likewise.
(libunwind_la_LIBADD): Likewise.
(libunwind_la_SOURCES_ia64): Mention mi/_ReadULEB.c and mi/_ReadSLEB.c.
	They are needed for Intel 8.0 libunwind.so compatibility. ;-(

(Logical change 1.205)
2004-04-20 16:53:44 +00:00
mostang.com!davidm
12191a02ac tests: Add test-async-sig.c to check for async-signal safety.
BKrev: 406bcea9dU2-V-_86YWfP_uDklkSxw
2004-04-01 08:11:21 +00:00
mostang.com!davidm
b9c2ed48de Regenerate.
(Logical change 1.204)
2004-04-01 08:11:21 +00:00
mostang.com!davidm
4471c1e8c3 (Logical change 1.204) 2004-04-01 08:11:21 +00:00
mostang.com!davidm
4cda328838 Initial revision 2004-04-01 08:11:21 +00:00
mostang.com!davidm
5de8024488 (check_PROGRAMS_cdep): Mention test-async-sig.
(test_async_sig_LDADD): New macro.

(Logical change 1.204)
2004-04-01 08:11:21 +00:00
mostang.com!davidm
24981bc5f9 Important bug-fix: dl_iterate_phdr() doesn't appear to be signal-safe.
To compensate, mask signal-delivery while it's running.

BKrev: 406bce38mhnWOUIL9WtYkHurmM2ajg
2004-04-01 08:09:28 +00:00
mostang.com!davidm
b8eefeac32 (validate_cache): Mask signal-delivery during dl_iterate_phdr().
(tdep_find_proc_info): Likewise.

(Logical change 1.203)
2004-04-01 08:09:28 +00:00
mostang.com!davidm
d3fad3af12 (dwarf_find_proc_info): Mask signal-delivery during dl_iterate_phdr().
(Logical change 1.203)
2004-04-01 08:09:28 +00:00
mostang.com!davidm
6d44be2c47 tests: Minor whitespace fixes for Gtest-concurrent.c.
BKrev: 406bb63aQDsDc6-AODSWlWin7fTdnw
2004-04-01 06:27:06 +00:00
mostang.com!davidm
471e4e5fa6 Minor whitespace fixes.
(Logical change 1.202)
2004-04-01 06:27:06 +00:00
mostang.com!davidm
b15a2bd5ef ia64: Based on patch by Todd L. Miller: extend semantics of
UNW_DYN_ALIAS to alias a sub-region of the aliased
	region.  The degenerate case of an empty subregion can
	then be used to alias with a particular IP.

BKrev: 406bb051XeM3TsszAsT3HGWlN0bBIA
2004-04-01 06:01:53 +00:00
mostang.com!davidm
93d627ef87 (desc_alias): New function.
(parse_dynamic): Handle UNW_DYN_ALIAS via desc_dynamic().

(Logical change 1.201)
2004-04-01 06:01:53 +00:00
mostang.com!davidm
835bb9110b Regenerate.
(Logical change 1.200)
2004-03-31 07:42:38 +00:00
mostang.com!davidm
38fe40cb1a Clarify that this routine is signal-safe only for the local
address-space.

(Logical change 1.200)
2004-03-31 07:42:38 +00:00
mostang.com!davidm
7e8488d45d Allow unw_get_proc_name() to be called from signal-handler (for
cursors in the local address-space).
Clarify that unw_get_proc_info(), unw_get_proc_info_by_ip(),
unw_init_remote(), unw_resume(), and unw_step() are async-signal
safe only from the local address-space (we can't make any guarantees
beyond that because of the dependency of the per-address-space
callback routines, which may have all kinds of restrictions).

BKrev: 406a766eg-xRWnoMgbI9aFyk1xBWXA
2004-03-31 07:42:38 +00:00
mostang.com!davidm
b511e18f63 Allow this routine to be called from a signal handler when unwinding
in the local address-space.

(Logical change 1.200)
2004-03-31 07:42:38 +00:00
mostang.com!davidm
77f159fe41 linux: Reimplement maps_init()/maps_next()/maps_close() such that
they are async-signal safe.  This in turn also makes
	unw_get_proc_name() async-signal safe (for the local address
	space).


BKrev: 406a755eLMN8_C9GHATuTYsY-pi8Lw
2004-03-31 07:38:06 +00:00
mostang.com!davidm
df77cf1ad7 (tdep_get_elf_image): Pass sizeof buffer to maps_next().
(Logical change 1.199)
2004-03-31 07:38:06 +00:00