gcc/libbacktrace
Ian Lance Taylor 66ab583969 libbacktrace: simplify DWARF section handling
This is in preparation for adding DWARF 5 support.

	* internal.h (enum dwarf_section): Define.
	(struct dwarf_sections): Define.
	(backtrace_dwarf_add): Update declaration to replace specific
	section parameters with dwarf_sections parameter.
	* dwarf.c (struct dwarf_data): Replace specific section fields
	with dwarf_sections field.
	(read_attribute): Use dwarf_sections with altlink.
	(build_address_map): Replace specific section parameters with
	dwarf_sections parameter.  Change all callers.
	(read_line_info): Use dwarf_sections with ddata.
	(read_referenced_name): Likewise.
	(add_function_ranges): Likewise.
	(read_function_entry): Likewise.
	(read_function_info): Likewise.
	(build_dwarf_data): Replace specific section parameters with
	dwarf_sections parameter.  Change all callers.
	(backtrace_dwarf_add): Likewise.
	* elf.c (enum debug_section): Remove.
	(dwarf_section_names): Remove .zdebug names.
	(elf_add): Track zsections separately.  Build dwarf_sections.
	* pecoff.c (enum debug_section): Remove.
	(struct debug_section_info): Remove data field.
	(coff_add): Build dwarf_sections.
	* xcoff.c (enum dwarf_section): Remove.  Replace DWSECT_xxx
	references with DEBUG_xxx references.
	(xcoff_add): Build dwarf_sections.

From-SVN: r278984
2019-12-05 02:20:11 +00:00
..
ChangeLog libbacktrace: simplify DWARF section handling 2019-12-05 02:20:11 +00:00
ChangeLog.jit Merger of dmalcolm/jit branch from git 2014-11-11 21:55:52 +00:00
Makefile.am Makefile.am (BUILDTESTS): Remove test_elf, add test_elf_32 and test_elf_64. 2019-05-24 11:55:21 +00:00
Makefile.in Makefile.am (BUILDTESTS): Remove test_elf, add test_elf_32 and test_elf_64. 2019-05-24 11:55:21 +00:00
README
aclocal.m4 Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
alloc.c Update copyright years. 2019-01-01 13:31:55 +01:00
allocfail.c * allocfail.c (main): Increase portability of printf statement. 2019-01-20 15:09:02 +00:00
allocfail.sh Update copyright years. 2019-01-01 13:31:55 +01:00
atomic.c Update copyright years. 2019-01-01 13:31:55 +01:00
backtrace-supported.h.in Update copyright years. 2019-01-01 13:31:55 +01:00
backtrace.c [libbacktrace] Declare external backtrace fns noinline 2019-02-08 09:49:06 +00:00
backtrace.h PR other/16615 [1/5] 2019-01-09 16:37:45 -05:00
btest.c [libbacktrace] Fix btest-lto for older gcc 2019-02-26 16:09:40 +00:00
config.h.in Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
configure Regenerate `configure' scripts for `uclinuxfdpiceabi' libtool.m4 update 2019-09-27 21:24:42 +00:00
configure.ac Remove Cell Broadband Engine SPU targets 2019-09-03 15:08:28 +00:00
dwarf.c libbacktrace: simplify DWARF section handling 2019-12-05 02:20:11 +00:00
edtest.c Update copyright years. 2019-01-01 13:31:55 +01:00
edtest2.c Update copyright years. 2019-01-01 13:31:55 +01:00
elf.c libbacktrace: simplify DWARF section handling 2019-12-05 02:20:11 +00:00
fileline.c Update copyright years. 2019-01-01 13:31:55 +01:00
filetype.awk configure.ac: Check for XCOFF32/XCOFF64. 2017-07-26 21:43:28 +00:00
install-debuginfo-for-buildid.sh.in [libbacktrace] Add test-cases exercising build-id and dwz 2019-01-29 16:25:46 +00:00
instrumented_alloc.c Update copyright years. 2019-01-01 13:31:55 +01:00
internal.h libbacktrace: simplify DWARF section handling 2019-12-05 02:20:11 +00:00
mmap.c Update copyright years. 2019-01-01 13:31:55 +01:00
mmapio.c re PR libbacktrace/88890 (libbacktrace on 32-bit system with _FILE_OFFSET_BITS == 64) 2019-01-18 17:13:59 +00:00
nounwind.c Update copyright years. 2019-01-01 13:31:55 +01:00
pecoff.c libbacktrace: simplify DWARF section handling 2019-12-05 02:20:11 +00:00
posix.c Update copyright years. 2019-01-01 13:31:55 +01:00
print.c [libbacktrace] Declare external backtrace fns noinline 2019-02-08 09:49:06 +00:00
read.c re PR libbacktrace/88890 (libbacktrace on 32-bit system with _FILE_OFFSET_BITS == 64) 2019-01-18 17:13:59 +00:00
simple.c [libbacktrace] Declare external backtrace fns noinline 2019-02-08 09:49:06 +00:00
sort.c Update copyright years. 2019-01-01 13:31:55 +01:00
state.c Update copyright years. 2019-01-01 13:31:55 +01:00
stest.c Update copyright years. 2019-01-01 13:31:55 +01:00
test_format.c Update copyright years. 2019-01-01 13:31:55 +01:00
testlib.c Update copyright years. 2019-01-01 13:31:55 +01:00
testlib.h Update copyright years. 2019-01-01 13:31:55 +01:00
ttest.c Update copyright years. 2019-01-01 13:31:55 +01:00
unittest.c Update copyright years. 2019-01-01 13:31:55 +01:00
unknown.c Update copyright years. 2019-01-01 13:31:55 +01:00
xcoff.c libbacktrace: simplify DWARF section handling 2019-12-05 02:20:11 +00:00
ztest.c Update copyright years. 2019-01-01 13:31:55 +01:00

README

The libbacktrace library
Initially written by Ian Lance Taylor <iant@google.com>

The libbacktrace library may be linked into a program or library and
used to produce symbolic backtraces.  Sample uses would be to print a
detailed backtrace when an error occurs or to gather detailed
profiling information.

The libbacktrace library is provided under a BSD license.  See the
source files for the exact license text.

The public functions are declared and documented in the header file
backtrace.h, which should be #include'd by a user of the library.

Building libbacktrace will generate a file backtrace-supported.h,
which a user of the library may use to determine whether backtraces
will work.  See the source file backtrace-supported.h.in for the
macros that it defines.

As of September 2012, libbacktrace only supports ELF executables with
DWARF debugging information.  The library is written to make it
straightforward to add support for other object file and debugging
formats.