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

1722 commits

Author SHA1 Message Date
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
hp.com!davidm
2f6778284c Regenerate tests/Makefile.in.
BKrev: 405c159aP_r69LsKn0PwJjcCmpN6wA
2004-03-20 09:57:46 +00:00
mostang.com!davidm
f258588d43 ia64: Fix a typo in dynamic unwind info parsing.
Tune unw_getcontext() & unw_init_local() performance a bit.

BKrev: 405c14d4qPrk41JhHWuZ5C-boL7wyA
2004-03-20 09:54:28 +00:00
mostang.com!davidm
81570a9980 Update.
(Logical change 1.186)
2004-03-20 09:54:28 +00:00
mostang.com!davidm
2a302e5148 Regenerate.
(Logical change 1.186)
2004-03-20 09:54:28 +00:00
mostang.com!davidm
c7fdc72fd6 Make number of iterations controllable via the second command-line
argument.
(gettime): Use clock_gettime() instead of gettimeofday() to get
	(potentially) better resolution.

(Logical change 1.186)
2004-03-20 09:54:28 +00:00
mostang.com!davidm
89b3ee87a9 (Logical change 1.186) 2004-03-20 09:54:28 +00:00
mostang.com!davidm
412615853d Initial revision 2004-03-20 09:54:28 +00:00
mostang.com!davidm
a1ce4c307e (unw_tdep_getcontext): Direct it to UNW_ARCH_OBJ(getcontext).
(Logical change 1.186)
2004-03-20 09:54:28 +00:00
mostang.com!davidm
70b89e24f3 (uc_addr): Move to unwind_i.h.
(Logical change 1.186)
2004-03-20 09:54:28 +00:00