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

1881 commits

Author SHA1 Message Date
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
mostang.com!davidm
64c702cea7 (ltoa): New inline function.
(skip_whitespace): Likewise.
(scan_hex): Likewise.
(scan_dec): Likewise.
(scan_char): Likewise.
(scan_string): Likewise.
(maps_init): Avoid stdio operations since they're not async-signal
	safe.
(maps_next): Likewise.
(maps_close): Likewise.

(Logical change 1.199)
2004-03-31 07:38:06 +00:00
mostang.com!davidm
fe9d715071 (get_proc_name): Minor whitespace fixes.
(Logical change 1.199)
2004-03-31 07:38:06 +00:00
mostang.com!davidm
18222990f2 (_UPT_get_dyn_info_list_addr): Pass size of path to maps_next().
(Logical change 1.199)
2004-03-31 07:38:06 +00:00
mostang.com!davidm
50c2be0ca3 Undo some temporary testing hacks.
(Logical change 1.198)
2004-03-31 07:29:27 +00:00
mostang.com!davidm
616931e74d Clean up some testing-hacks in Gperf-simple.c.
BKrev: 406a7357_ZoTjTPbK5Gk2mGDVsnNig
2004-03-31 07:29:27 +00:00
mostang.com!davidm
201f7d6671 Regenerate.
(Logical change 1.197)
2004-03-31 01:53:04 +00:00
mostang.com!davidm
e3eae74698 (gettime): Go back to gettimeofday(). clock_gettime() requires
librt which requires libpthread, which slows everything
	down.

(Logical change 1.197)
2004-03-31 01:53:04 +00:00
mostang.com!davidm
69052ef3ea (Lperf_simple_LDADD): Delete.
(Gperf_simple_LDADD): Likewise.

(Logical change 1.197)
2004-03-31 01:53:04 +00:00
mostang.com!davidm
59a11c9525 (Gperf-simple): Switch back from clock_gettime() to gettimeofday()
so we can avoid the (indirect) dependency on -lpthread,
	which slows everything down.

BKrev: 406a2480bpWS4g2Xic3BTD__9OLnTQ
2004-03-31 01:53:04 +00:00
mostang.com!davidm
3c4791af3d ia64: Document the asymmetry in compatibility between getcontext()
and unw_getcontext().

BKrev: 406a1641Npn2_hSJ6xj_0c5kK62x4Q
2004-03-31 00:52:17 +00:00
mostang.com!davidm
031c8bbae8 Regenerate.
(Logical change 1.196)
2004-03-31 00:52:17 +00:00
mostang.com!davidm
37e20822f4 Add new Platform-specific Notes section and document that getcontext()
can be used in lieu of unw_getcontext() but not vice versa.

(Logical change 1.196)
2004-03-31 00:52:17 +00:00
mostang.com!davidm
e0f02d4775 ia64: Remove perf-tuning code from unw_getcontext().
BKrev: 406a13d73SqBfhtdUcBHvwiaTNe7hg
2004-03-31 00:41:59 +00:00
mostang.com!davidm
50160e1df1 Remove perf-tuning code, make it fit in 80 columns.
(Logical change 1.195)
2004-03-31 00:41:59 +00:00
hp.com!davidm
3be31f5dcb Include <unistd.h> and <sys/resource.h>.
(KB): New macro.
(big): Lower the size to 64*MB.  Should be enough for another year... ;-)
(gettime): Fix typo and lower the assumed cache-line size from 64
	to 8 bytes just to be safe across platforms.
(measure_init): Lower N from 1000 to 100.
	(cursor): Add some padding between each unw_cursor_t to avoid
		benefitting from cache-line sharing.
	(uc): Likewise.
	Warm up the TLB before measuring the cold-cache cases.
(main): Unlimit the max. stack-size just in case.
	Write to "big" to ensure it's backed by real memory
	(not just by the zero page).

(Logical change 1.194)
2004-03-30 22:57:06 +00:00
hp.com!davidm
a4fef7cd62 Fix Gperf-simple.c so it truly can measure the cold-cache cases
for unw_getcontext() and unw_local_init().

