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

3024 commits

Author SHA1 Message Date
Tommi Rantala 643fc92e91 Rename rs-race' to Lrs-race'
Only build a "local-only" version of `rs-race'. The "generic" build is
not very entertaining, as the `unw_set_caching_policy()' calls
manipulate the `unw_local_addr_space' in libunwind-$arch.so, while the
`backtrace()' calls use the address space object from libunwind.so
behind the scenes.
2012-09-28 14:50:03 +03:00
Tommi Rantala 0d7738ed4f Cleanup dynamically allocated memory before exit in tests
Cleanup dynamically allocated memory before exit in tests in a few
places where missing. While such cleanups right before exit do not
usually make much sense (as the operating system would cleanup anyway,
so manual cleanups only burn CPU cycles), we will want to catch any
potential problems in libunwind related to the cleanups. This also stops
valgrind complaining about unreleased memory.
2012-09-28 14:50:02 +03:00
Tommi Rantala 438d9de675 Remove unneeded `config.h' inclusion in Gtest-nomalloc 2012-09-28 14:50:02 +03:00
Tommi Rantala be230add88 Rename test-varargs' to Ltest-varargs'
This testcase only uses the local-only `unw_backtrace()' from libunwind,
and a "generic" build of this test case would not be interesting.
2012-09-28 14:50:02 +03:00
Tommi Rantala 939a5e195e Annotate potentially unused variable in tests/test-coredump-unwind.c
tests/test-coredump-unwind.c: In function 'handle_sigsegv':
test-coredump-unwind.c:216:15: warning: variable 'uc' set but not used [-Wunused-but-set-variable]
2012-09-28 14:06:07 +03:00
Tommi Rantala 7673df21ff Annotate potentially unused variable in tests/Gtest-trace.c
tests/Gtest-trace.c: In function 'sighandler':
tests/Gtest-trace.c:179:15: warning: unused variable 'uc' [-Wunused-variable]
2012-09-28 14:06:07 +03:00
Tommi Rantala 0c838c4d44 Annotate potentially unused variable in tests/Gtest-bt.c
tests/Gtest-bt.c: In function 'sighandler':
tests/Gtest-bt.c:158:15: warning: unused variable 'uc' [-Wunused-variable]
2012-09-28 14:06:07 +03:00
Tommi Rantala 23fdda6a28 Workaround volatileness warning in tests/ia64-test-setjmp.c
tests/ia64-test-setjmp.c:76: warning: function return types not compatible due to 'volatile'
2012-09-28 14:06:07 +03:00
Tommi Rantala 074e328d46 Avoid -Wunused-value warning in tests/Gia64-test-stack.c
tests/Gia64-test-stack.c: In function 'do_unwind_tests':
tests/Gia64-test-stack.c:91: warning: value computed is not used
2012-09-28 14:06:07 +03:00
Tommi Rantala 68b20804e4 Clear out `ip' to avoid -Wuninitialized warning in tests/test-coredump-unwind.c
This one is for architectures that we have not specifically added
support for in `tests/test-coredump-unwind.c'.

