Jose Flavio Aguilar Paulino
c340d04279
[PPC32] Make get_func_addr() a no-op function.
...
[PPC64] Add .../lib64 library directory when targeting ppc64.
2007-09-20 11:11:37 -06:00
Jose Flavio Aguilar Paulino
4499bb29a6
[PPC32] First check-in to add preliminary support for Linux/PPC32.
2007-09-12 21:52:25 -06:00
David Mosberger-Tang
6d75df39b5
Regenerate Makefile.in.
2007-08-27 15:31:10 -06:00
Jose Flavio Aguilar Paulino
32e2187fab
[PPC64] Get "make check" to work on PPC64 Linux. Add a README entry
...
describing the expected results.
2007-08-27 09:11:37 -06:00
Jose Flavio Aguilar Paulino
3e24581adc
[PPC64] Add PPC64 entry to README and fix David's typo in ppc64/get_func_addr.c
2007-08-24 10:54:00 -06:00
David Mosberger-Tang
e6b9f350f7
Introduce a tdep_get_func_addr_hook() in the ELF lookup_symbol()
...
routine and add address-space argument. This is needed because on
PPC64, a the function-name symbol refers to a function descriptor
(unlike, for example, on ia64, where the @fptr() operator is needed to
refer to a function descriptor). Thus, in order to look up the name
of a function, we need to dereference the function descriptor. To
make matters more "interesting", the function descriptors are normally
resolved by the dynamic linker, so we can't get their values from the
ELF file. Instead, we have to read them from the running image, hence
the need for the address-space argument.
2007-08-22 13:02:09 -06:00
David Mosberger-Tang
03e05b4138
Fix two minor compiler-warnings.
2007-08-22 12:57:49 -06:00
David Mosberger-Tang
7fdd022ccf
Update autoconf files.
2007-08-09 21:18:15 -06:00
Arun Sharma
bcca3ddcc0
[x86-64] Fix cross-compilation. setcontext.S can only be built natively.
2007-08-07 21:09:12 -06:00
David Mosberger-Tang
297315675e
Recreate autoconf files.
2007-08-06 20:27:29 -06:00
David Mosberger-Tang
5c95d139df
Cleanup some files from previous patch and rerurn autoconf tools.
2007-08-06 19:59:28 -06:00
Arun Sharma
3afd613545
[X86-64]: Instead of auto-generating _u_context_i.h, hardcode the
...
necessary offsets in offsets.h as is done for other
platforms. This fixes cross-builds.
2007-08-06 19:58:12 -06:00
David Mosberger-Tang
fad8b04c9f
Rebuilt configure and Makefile.in files.
2007-08-06 19:56:28 -06:00
Jose Flavio Aguilar Paulino
b33021e4b2
Add PPC64 support.
2007-08-02 09:59:43 -06:00
David Mosberger-Tang
a6393c0be1
Merge ../libunwind-v0.98
2007-06-06 20:58:56 -06:00
Andreas Schwab
09c8c7d0f3
(unw_create_addr_space): Fix address-leak that triggered when function
...
was called with an unsupported "byte_order".
Signed-off-by: David Mosberger-Tang <dmosberger@gmail.com>
2007-06-06 20:55:36 -06:00
David Mosberger-Tang
7923ae31a0
Re-run aclocal and automake to update Makefiles so new files (e.g.,
...
x86_64/gen_offsets.c) get distributed.
2007-04-10 20:35:15 -06:00
Arun Sharma
497b987043
Add gen-offsets to the Makefile
...
This is so that the source file gets distributed and _ucontext_i.h is
generated properly on the target machine.
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2007-04-10 20:18:56 -06:00
Arun Sharma
31440e9796
Make libunwind pass C++ exceptions correctly
...
When libunwind is linked with a C++ program that throws exceptions,
the exception that's thrown is passed in %rax. However, libc's
setcontext clears %rax, causing problems.
This patch implements a setcontext that doesn't clobber rax.
TBD: Add dwarf CFI annotations
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2007-04-05 20:40:41 -06:00
Arun Sharma
55fe524775
Cleanup the hash() function copied from ia64
...
Fixes the compiler warning on x86-32.
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-08-16 15:43:49 -06:00
Arun Sharma
a5d0c1f8b7
Remove HAVE___THREAD. This was never tested.
...
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-08-16 15:41:32 -06:00
David Mosberger-Tang
62bacfcf1f
[x86-64] Minor reformatting for GNU-style and use memset() in lieu of bzero().
2006-08-10 21:34:31 -06:00
Arun Sharma (अरुण)
795529eee3
[x86-64] Add a known good address cache.
...
This improves the performance of Lperf-simple from 500ns to 195ns
on the avg.
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-08-10 21:30:01 -06:00
David Mosberger-Tang
bde67706ed
Delete some backup files that accidentally made it into git.
2006-07-27 21:30:19 -06:00
Arun Sharma
11ea1275bd
[dwarf] The sword() function in Gexpr.c doesn't do what's intended.
...
Yes, it casts to signed, but then converts right back to
unsigned via the return type. Fixed thus.
Signed-off-by: Richard Henderson <rth@redhat.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 22:12:10 -06:00
Arun Sharma
cdb96f333c
[x86] (common_init): Fix spurious errors caused by uninitialized members.
...
Signed-off-by: Richard Henderson <rth@redhat.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 22:09:10 -06:00
Arun Sharma
8297866bd4
[x86-64] (unw_step): Further refine handling of functions without unwind-info.
...
CFA should be incremented by 16 in the hope that the previous frame
may have valid unwind info.
Also increase the default frame pointer recognition heuristic from 4k
to 16k.
Signed-off-by: Andrey Veskov <Andrey.Veskov@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 22:06:48 -06:00
Arun Sharma
06d2ffa41a
[x86-64] (unw_step): Improve handling of functions which lack unwind info.
...
If following the frame-chain leads to a frame >= 4KB away, we conclude that
the frame-pointer isn't really valid.
2006-07-26 22:04:40 -06:00
Arun Sharma
7c0907634d
[x86-64] (unw_is_signal_frame): If access mem fails, it's not a signal frame.
2006-07-26 21:58:27 -06:00
Arun Sharma
58888a5060
(dwarf_find_save_locs): Also apply register-state after parsing the FDE
2006-07-26 21:55:09 -06:00
Arun Sharma
527225e492
[x86-64] Make a best effort at validating pointers before dereferencing them.
...
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 21:46:39 -06:00
Arun Sharma
4312719cbc
[dwarf] Need to guard against multiple threads accessing the rs cache.
...
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 21:44:38 -06:00
Arun Sharma
c5dc3c150a
[dwarf] Allow return address column to differ from function to function.
...
Signed-off-by: Andrey Veskov <Andrey.Veskov@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 21:29:50 -06:00
Arun Sharma
60b7af702a
(dwarf_find_save_locs): Add a comment.
...
Now that dwarf_find_save_locs() not just finds the save-locations but
also updates the cursor-state, document this fact (the function really
is misnamed now).
2006-07-26 21:25:37 -06:00
Arun Sharma
3dfde7a3f0
(dwarf_find_save_locs): put_unwind_info() is not needed in the cached case.
2006-07-26 21:23:30 -06:00
Arun Sharma
00db7f752a
Implement a ip -> dwarf_reg_state cache.
...
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 21:18:49 -06: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
8c94e12429
(_UPT_find_proc_info): Fix potential crash due to uninitialized pointer.
...
Be sure to clear pi->unwind_info when looking up the kernel table and
not needing the unwind-info. Otherwise, _UPT_put_unwind_info() may
erroneously call free() on the pointer, even though that space wasn't
malloc'd, leading to crashes..
2006-07-26 15:43:23 -06:00
David Mosberger-Tang
fd2fa63a6c
Fix missed merge on setjmp_i.h and siglongjmp.c.
2006-07-26 15:21:52 -06:00
David Mosberger-Tang
69d85f7c14
Restore mi/Ldyn-remote.c.
2006-07-26 15:10:48 -06:00
David Mosberger-Tang
236e370dc5
Remove three Emacs backup-files which accidentially got checked into git.
2006-07-26 14:54:50 -06:00
David Mosberger-Tang
6daeeac60a
Revert "Initial revision"
...
This reverts e6446885f4
commit.
2006-07-26 14:53:49 -06:00
David Mosberger-Tang
a369768c27
Revert "Initial revision"
...
This reverts 06d223e924
commit.
2006-07-26 14:47:44 -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
af2503e223
Fix bug in libunwind-ptrace which can cause reading of random data.
...
(maps_next): After reading less than a full buffer of data, copy
remaining data to the top of the buffer so as to maintain the
invariant that all data between mi->buf and mi->buf_end is valid.
This avoids maps_next() parsing uninitialized data.
2006-07-25 21:35:30 -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
36a0275014
Allow write-access to UNW_IA64_BSP and UNW_REG_SP.
...
(Logical change 1.303)
2005-05-20 15:32:18 +00:00
hp.com!davidm
cf2a44ca49
Use update_nat() instead of equivalent open code.
...
(Logical change 1.301)
2005-05-20 14:58:46 +00:00
hp.com!davidm
f5de64f9f7
If r1 has been saved in an ABI-specific frame
...
(such as an interrupt frame), access the saved
value. Otherwise, pick it up from the unwind-info
for the matching IP.
(Logical change 1.300)
2005-05-20 14:50:54 +00:00