BKrev: 4069fb42G_rF2zMtoAON24BBXWL7XQ
2004-03-30 22:57:06 +00:00
hp.com!davidm
2b07d73a5a Temporarily add various test-cases which help with performance-tuning.
(Logical change 1.193)
2004-03-30 22:50:23 +00:00
hp.com!davidm
811cc7b452 (unw_getcontext): More performance-tuning.
BKrev: 4069f9afyfw24-h0h2HHRrTIMNozLA
2004-03-30 22:50:23 +00:00
hp.com!davidm
74f73e711e (IA64_SC_FLAG_SYNCHRONOUS_BIT): New macro.
(SC_FLAGS): New macro.
(rTMP): Move from r14 to r10.
(rPOS): Move from r14 to r11.
(rCPOS): Move from r17 to r14.
(rNAT): Move from r18 to r15.
(rFLAGS): New macro.

(Logical change 1.193)
2004-03-30 22:50:23 +00:00
hp.com!davidm
4e9c3fb503 Rename: src/backtrace.c -> src/mi/backtrace.c
}(Logical change 1.192)
2004-03-30 01:56:19 +00:00
hp.com!davidm
14e36a6a51 Rename: src/backtrace.c -> src/mi/backtrace.c
(Logical change 1.192)
2004-03-30 01:56:19 +00:00
hp.com!davidm
5fa489ba06 Regenerate.
(Logical change 1.192)
2004-03-30 01:56:19 +00:00
hp.com!davidm
3a95b3c641 Initial revision 2004-03-30 01:56:19 +00:00
hp.com!davidm
ca8e19f987 Build backtrace.c again and move source file to "mi/" directory.
BKrev: 4068d3c32sb5Qs6ANe3PeQDP_faoSA
2004-03-30 01:56:19 +00:00
hp.com!davidm
a50c7801bd (libunwind_la_SOURCES_local): Mention mi/backtrace.c.
(Logical change 1.192)
2004-03-30 01:56:19 +00:00
hp.com!davidm
3986a308af (AC_CNOFIG_SRCDIR): Adjust for moving backtrace.c into the "mi/" subdirectory.
(Logical change 1.192)
2004-03-30 01:56:19 +00:00
mostang.com!davidm
69cd4ba87e ia64: Tweak _Uia64_getcontext() some more and improve perf.-test.
BKrev: 40661b41RX0enxxj3CCBIU5Uwu42DQ
2004-03-28 00:24:33 +00:00
mostang.com!davidm
5c811e86b0 Move flushsrs into a better position (after most of the prefetching
stores are done) to maximize overlap of memory misses.

(Logical change 1.191)
2004-03-28 00:24:33 +00:00
mostang.com!davidm
fc7b49b983 (measure_init): Improve it so that we don't measure noise, such
as context-switches.

(Logical change 1.191)
2004-03-28 00:24:33 +00:00
mostang.com!davidm
d73775b6cb ia64: Tweak unw_getcontext() for slightly better cold-cache
performance.

BKrev: 406548a6pdrTKaY86bFYi2kq1Jjzpg
2004-03-27 09:25:58 +00:00
mostang.com!davidm
96c6250626 Include <memory.h>.
(MB): New macro.
(big): New array.
(measure_unwind): Don't try to measure "init" step---it's too fast.
(f1): Likewise.
(doit): Likewise.
(sum): New function.
(measure_init): Measure unw_getcontext() and unw_local_init() here.
(main): Call measure_init(), adjust labels for doit() calls.

(Logical change 1.190)
2004-03-27 09:25:58 +00:00
mostang.com!davidm
a77f17b0b7 (GR): New macro.
(BR): Likewise.
(FR): Likewise.
(_Uia64_getcontext): Tweak for slightly better cold-cache performance.

(Logical change 1.190)
2004-03-27 09:25:58 +00:00
mostang.com!davidm
1fdf615440 ia64: Fix _Uia64_get_kernel_table() so it makes some sense again.
BKrev: 406520dfMyS2Sh2WRYl_kJ19YUUVXA
2004-03-27 06:36:15 +00:00
mostang.com!davidm
cb9fde199b (_Uia64_get_kernel_table): Fix it so it actually makes some sense
again.

(Logical change 1.189)
2004-03-27 06:36:15 +00:00
hp.com!davidm
62e1a936e7 ia64: Fix memory-leak in _Uia64_get_kernel_table(). Found by Todd Miller.
BKrev: 4064d824Y5ClYKU2K71nDBr-fBeunw
2004-03-27 01:25:56 +00:00
hp.com!davidm
53a56cb759 (_Uia64_get_kernel_table): Only call get_kernel_table() if we do not already
have the kernel table.

(Logical change 1.188)
2004-03-27 01:25:56 +00:00
hp.com!davidm
e8be590f3d Regenerate.
(Logical change 1.187)
2004-03-20 09:57:46 +00:00