tests/test-coredump-unwind.c: In function 'handle_sigsegv':
test-coredump-unwind.c:238:10: warning: 'ip' is used uninitialized in this function [-Wuninitialized]
2012-09-28 14:06:07 +03:00
Tommi Rantala d3fd3dc3ca Default to non-verbose mode in Ltest-cxx-exceptions 2012-09-28 14:06:07 +03:00
Tommi Rantala cc6cd621ea HPPA: kludge out unused variable in unw_get_save_loc() stub 2012-09-28 14:06:07 +03:00
Tommi Rantala fc38a5339d HPPA: properly check dwarf_get() return value in unw_step() 2012-09-28 14:06:07 +03:00
Tommi Rantala 6023ccf667 PPC: remove unused `PAGE_START' macro from Ginit.c 2012-09-28 14:06:07 +03:00
Tommi Rantala 0941dedb70 Remove unused src/x86_64/Lis_signal_frame.c 2012-09-28 14:06:07 +03:00
Tommi Rantala 23ecb97906 IA64: avoid -Wunused-but-set-variable in src/ia64/init.h
In file included from src/ia64/Ginit_remote.c:26:0:
src/ia64/init.h: In function 'common_init':
src/ia64/init.h:32:12: warning: variable 'natp' set but not used [-Wunused-but-set-variable]
2012-09-28 14:06:07 +03:00
Tommi Rantala b4bde18112 Apply UNW_ALIGN more in src/mi/mempool.c
Apply UNW_ALIGN in a few places in src/mi/mempool.c that I missed in
commit c2f757418 ("Rename and share `ALIGN' macro from
_UCD_internal.h").
2012-09-28 14:06:07 +03:00
Tommi Rantala 5d0f376b08 Invert tdep_init() flag logic
Invert the flag that signals that tdep_init() was called, to move the
symbol from data to BSS.
2012-09-28 14:06:07 +03:00
Tommi Rantala c2d6f85a0a Use __sync builtin atomics on all architectures if available
We can use the __sync builtin atomics also on other architectures than
IA64. GCC 4.7 documentation notes that these builtins are ``legacy'' --
adding support for the newer GCC __atomic atomics should be fairly easy.
2012-09-28 14:06:04 +03:00
Tommi Rantala 9a3565ddc1 Simplify `sos_alloc()' implementation
Instead of maintaining a pointer to the `sos_memory' array, maintain an
index that tells the next free position. When atomic operations are
available, the allocation boils down to a single fetch-and-add
operation.
2012-09-28 13:52:22 +03:00
Tommi Rantala 26fc1563fb Align `sos_memory' to MAX_ALIGN
We give aligned pointers from the `sos_memory' array, so any non-aligned
bytes are only wasted.
2012-09-28 13:52:22 +03:00
Tommi Rantala c36a14f245 Workaround non-power-of-two i386 sizeof(long double) in src/mi/mempool.c
To ensure that we return properly aligned pointers from sos_alloc(),
MAX_ALIGN must be a power-of-two. On i386 the power-of-two assumption
fails as sizeof(long double) = 12. Fix this by rounding up to 16.
2012-09-28 13:52:22 +03:00
Tommi Rantala e6edad069c Use GCC __BIGGEST_ALIGNMENT__ for sos-pool MAX_ALIGN
Use the __BIGGEST_ALIGNMENT__ macro provided by GCC for sos_alloc()
allocation alignment. The macro gives ``the largest alignment ever used
for any data type on the target machine you are compiling for.''

__BIGGEST_ALIGNMENT__ also has some other nice properties, e.g. it is
power-of-two on all architectures (note that on i386, sizeof(long
double) = 12), and on some architectures (e.g. SuperH) the alignment
requirement can be lower than sizeof(long double).
2012-09-28 13:52:21 +03:00
Tommi Rantala 0aa60f4f15 Remove unneeded atomic_ops.h' inclusion in dwarf.h' 2012-09-28 13:52:21 +03:00
Tommi Rantala dc680c0b52 Pull attribute macros from libunwind_i.h' to new header compiler.h'
Pull attribute macros from `libunwind_i.h' to new header `compiler.h',
to allow the macros to also be used in the tests.
2012-09-28 13:52:21 +03:00
Konstantin Belousov 80e852cb38 Do not allow the reference to the local var to outlive the local var scope. 2012-09-21 23:06:24 -07:00
Konstantin Belousov d0cbc51955 x86_64: stop unwinding when %rbp location is NULL 2012-09-21 23:06:17 -07:00
Tommi Rantala e891591bcb ppc32: fixup cross build failure 2012-09-21 22:52:28 -07:00
Arun Sharma e4b24be9c2 pkg-config file fixups
Suggested-by: Alexander Toresson <alexander.toresson@gmail.com>
2012-09-21 22:46:01 -07:00
Arun Sharma ef4d2e6361 Merge ../libunwind.test1 2012-09-15 11:41:38 -07:00
Alexander Toresson ea5e90fd9f Create and install pkg-config .pc files
[Edit: renamed to libunwind-generic.pc and some .pc files
 created only when needed -- asharma@fb.com]
2012-09-15 11:34:43 -07:00
Patrick Marlier ec262e127b siglongjmp documentation fix
Hi,

I noticed a glitch in the documentation of libunwind-setjmp.
Attached the patch.

