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

2671 commits

Author SHA1 Message Date
hp.com!davidm
e29611e7d3 (Logical change 1.259) 2004-08-31 13:59:10 +00:00
hp.com!davidm
9c01662f1d (EXTRA_DIST): Mention include/{ia64,x86,x86_64}/jmpbuf.h.
(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
70361981a9 ia64: Improve compatibility of setjmp/longjmp with libc's version. NPTL
is known to peek into the jump-buffer to look up the SP and the BSP,
	so this should improve NPTL-compatibility.

BKrev: 412dc459_Ucm8fVRzuNnw1MXisvqHQ
2004-08-26 11:07:05 +00:00
hp.com!davidm
18b501de4c Store rp and bsp in the same location as libc's setjmp().
(Logical change 1.258)
2004-08-26 11:07:05 +00:00
hp.com!davidm
ff2dcb9897 Pick up rp and bsp from locations compatible with libc's setjmp().
(Logical change 1.258)
2004-08-26 11:07:05 +00:00
hp.com!davidm
60665021da Tweak debug-levels a bit so you can get a function-trace with debug-level set
to 2.  Move unwind-internal.h to unwind subdirectory where it belongs.

BKrev: 412db5465GoE9lhZ1RCtwZABF9X9YA
2004-08-26 10:02:46 +00:00
hp.com!davidm
23366e72e5 Rename: src/unwind-internal.h -> src/unwind/unwind-internal.h
}(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
17c2244f91 Rename: src/unwind-internal.h -> src/unwind/unwind-internal.h
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
e965c295cf Regenerate.
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
e75a89cd6c Initial revision 2004-08-26 10:02:46 +00:00
hp.com!davidm
746fbe08e7 Increase debug-level of state-record printing to 2.
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
f576cce748 Drop debug-level for function-trace to 1.
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
f20eb7ea72 Add missing newlines in Debug statements.
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
22d6f35cda (EXTRA_DIST): unwind-internal.h is now in unwind subdirectory.
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
model.com!marky
6a349d88a5 [PATCH] dwarf: fix local & remote table lookup
remote_lookup() may return the wrong table entry or an invalid entry
combining the start address from one entry with the fde_offset from
another. The similar search in lookup() finds the correct entry, but
may perform unnecessary comparisons to get there.  Also fix the
prototype of remote_lookup().

Signed-off-by: Mark F Young <marky@model.com>
Signed-off-by: David Mosberger <davidm@hpl.hp.com>

BKrev: 412af9f4qbo3tgB2jDrMsp8-ODj9iA
2004-08-24 08:19:00 +00:00
com[davidm]!marky
271f706944 dwarf: fix local & remote table lookup
(Logical change 1.256)
2004-08-24 08:19:00 +00:00
homeip.net!davidm
a5e41807d2 check-namespace.sh.in: Check for __libunwind_Unwind* aliases.
BKrev: 4125e2096UlmdgKoZnG4-lGOPC2sIA
2004-08-20 11:35:37 +00:00
homeip.net!davidm
efa755a556 Add checks for __libunwind_* aliases.
(Logical change 1.255)
2004-08-20 11:35:37 +00:00
homeip.net!davidm
b865d61ea6 Split lib_LTLIBRARIES_cdep into two macros so we can list the libraries
in the right order.  This should fix a problem where the wrong library
was picked up if an old libunwind was installed already.  Reported
by HJ Lu.

BKrev: 4125dff9XwKbhk-7KOb0sPYHpZHbAA
2004-08-20 11:26:49 +00:00
homeip.net!davidm
0dfc1c87ed Regenerate.
(Logical change 1.254)
2004-08-20 11:26:49 +00:00
homeip.net!davidm
f028c7db74 (lib_LTLIBRARIES_cdep_setjmp): New macro. Move libunwind-setjmp.la
from lib_LTLIBRARIES_cdep to here.
(libunwind_la_SOURCES_x86_64_common): Mention x86_64/ucontext_i.h so
	it gets included in the tar-ball, too.
(lib_LTLIBRARIES): List $(lib_LTLIBRARIES_cdep_setjmp) after the
	other libraries.

(Logical change 1.254)
2004-08-20 11:26:49 +00:00
homeip.net!davidm
49af3506c7 x86_64: Fix up things some more such that "make check" is starting
to work.  Also, bt works now correctly, except that it still
	crashes when attempting to unwind across a signal-handler on
	an alternate signal-stack.

BKrev: 4125df2334Is8GIamgpMJ-630S9EBw
2004-08-20 11:23:15 +00:00
homeip.net!davidm
642607dbaa Cast register indices of type unw_word_t to (unsigned int) before
printing them.  Avoids compiler-warning for 64-bit targets.

(apply_reg_state): Handle the special case where the stack-pointer
	plays the role of the CFA and the stack-pointer hasn't
	been saved.  This is based on a patch by Max Asbock.

(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
6058013abe (unw_step): If dwarf_step() fails, fall back on using the frame-chain.
In theory, this may not be needed.  In practice, I find that
	Red Hat Enterprise Linux AS release 3, the _start() routine has
	no unwind-info, but we need to be able to unwind into this
	routine to find the end-of-frame-chain marker (RBP == 0).

(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
be2bed2712 (tdep_access_reg): If c->dwarf.cfa_is_sp is set, treat UNW_X86_64_RSP
as a read-only alias of CFA.

(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
9034bd158a (struct dwarf_cursor): Add new member "cfa_is_sp" to mark the case
when the (unsaved) stack-pointer is the CFA.

(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
9ac7a860d1 (parse_cie): Clarify the comment about the default FDE-encoding a bit.
(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
18acb92530 (flush_cache): Provide dummy-implementation for x86-64.
(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
99784e02d3 (_UPTi_find_unwind_table): Provide dummy x86-64 implementation so
"make check" can be run.

(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
d8c89b8a01 (_UPT_reg_offset): Provide x86-64 register offsts (untested).
(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
982b64232d Regenerate.
(Logical change 1.252)
2004-08-19 14:03:54 +00:00
homeip.net!davidm
9aafad075c Regenerate some files missed in the x86-64 check-in.
Move test-init-remote to where it belongs, so it does not get build for
REMOTE_ONLY.

BKrev: 4124b34apITy6n8Hvroi47or9yP9sw
2004-08-19 14:03:54 +00:00
homeip.net!davidm
3eb739d290 (check_PROGRAMS_cdep): Move test-init-remote from check_PROGRAMS_common to here
so it doesn't get built in the REMOTE_ONLY-case.

(Logical change 1.252)
2004-08-19 14:03:54 +00:00
homeip.net!davidm
4980b53aaa x86_64: Fix cross-compilation issue in src/x86_64/Gstep.c.
BKrev: 4124b26ei4ORPfaXUkGRYQfAPW_yVQ
2004-08-19 14:00:14 +00:00
homeip.net!davidm
51ef1210e8 Include ucontext_i.h.
(unw_step): Fixup signal-frame-skipping code so it can be cross-compiled.

(Logical change 1.251)
2004-08-19 14:00:14 +00:00
homeip.net!davidm
43425a9beb (Logical change 1.251) 2004-08-19 14:00:14 +00:00
homeip.net!davidm
c0603a8ebc Initial revision 2004-08-19 14:00:14 +00:00
homeip.net!davidm
d16f71cd02 test-init-remote.c: Minor cleanup.
BKrev: 4124adb8ATfgjWXy37rwz5K3skLBdQ
2004-08-19 13:40:08 +00:00
homeip.net!davidm
95dea64712 (do_backtrace): Delete unused variable "pi".
(Logical change 1.250)
2004-08-19 13:40:08 +00:00
ibm.com!masbock
e407f9a720 Regenerate.
(Logical change 1.249)
2004-08-19 13:39:10 +00:00
ibm.com!masbock
aa9a917cb4 Add x86_64 support.
(Logical change 1.249)
2004-08-19 13:39:10 +00:00
ibm.com!masbock
e9cb33eaa2 Add initial x86-64 support.
BKrev: 4124ad7eUbGr3ZlILTvvJDtKKOCxBA
2004-08-19 13:39:10 +00:00
ibm.com!masbock
a766efd844 (Logical change 1.249) 2004-08-19 13:39:10 +00:00
ibm.com!masbock
58e37267be Initial revision 2004-08-19 13:39:10 +00:00
homeip.net!davidm
a543e2d83a dwarf: First round of DWARF2 fixes. This is borrows heavily from Max
Asbock patches.

BKrev: 41249c63OG9uVLuWVHOjTb8A7aczag
2004-08-19 12:26:11 +00:00
homeip.net!davidm
077322d414 Drop DWARF-parsing debug prints from level 16 to 15.
(parse_cie): Pick correct default for FDE-encoding, not just DW_EH_PE_omit.

(Logical change 1.248)
2004-08-19 12:26:11 +00:00
homeip.net!davidm
aae368ace2 Drop DWARF-parsing debug prints from level 16 to 15.
(Logical change 1.248)
2004-08-19 12:26:11 +00:00
homeip.net!davidm
e9045e3cca Add include of dwarf_i.h now that we need dwarf_reads32().
Drop DWARF-parsing debug prints from level 16 to 15.
(struct table_entry): Change member types from unw_word_t to int32_t.  The members
	need to be of a signed type and forcing them to 32 bits makes the type
	work for both 32-bit and 64-bit executables (up to 4GB of text-size).
(callback): Only allow search tables which have 32-bit members.
	Fix initialization of di->u.rti.table_len to express table-length as a count
	of unw_word_t, as it's defined to be (we get lucky here: even with 32-bit
	members, each table-entry contains two members so we're guaranteed that the
	table has a size that is an integer-multiple of unw_word_t even on 64-bit
	platforms).
(lookup): Change type of "rel_ip" from unw_word_t to int32_t.  Simplify the
	code a bit.
(remote_read): Delete.
(remote_lookup): Use dwarf_reads32() instead of remote_read() to read out table
	members.  Simplify code a bit.

(Logical change 1.248)
2004-08-19 12:26:11 +00:00
homeip.net!davidm
5742642c24 (unw_step): Drop extra 'x' from Debug statement.
(Logical change 1.248)
2004-08-19 12:26:11 +00:00
homeip.net!davidm
51298c5d23 Regenerate.
(Logical change 1.247)
2004-08-19 12:10:58 +00:00