1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-09-29 18:09:29 +02:00
Commit graph

60 commits

Author SHA1 Message Date
Lassi Tuura
ae5c1f2adf Performance optimisations for fast trace.
Insert static branch prediction predicates in useful places and avoid
unnecessary code in the hottest paths. Bypass unnecessary indirect
calls, in particular to access_mem(), when known to be safe.
2011-04-17 20:34:38 -07:00
Arun Sharma
e2962af9d3 Implement a cheaper getcontext()
Since the fast unwinding code path doesn't need the full context,
a faster target dependent getcontext is implemented.

Signed-off-by: Lassi Tuura <lat@cern.ch>
2011-04-05 22:07:05 -07:00
Lassi Tuura
5f38f35d5d Drop a call frame in tdep_trace and avoid a call to unw_step.
Dropping the extra frame for unw_backtrace itself using unw_step is
approximately 15% slower than skipping the frame in tdep_trace.  So
drop the frame in the latter, and make the function a private
implementation detail for libunwind, not an exported interface.

Also moves unw_getcontext call back into unw_backtrace to avoid an
extra call frame in case slow_backtrace does not get inlined into
unw_backtrace.
2011-04-01 00:00:39 -07:00
Lassi Tuura
50bc12afba Export unw_backtrace() and alias backtrace() to it. 2011-04-01 00:00:33 -07:00
Arun Sharma
2f9b04e9c2 Mark slow_backtrace() ALWAYS_INLINE
Also fix Makefile.am so remote unwinding tests such Gtest-trace
don't link with the local unwind library (libunwind.a).
2011-03-31 22:58:07 -07:00
Arun Sharma
7ff83c051e Fix up compilation and test failures 2011-03-24 23:32:25 -07:00
Lassi Tuura
44a14d1364 Integrate fast trace into backtrace(). 2011-03-24 22:33:55 -07:00
Konstantin Belousov
093855f12a Remove unneeded includes of sys/types.h 2010-03-08 00:25:22 +02:00
Konstantin Belousov
3eabce18b1 Include sys/types.h when needed. 2010-03-06 16:43:39 +02:00
Daniel Jacobowitz
3842dac733 Add initial ARM and MIPS support. To support this, also enable the
reading of .debug_frame sections (used in lieu of .eh_frame sections
when they're not available).
2008-02-04 17:16:37 -07:00
David Mosberger-Tang
f5cb2c52dc 2007-12-14 Mark Wielaard <mwielaard@redhat.com>
* src/mi/Gget_reg.c (unw_get_reg): Use tdep_get_ip() when
   looking for UNW_REG_IP.
2008-01-07 15:43:42 -07:00
David Mosberger-Tang
1a0af36731 Fix forgotten copyright year update. 2006-07-26 15:48:48 -06:00
David Mosberger-Tang
6a89d40236 Fix missed "tdep.h" -> "libunwind_i.h" conversions. 2006-07-26 15:44:23 -06:00
David Mosberger-Tang
69d85f7c14 Restore mi/Ldyn-remote.c. 2006-07-26 15:10:48 -06:00
David Mosberger-Tang
ca69fee8bb Merge ../libunwind-v0.98
Conflicts:

	include/dwarf_i.h
	include/x86/jmpbuf.h
	include/x86_64/jmpbuf.h
	src/hppa/init.h
	src/mi/Gget_fpreg.c
	src/mi/Gset_fpreg.c
	src/mi/strerror.c
2006-07-25 21:41:43 -06:00
David Mosberger-Tang
f176ad6fc6 Bring git v0.98.5 tree in sync with released v0.98.5.
Sadly, the conversion from Bitkeeper -> CVS -> git wasn't perfect.  Or
so it seems.
2006-07-25 21:32:28 -06:00
hp.com!davidm
97b483dcaa Drop include of "mempool.h", which causes problems in the kernel, due to
a conflicting <linux/mempool.h>.
(SOS_MEMORY_SIZE): Move to libunwind_i.h.

(Logical change 1.295)
2005-05-20 11:28:16 +00:00
hp.com!davidm
d9e100753f Include "libunwind_i.h" instead of "tdep.h".
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
07b01ad205 Include "libunwind_i.h" instead of "tdep.h" and "internal.h".
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
670dd57e82 Include "libunwind_i.h" instead of "libunwind.h" and a whole bunch of standard
header files.
Use lock_release instead of mutex_unlock/sigprocmask calls.

(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
5724bee8c2 Include "libunwind_i.h" instead of "internal.h".
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
71acf1d00e Don't include <stdlib.h>.
Include "libunwind_i.h" instead of "tdep.h".

(Logical change 1.294)
2005-05-20 09:48:08 +00:00
mostang.com!davidm
7fbb8a9593 Adjust for sigset_t to intrmask_t renaming.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
b38691980f (sos_alloc): Fix soslock vs. sos_lock typo.
2005/02/23 14:40:44-08:00 mostang.com!davidm
Adjust for sigset_t to intrmask_t renaming.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
15df8b804c (_ReadSLEB): Fix typo: shift needs to be increment before checking
for loop-exit.  Otherwise, sign-extension may clobber the
	most recently read 7 bits.

(Logical change 1.284)
2005-02-19 06:15:20 +00:00
hp.com!davidm
d15f52662a (local_find_proc_info): When compiling for libunwind-ia64, declare
_U_dyn_info_list_addr as weak and if it remained undefined,
	return -UNW_ENOINFO.

(Logical change 1.282)
2004-11-16 18:47:39 +00:00
bea.com!thallgre
0f818455ce Initial revision 2004-08-18 15:16:46 +00:00
bea.com!thallgre
48cc8c5712 (Logical change 1.245) 2004-08-18 15:16:46 +00:00
mostang.com!davidm
58badbb339 (add_memory): Rephrase for-loop conditional to avoid bug in Intel-compiler
which gets triggered with -O3 -ip.

(Logical change 1.212)
2004-04-22 22:36:53 +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
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
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
mostang.com!davidm
fe9d715071 (get_proc_name): Minor whitespace fixes.
(Logical change 1.199)
2004-03-31 07:38:06 +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
3a95b3c641 Initial revision 2004-03-30 01:56:19 +00:00
hp.com!davidm
a758c420e1 Update.
2004/01/28 13:40:40-08:00 hp.com!davidm
Rename: src/mi/Gset_caching_policy-ia64.c -> src/mi/Gset_caching_policy.c

(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
a58ab0d85c Update.
2004/01/28 13:40:33-08:00 hp.com!davidm
Rename: src/mi/Gget_accessors-ia64.c -> src/mi/Gget_accessors.c

(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
c93b3e827e Update.
2004/01/27 21:46:30-08:00 hp.com!davidm
Rename: src/Gget_proc_name.c -> src/mi/Gget_proc_name.c

(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
e11aa4383c Update.
2004/01/27 21:45:56-08:00 hp.com!davidm
Rename: src/Gdyn-remote.c -> src/mi/Gdyn-remote.c

(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
16df64ba9e Update.
2004/01/27 21:43:47-08:00 hp.com!davidm
Rename: src/mi/Gset_reg-mi.c -> src/mi/Gset_reg.c

(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
78999cc067 Update.
2004/01/27 21:43:27-08:00 hp.com!davidm
Rename: src/mi/Gget_reg-mi.c -> src/mi/Gget_reg.c

(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
388f60fd02 Update.
2004/01/27 21:43:03-08:00 hp.com!davidm
Rename: src/mi/Gdestroy_addr_space-mi.c -> src/mi/Gdestroy_addr_space.c

(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
cf69b9cb0d Rename: src/mi-init.c -> src/mi/init.c
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
65a70e7f88 Rename: src/mempool.c -> src/mi/mempool.c
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
1250eefc3b Rename: src/ia64/flush_cache-ia64.c -> src/mi/flush_cache.c
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
3019e19bd7 Rename: src/dyn-register.c -> src/mi/dyn-register.c
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
fb86625d3e Rename: src/dyn-info-list.c -> src/mi/dyn-info-list.c
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
c4bff72d9c Rename: src/dyn-cancel.c -> src/mi/dyn-cancel.c
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
a4bf54fa69 Rename: src/Lput_dynamic_unwind_info.c -> src/mi/Lput_dynamic_unwind_info.c
(Logical change 1.162)
2004-01-30 00:01:24 +00:00