Thanks.
--
Patrick Marlier
2012-09-15 10:51:27 -07:00
Cody P Schafer 9184535486 ptrace: add more Debug to access_reg
This was useful in debugging issues with the libunwind-ptrace code on
ppc64.
2012-09-15 10:50:32 -07:00
Cody P Schafer 3d6f7479b0 ptrace: check for NULL arg.
tdep_get_func_addr in ppc64 passes NULL for the last argument of
as->access_mem.  tdep_get_func_addr is called by elf_w(lookup_symbol),
which in turn is called by elf_w(get_proc_name_in_image).

elf_w(get_proc_name_in_image) is part of the API, and is only passed an
unw_addr_space_t, not a unw_cursor_t, meaning that we cannot recover the
UPT_info on the PPC64 platform.

This could be fixed by giving libunwind the knowledge to perform
relocations itself, thus not needing to look at the running image to
determine function addresses.
2012-09-15 10:47:43 -07:00
Cody P Schafer 10abb25af4 ptrace/access_reg: print out register name on "bad register"
When we have a "bad register", print out the name of that register (if
possible) to aid in debugging.
2012-09-15 10:47:43 -07:00
Cody P Schafer f8cfe8388a configure: rename configure.in to configure.ac
According to the gnu autoconf manual, configure.ac is now preferred.
2012-09-15 10:47:43 -07:00
Cody P Schafer f796a6dfe9 ppc64: add FRAME_POINTER & NIP to regname. 2012-09-15 10:47:43 -07:00
Cody P Schafer 0abc36eb18 ppc64: be explicit in access_reg range check 2012-09-15 10:47:42 -07:00
Cody P Schafer 64e8a3d909 UPT: Add reg offsets for ppc32/64 2012-09-15 10:47:42 -07:00
Cody P Schafer 43118f3f0a configure: use AC_ARG_ENABLE(arg, text, , custom-act)
Instead of explicitly specifying "[enable_$arg=$enablearg]", use an
empty parameter to get autoconf's default (which is identical).
2012-09-15 10:47:42 -07:00
Cody P Schafer 00087cffae configure: use AC_ARG_ENABLE's defaults when possible
Allows the shortening of the AC_ARG_ENABLE calls.
2012-09-15 10:47:42 -07:00
Cody P Schafer 09ecaf3e59 configure: avoid using a shell function in autoconf
AC_DEFUN exsists for the purpose of creating functions in autoconf
scripts, use it instead of a shell function.
2012-09-15 10:47:42 -07:00
Cody P Schafer b45c27b6ee ppc64: remove tests/ppc64-test-wchar
It is not clear what is special about wchar on PPC64, and no one can
remember why this was added.

Removing.
2012-09-15 10:47:42 -07:00
Cody P Schafer 3430823b2e configure: use AS_HELP_STRING for configure args instead of manual formating
Using AS_HELP_STRING makes the output of `./configure --help` more readable.
2012-09-15 10:47:42 -07:00
Cody P Schafer 3a5d7ff694 build: make libunwind-coredump build optional
Disable the building of libunwind-coredump except on x86_64 and x86
(where implimentations exsist).

Allow overriding of this autodetection via --enable-coredump and
--disable-coredump.
2012-09-15 10:47:42 -07:00
Cody P Schafer 92af07ee19 ppc32: ppc64: test altivec support by running the compiler. 2012-09-15 10:47:42 -07:00
Cody P Schafer fa56db394d ppc32: add UNUSED attribute to dmy_ctxt 2012-09-15 10:47:42 -07:00
Cody P Schafer 4ddca1acf1 ppc32: remove unused dmy_vrregset 2012-09-15 10:47:42 -07:00
Cody P Schafer 9d42e1c381 ppc32: ppc64: use AC_COMPILE_IFELSE to test __powerpc64__ macro for ppc64
powerpc64 compilers on RHEL 6.3 (and my own built locally) do not
default to 32bit. Actually check for the bit mode.
2012-09-15 10:47:42 -07:00
ariel.burton@roguewave.com d00b621090 PATCH: fix build with --enable-msabi-support
This attached patch, relative to libuninwd-1.0.1,
will fix building with --enable-msabi-support on linux x86_64.

Ariel Burton
2012-09-15 10:47:34 -07:00