Ian Lance Taylor
e561a9920c
Add support for tracing through shared libraries.
...
* configure.ac: Check for link.h and dl_iterate_phdr.
* elf.c: #include <link.h> if system has dl_iterate_phdr. #undef
ELF macros before #defining them.
(dl_phdr_info, dl_iterate_phdr): Define if system does not have
dl_iterate_phdr.
(struct elf_syminfo_data): Add next field.
(elf_initialize_syminfo): Initialize next field.
(elf_add_syminfo_data): New static function.
(elf_add): New static function, broken out of
backtrace_initialize. Call backtrace_dwarf_add instead of
backtrace_dwarf_initialize.
(struct phdr_data): Define.
(phdr_callback): New static function.
(backtrace_initialize): Call elf_add.
* dwarf.c (struct dwarf_data): Add next and base_address fields.
(add_unit_addr): Add base_address parameter. Change all callers.
(add_unit_ranges, build_address_map): Likewise.
(add_line): Add ddata parameter. Change all callers.
(read_line_program, add_function_range): Likewise.
(dwarf_lookup_pc): New static function, broken out of
dwarf_fileline.
(dwarf_fileline): Call dwarf_lookup_pc.
(build_dwarf_data): New static function.
(backtrace_dwarf_add): New function.
(backtrace_dwarf_initialize): Remove.
* internal.h (backtrace_dwarf_initialize): Don't declare.
(backtrace_dwarf_add): Declare.
* configure, config.h.in: Rebuild.
From-SVN: r192267
2012-10-09 18:20:45 +00:00
Gerald Pfeifer
068ef6d10d
* btest.c (f23): Avoid uninitialized variable warning.
...
From-SVN: r192102
2012-10-04 20:16:08 +00:00
Ian Lance Taylor
244e2d9cd3
dwarf.c: If the system header files do not declare strnlen, provide our own version.
...
* dwarf.c: If the system header files do not declare strnlen,
provide our own version.
From-SVN: r192082
2012-10-04 15:16:09 +00:00
Ian Lance Taylor
be4ba8aef3
dwarf.c (read_uleb128): Fix overflow test.
...
* dwarf.c (read_uleb128): Fix overflow test.
(read_sleb128): Likewise.
(build_address_map): Don't change unit_buf.start.
From-SVN: r192053
2012-10-03 22:07:12 +00:00
Uros Bizjak
faf86a02f3
ChangeLog: Fix whitespace.
...
* gcc/ChangeLog: Fix whitespace.
* libbacktrace/ChangeLog: Ditto.
From-SVN: r191982
2012-10-02 15:28:40 +02:00
Uros Bizjak
5619500911
re PR other/54761 (FAIL log)
...
PR other/54761
* configure.ac (EXTRA_FLAGS): New.
* Makefile.am (AM_FLAGS): Add $(EXTRA_FLAGS).
* configure, Makefile.in: Regenerate.
From-SVN: r191981
2012-10-02 15:14:25 +02:00
Ian Lance Taylor
8a447b3d4d
re PR other/54749 (libbacktrace)
...
PR other/54749
* fileline.c (fileline_initialize): Pass errnum as -1 when
reporting that we could not read executable information after a
previous failure.
From-SVN: r191855
2012-09-29 17:50:54 +00:00
Ian Lance Taylor
af710874e9
re PR bootstrap/54732 (Installation failure: libbacktrace rebuilds upon install when built with "make bootstrap-lean")
...
PR bootstrap/54732
* configure.ac: Add no-dependencies to AM_INIT_AUTOMAKE.
* Makefile.am: Add dependencies for all objects.
* configure, aclocal.m4, Makefile.in: Rebuild.
From-SVN: r191819
2012-09-28 06:13:00 +00:00
Ian Lance Taylor
588f4f8fc1
re PR other/54726 (libbacktrace segfaults on gcc_asserts with stripped gcc)
...
PR other/54726
* elf.c (backtrace_initialize): Set *fileln_fn, not
state->fileln_fn.
From-SVN: r191811
2012-09-27 19:20:49 +00:00
Ian Lance Taylor
64b89453bc
configure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled as a target library.
...
* configure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled
as a target library.
* configure: Rebuild.
From-SVN: r191503
2012-09-19 22:57:53 +00:00
Rainer Orth
768505569c
configure.ac (GCC_HEADER_STDINT): Invoke.
...
* configure.ac (GCC_HEADER_STDINT): Invoke.
* backtrace.h: If we can't find <stdint.h>, use "gstdint.h".
* btest.c: Don't include <stdint.h>.
* dwarf.c: Likewise.
* configure, aclocal.m4, Makefile.in, config.h.in: Rebuild.
Co-Authored-By: Ian Lance Taylor <iant@google.com>
From-SVN: r191474
2012-09-19 13:41:33 +00:00
Ian Lance Taylor
9425c00b8e
re PR bootstrap/54623 (install fails with libbacktrace/backtrace.c:35:20: error: unwind.h: No such file or directory)
...
PR bootstrap/54623
* Makefile.am (AM_CPPFLAGS): Define.
(AM_CFLAGS): Remove -I options.
* Makefile.in: Rebuild.
From-SVN: r191459
2012-09-19 04:37:40 +00:00
Ian Lance Taylor
3319ef17d2
posix.c (O_BINARY): Define if not defined.
...
* posix.c (O_BINARY): Define if not defined.
(backtrace_open): Pass O_BINARY to open. Only call fcntl if
HAVE_FCNTL is defined.
* configure.ac: Test for the fcntl function.
* configure, config.h.in: Rebuild.
From-SVN: r191443
2012-09-18 18:06:28 +00:00
Ian Lance Taylor
bd3e497d0b
* btest.c (test1, test2, test3, test4): Add the unused attribute.
...
From-SVN: r191440
2012-09-18 17:10:01 +00:00
Ian Lance Taylor
30e15876ff
* dwarf.c: Correct test of HAVE_DECL_STRNLEN.
...
From-SVN: r191437
2012-09-18 16:50:29 +00:00
Ian Lance Taylor
d4c059d582
configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
...
* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
* mmapio.c: Don't define _GNU_SOURCE.
* configure, config.h.in: Rebuild.
From-SVN: r191435
2012-09-18 16:36:48 +00:00
Ian Lance Taylor
772a71a959
configure.ac: Check whether strnlen is declared.
...
* configure.ac: Check whether strnlen is declared.
* dwarf.c: Declare strnlen if not declared.
* configure, config.h.in: Rebuild.
From-SVN: r191433
2012-09-18 16:06:53 +00:00
Rainer Orth
c0558468b8
Fix libbacktrace bootstrap with gcc 4.4
...
* fileline.c: Include <stdlib.h>.
* mmap.c: Likewise.
From-SVN: r191414
2012-09-18 09:02:50 +00:00
Ian Lance Taylor
c5812e0b33
re PR bootstrap/54611 (Bootstrap failure: conflicting types for 'backtrace_simple')
...
PR bootstrap/54611
* nounwind.c (backtrace_full): Rename from backtrace. Add state
parameter.
From-SVN: r191408
2012-09-17 21:14:51 +00:00
Gerald Pfeifer
e8f4008a9e
re PR bootstrap/54611 (Bootstrap failure: conflicting types for 'backtrace_simple')
...
PR bootstrap/54611
* nounwind.c (backtrace_simple): Add state parameter.
From-SVN: r191405
2012-09-17 20:57:16 +00:00
Ian Lance Taylor
f588eb27dd
re PR bootstrap/54609 (libbacktrace breaks bootstrap on darwin)
...
PR bootstrap/54609
* unknown.c (unknown_fileline): Add state parameter, remove
fileline_data parameter, name error_callback parameter.
(backtrace_initialize): Add state parameter.
From-SVN: r191402
2012-09-17 17:43:26 +00:00
Ian Lance Taylor
eff02e4f84
libbacktrace/:
...
* Initial implementation.
./:
* MAINTAINERS (Various Maintainers): Add libbacktrace.
* configure.ac (host_libs): Add libbacktrace.
(target_libraries): Add libbacktrace.
* Makefile.def (host_modules): Add libbacktrace.
(target_modules): Likewise.
* configure, Makefile.in: Rebuild.
gcc/go:
* config-lang.in (target_libs): Add target-libbacktrace.
From-SVN: r191397
2012-09-17 16:38:38 +00:00