diff options
Diffstat (limited to 'libbacktrace/ChangeLog')
-rw-r--r-- | libbacktrace/ChangeLog | 1774 |
1 files changed, 1774 insertions, 0 deletions
diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog new file mode 100644 index 0000000..dc986b9 --- /dev/null +++ b/libbacktrace/ChangeLog @@ -0,0 +1,1774 @@ +2021-08-13 Sergei Trofimovich <siarheit@google.com> + + * install-debuginfo-for-buildid.sh.in: Force non-localized readelf + output with LANG=C. + +2021-06-28 Clément Chigot <clement.chigot@atos.net> + + * xcoff.c (SSUBTYP_DWRNGES): New define. + (xcoff_add): Use correct XCOFF DWARF section subtype + for DEBUG_RANGES. Remove lineoff workaround. + Adjust base_address. + (xcoff_initialize_syminfo): Adapt to new base_address. + (xcoff_lookup_pc): Likewise. + (xcoff_initialize_fileline): Likewise. + +2021-05-03 H.J. Lu <hjl.tools@gmail.com> + + PR bootstrap/99703 + * configure: Regenerated. + +2021-03-03 Ian Lance Taylor <iant@golang.org> + + * dwarf.c (read_line_program): Don't special case file 0. + (read_function_entry): Likewise. + +2021-03-02 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/98818 + * dwarf.c (dwarf_buf_error): Add errnum parameter. Change all + callers. + * backtrace.h: Update backtrace_error_callback comment. + +2021-02-12 Ian Lance Taylor <iant@golang.org> + + * configure.ac: Check for objcopy --add-gnu-debuglink by using + objcopy --help. + * configure: Regenerate + +2021-01-18 Ian Lance Taylor <iant@golang.org> + + * Makefile.am (%_dwz): If dwz fails, use uncompressed debug info. + * Makefile.in: Regenerate. + * configure: Regenerate. + +2021-01-18 Ian Lance Taylor <iant@golang.org> + + PR debug/98716 + * dwarf.c (read_v2_paths): Allocate zero entry for dirs and + filenames. + (read_line_program): Remove parameter u, change caller. Don't + subtract one from dirs and filenames index. + (read_function_entry): Don't subtract one from filenames index. + +2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * configure: Re-generate. + +2020-12-05 Iain Sandoe <iain@sandoe.co.uk> + + PR target/97865 + * configure: Regenerate. + +2020-12-02 Ian Lance Taylor <iant@golang.org> + + * dwarf.c (resolve_string): Use > rather than >= to check whether + string index extends past buffer. + (resolve_addr_index): Similarly for address index. + +2020-11-29 John David Anglin <danglin@gcc.gnu.org> + + * configure: Regenerate. + +2020-10-20 Ian Lance Taylor <iant@golang.org> + + * internal.h (ATTRIBUTE_FALLTHROUGH): Define. + * elf.c (elf_zlib_inflate): Use ATTRIBUTE_FALLTHROUGH. + +2020-09-28 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/97082 + * Makefile.am (check_DATA): Add mtest.dSYM if USE_DSYMUTIL. + * Makefile.in: Regenerate. + +2020-09-28 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/97227 + * configure.ac (USE_DSYMUTIL): Define instead of HAVE_DSYMUTIL. + * Makefile.am: Change all uses of HAVE_DSYMUTIL to USE_DSYMUTIL. + * configure: Regenerate. + * Makefile.in: Regenerate. + +2020-09-23 Ian Lance Taylor <iant@golang.org> + + * dwarf.c (report_inlined_functions): Handle PC == -1 and PC == + p->low. + (dwarf_lookup_pc): Likewise. + +2020-09-17 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/97080 + * fileline.c (backtrace_syminfo_to_full_callback): New function. + (backtrace_syminfo_to_full_error_callback): New function. + * elf.c (elf_nodebug): Call syminfo_fn if possible. + * internal.h (struct backtrace_call_full): Define. + (backtrace_syminfo_to_full_callback): Declare. + (backtrace_syminfo_to_full_error_callback): Declare. + * mtest.c (f3): Only check all[i] if data.index permits. + +2020-09-16 Iain Sandoe <iain@sandoe.co.uk> + + * macho.c (MACH_O_CPU_TYPE_PPC): New. + (MACH_O_CPU_TYPE_PPC64): New. + Add compile-tests for powerpc to the Mach-O variants. + +2020-09-14 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/93608 + Add support for MiniDebugInfo. + * elf.c (struct elf_view): Define. Replace most uses of + backtrace_view with elf_view. + (elf_get_view): New static functions. Replace most calls of + backtrace_get_view with elf_get_view. + (elf_release_view): New static functions. Replace most calls of + backtrace_release_view with elf_release_view. + (elf_uncompress_failed): Rename from elf_zlib_failed. Change all + callers. + (LZMA_STATES, LZMA_POS_STATES, LZMA_DIST_STATES): Define. + (LZMA_DIST_SLOTS, LZMA_DIST_MODEL_START): Define. + (LZMA_DIST_MODEL_END, LZMA_FULL_DISTANCES): Define. + (LZMA_ALIGN_SIZE, LZMA_LEN_LOW_SYMBOLS): Define. + (LZMA_LEN_MID_SYMBOLS, LZMA_LEN_HIGH_SYMBOLS): Define. + (LZMA_LITERAL_CODERS_MAX, LZMA_LITERAL_CODER_SIZE): Define. + (LZMA_PROB_IS_MATCH_LEN, LZMA_PROB_IS_REP_LEN): Define. + (LZMA_PROB_IS_REP0_LEN, LZMA_PROB_IS_REP1_LEN): Define. + (LZMA_PROB_IS_REP2_LEN, LZMA_PROB_IS_REP0_LONG_LEN): Define. + (LZMA_PROB_DIST_SLOT_LEN, LZMA_PROB_DIST_SPECIAL_LEN): Define. + (LZMA_PROB_DIST_ALIGN_LEN): Define. + (LZMA_PROB_MATCH_LEN_CHOICE_LEN): Define. + (LZMA_PROB_MATCH_LEN_CHOICE2_LEN): Define. + (LZMA_PROB_MATCH_LEN_LOW_LEN): Define. + (LZMA_PROB_MATCH_LEN_MID_LEN): Define. + (LZMA_PROB_MATCH_LEN_HIGH_LEN): Define. + (LZMA_PROB_REP_LEN_CHOICE_LEN): Define. + (LZMA_PROB_REP_LEN_CHOICE2_LEN): Define. + (LZMA_PROB_REP_LEN_LOW_LEN): Define. + (LZMA_PROB_REP_LEN_MID_LEN): Define. + (LZMA_PROB_REP_LEN_HIGH_LEN): Define. + (LZMA_PROB_LITERAL_LEN): Define. + (LZMA_PROB_IS_MATCH_OFFSET, LZMA_PROB_IS_REP_OFFSET): Define. + (LZMA_PROB_IS_REP0_OFFSET, LZMA_PROB_IS_REP1_OFFSET): Define. + (LZMA_PROB_IS_REP2_OFFSET): Define. + (LZMA_PROB_IS_REP0_LONG_OFFSET): Define. + (LZMA_PROB_DIST_SLOT_OFFSET): Define. + (LZMA_PROB_DIST_SPECIAL_OFFSET): Define. + (LZMA_PROB_DIST_ALIGN_OFFSET): Define. + (LZMA_PROB_MATCH_LEN_CHOICE_OFFSET): Define. + (LZMA_PROB_MATCH_LEN_CHOICE2_OFFSET): Define. + (LZMA_PROB_MATCH_LEN_LOW_OFFSET): Define. + (LZMA_PROB_MATCH_LEN_MID_OFFSET): Define. + (LZMA_PROB_MATCH_LEN_HIGH_OFFSET): Define. + (LZMA_PROB_REP_LEN_CHOICE_OFFSET): Define. + (LZMA_PROB_REP_LEN_CHOICE2_OFFSET): Define. + (LZMA_PROB_REP_LEN_LOW_OFFSET): Define. + (LZMA_PROB_REP_LEN_MID_OFFSET): Define. + (LZMA_PROB_REP_LEN_HIGH_OFFSET): Define. + (LZMA_PROB_LITERAL_OFFSET): Define. + (LZMA_PROB_TOTAL_COUNT): Define. + (LZMA_IS_MATCH, LZMA_IS_REP, LZMA_IS_REP0): Define. + (LZMA_IS_REP1, LZMA_IS_REP2, LZMA_IS_REP0_LONG): Define. + (LZMA_DIST_SLOT, LZMA_DIST_SPECIAL, LZMA_DIST_ALIGN): Define. + (LZMA_MATCH_LEN_CHOICE, LZMA_MATCH_LEN_CHOICE2): Define. + (LZMA_MATCH_LEN_LOW, LZMA_MATCH_LEN_MID): Define. + (LZMA_MATCH_LEN_HIGH, LZMA_REP_LEN_CHOICE): Define. + (LZMA_REP_LEN_CHOICE2, LZMA_REP_LEN_LOW): Define. + (LZMA_REP_LEN_MID, LZMA_REP_LEN_HIGH, LZMA_LITERAL): Define. + (elf_lzma_varint): New static function. + (elf_lzma_range_normalize): New static function. + (elf_lzma_bit, elf_lzma_integer): New static functions. + (elf_lzma_reverse_integer): New static function. + (elf_lzma_len, elf_uncompress_lzma_block): New static functions. + (elf_uncompress_lzma): New static function. + (backtrace_uncompress_lzma): New function. + (elf_add): Add memory and memory_size parameters. Change all + callers. Look for .gnu_debugdata section, and, if found, + decompress it and use it for symbols and debug info. Permit the + descriptor parameter to be -1. + * internal.h (backtrace_uncompress_lzma): Declare. + * mtest.c: New file. + * xztest.c: New file. + * configure.ac: Check for nm, xz, and comm programs. Check for + liblzma library. + (HAVE_MINIDEBUG): Define. + * Makefile.am (mtest_SOURCES): Define. + (mtest_CFLAGS, mtest_LDADD): Define. + (TESTS): Add mtest_minidebug if HAVE_MINIDEBUG. + (%_minidebug): New pattern rule, if HAVE_MINIDEBUG. + (xztest_SOURCES, xztest_CFLAGS, xztest_LDADD): Define. + (xztest_alloc_SOURCES, xztest_alloc_CFLAGS): Define + (xztest_alloc_LDADD): Define. + (BUILDTESTS): Add mtest, xztest, xztest_alloc. + (CLEANFILES): Add files created by minidebug pattern. + (btest.lo): Correct INCDIR reference. + (mtest.lo, xztest.lo, ztest.lo): New targets. + * configure: Regenerate. + * config.h.in: Regenerate. + * Makefile.in: Regenerate. + +2020-09-09 Ian Lance Taylor <iant@golang.org> + + * pecoff.c (coff_initialize_syminfo): Add is_64 parameter. + (coff_add): Determine and pass is_64. + +2020-09-09 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/96973 + * fileline.c (macho_get_executable_path): New static function. + (fileline_initialize): Call macho_get_executable_path. + +2020-09-09 Ian Lance Taylor <iant@golang.org> + + * dwarf.c (function_addrs_search): Compare against the next entry + low address, not the high address. + (unit_addrs_search): Likewise. + (build_address_map): Add a trailing unit_addrs. + (read_function_entry): Add a trailing function_addrs. + (read_function_info): Likewise. + (report_inlined_functions): Search backward for function_addrs + match. + (dwarf_lookup_pc): Search backward for unit_addrs and + function_addrs matches. + +2020-09-08 Ian Lance Taylor <iant@golang.org> + + * simple.c (simple_unwind): Correct comment spelling. + +2020-09-08 Ian Lance Taylor <iant@golang.org> + + * macho.c (macho_add_dsym): Make space for '/' in dsym. Use + correct length when freeing diralc. + +2020-09-08 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/96973 + * macho.c (macho_add_fat): Correctly swap 32-bit file offset. + +2020-09-08 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/96971 + * filetype.awk: Only match magic number at start of line. + +2020-08-24 Ian Lance Taylor <iant@golang.org> + + * macho.c (MACH_O_MH_MAGIC_FAT_64): Define. + (MACH_O_MH_CIGAM_FAT_64): Define. + (struct macho_fat_arch_64): Define. + (macho_add_fat): Add and use is_64 parameter. + (macho_add): Recognize 64-bit fat files. + +2020-07-30 H.J. Lu <hjl.tools@gmail.com> + + PR bootstrap/96202 + * configure: Regenerated. + +2020-07-08 Ian Lance Taylor <iant@golang.org> + + * configure.ac: Test linker support for DWARF5 + * configure: Regenerate + +2020-05-29 H.J. Lu <hjl.tools@gmail.com> + + PR bootstrap/95413 + * configure: Regenerated. + +2020-05-15 H.J. Lu <hongjiu.lu@intel.com> + + PR bootstrap/95147 + * configure: Regenerated. + +2020-05-14 H.J. Lu <hongjiu.lu@intel.com> + + * configure: Regenerated. + +2020-05-13 Ian Lance Taylor <iant@golang.org> + + * ztest.c (test_large): Mark state ATTRIBUTE_UNUSED. + +2020-05-13 Ian Lance Taylor <iant@golang.org> + + PR go/95061 + * posix.c (backtrace_open): Treat EACCESS like ENOENT. + +2020-05-12 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.am (AM_CFLAGS): Add $(CET_HOST_FLAGS). + * configure.ac: Add GCC_CET_HOST_FLAGS(CET_HOST_FLAGS) and + AC_SUBST(CET_HOST_FLAGS). Clear CET_HOST_FLAGS if jit isn't + enabled. + * Makefile.in: Regenerated. + * configure: Likewise. + +2020-05-11 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/95012 + * configure.ac: Check for getpagesize declaration. + * mmap.c: Declare getpagesize if necessary. + * mmapio.c: Likewise. + * configure: Regenerate. + * config.h.in: Regenerate. + * Makefile.in: Regenerate. + +2020-05-09 Roland McGrath <mcgrathr@google.com> + + * elf.c (elf_add): Bail early if there are no section headers at all. + +2020-05-09 Ian Lance Taylor <iant@golang.org> + + * elf.c (elf_add): Don't free strtab if an error occurs after + recording symbol information. + +2020-05-09 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/88745 + * macho.c: New file. + * filetype.awk: Recognize Mach-O files. + * Makefile.am (FORMAT_FILES): Add macho.c. + (check_DATA): New variable. Set to .dSYM if HAVE_DSYMUTIL. + (%.dSYM): New pattern target. + (test_macho_SOURCES, test_macho_CFLAGS): New targets. + (test_macho_LDADD): New target. + (BUILDTESTS): Add test_macho. + (macho.lo): Add dependencies. + * configure.ac: Recognize macho file type. Check for + mach-o/dyld.h. Don't try to run objcopy if we don't find it. + Look for dsymutil and define a HAVE_DSYMUTIL conditional. + * Makefile.in: Regenerate. + * configure: Regenerate. + * config.h.in: Regenerate. + +2020-05-09 Ian Lance Taylor <iant@golang.org> + + * read.c (backtrace_get_view): Support short read. + +2020-05-09 Ian Lance Taylor <iant@golang.org> + + * elf.c (elf_add): If debug sections are very large or far apart, + read them individually rather than as a single view. + +2020-05-08 Ian Lance Taylor <iant@golang.org> + + * fileline.c (sysctl_exec_name): New static function. + (sysctl_exec_name1): New macro or static function. + (sysctl_exec_name2): Likewise. + (fileline_initialize): Try sysctl_exec_name[12]. + * configure.ac: Check for sysctl args to fetch executable name. + * configure: Regenerate. + * config.h.in: Regenerate. + +2020-02-15 Ian Lance Taylor <iant@golang.org> + + * ztest.c (test_large): Update file to current libgo test file. + +2020-02-03 Ian Lance Taylor <iant@golang.org> + + * Makefile.am (libbacktrace_TEST_CFLAGS): Define. + (test_elf32_CFLAGS): Use $(libbacktrace_test_CFLAGS). + (test_elf_64_CFLAGS, test_xcoff_32_CFLAGS): Likewise. + (test_xcoff_64_CFLAGS, test_pecoff_CFLAGS): Likewise. + (test_unknown_CFLAGS, unittest_CFLAGS): Likewise. + (unittest_alloc_CFLAGS, allocfail_CFLAGS): Likewise. + (b2test_CFLAGS, b3test_CFLAGS, btest_CFLAGS): Likewise. + (btest_lto_CFLAGS, btest_alloc_CFLAGS, stest_CFLAGS): Likewise. + (stest_alloc_CFLAGS): Likewise. + * Makefile.in: Regenerate. + * ztest.c (error_callback_compress): Mark vdata unused. + (test_large): Add casts to avoid warnings. + +2020-01-01 Jakub Jelinek <jakub@redhat.com> + + Update copyright years. + +2019-12-13 Ian Lance Taylor <iant@golang.org> + + Add DWARF 5 support. + * dwarf.c (struct attr): Add val field. + (enum attr_val_encoding): Add ATTR_VAL_ADDDRESS_INDEX, + ATTR_VAL_STRING_INDEX, ATTR_VAL_RNGLISTS_INDEX. + (struct line_header): Add addrsize field. + (struct line_header_format): Define. + (struct unit): Add str_offsets_base, addr_base, and rnglists_base + fields. + (read_uint24): New static function. + (read_attribute): Add implicit_val parameter. Replace dwarf_str + and dwarf_str_size parameters with dwarf_sections parameter. Add + support for new DWARF 5 forms. Change all callers. + (resolve_string): New static function. + (resolve_addr_index): Likewise. + (read_abbrevs): Support DW_FORM_implicit_const. + (struct pcrange): Add lowpc_is_addr_index, highpc_is_addr_Index, + and ranges_is_index fields. + (update_pcrange): Support DWARF 5 encodings. + (add_high_low_range): New static function, split out of + add_ranges. + (add_ranges_from_ranges): Likewise. + (add_ranges_from_rnglists): New static function. + (add_ranges): Just call new helper functions. + (find_address_ranges): Use resolve_string for strings, after + reading all attributes. Handle new DWARF 5 attributes. + (build_address_map): Support DWARF 5 compilation units. + (read_v2_paths): New static function, split out of + read_line_header. + (read_lnct): New static function. + (read_line_header_format_entries): Likewise. + (read_line_header): Add ddata parameter. Support DWARF 5 line + headers. Call new helper functions. Change all callers. + (read_line_program): Use addrsize from line program header. Don't + special case directory index 0 for DWARF 5. + (read_referenced_name): Use resolve_string. + (read_function_entry): Handle DWARF 5 encodings. Use + resolve_string. + * internal.h (enum dwarf_section): Add DEBUG_ADDR, + DEBUG_STR_OFFSETS, DEBUG_LINE_STR, DEBUG_RNGLISTS. + * elf.c (dwarf_section_names): Add new section names. + * pecoff.c (dwarf_section_names): Likewise. + * xcoff.c (xcoff_add): Clear dwarf_sections before setting + fields. + * configure.ac: Define HAVE_DWARF5 automake conditional. + * Makefile.am (dwarf5_SOURCES): New variable if HAVE_DWARF5. + (dwarf5_CFLAGS, dwarf5_LDADD): Likewise. + (dwarf5_alloc_SOURCES, dwarf5_alloc_CFLAGS): Likewise. + (dwarf5_alloc_LDADD): Likewise. + (BUILDTESTS): Add dwarf5 tests if HAVE_DWARF5. + (CLEANFILES, clean-local): Define. + +2019-12-08 Ian Lance Taylor <iant@golang.org> + + * dwarf.c (struct pcrange): Define. + (update_pcrange, add_ranges): New static functions. + (add_unit_addr): Change signature to work with add_ranges. Don't + add base_address here. + (add_unit_ranges): Remove. + (find_address_ranges): Replace str/ranges parameters with + dwarf_sections. Use update_pcrange and add_ranges. Change all + callers. + (add_function_range): Change signature to work with add_ranges. + Don't add base_address here. + (add_function_ranges): Remove. + (read_function_entry): Use update_pcrange and add_ranges. + +2019-12-04 Ian Lance Taylor <iant@golang.org> + + * edtest.c (test1): Add noclone attribute. + +2019-12-04 Ian Lance Taylor <iant@golang.org> + + * 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. + +2019-09-27 Maciej W. Rozycki <macro@wdc.com> + + * configure: Regenerate. + +2019-09-26 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/91908 + * pecoff.c (backtrace_initialize): Explicitly cast unchecked + __sync_bool_compare_and_swap to void. + * xcoff.c (backtrace_initialize): Likewise. + +2019-09-03 Ulrich Weigand <uweigand@de.ibm.com> + + * configure.ac: Remove references to spu. + * configure: Regenerate. + +2019-05-24 Clement Chigot <clement.chigot@atos.net> + + * Makefile.am (BUILDTESTS): Remove test_elf, add test_elf_32 and + test_elf_64. + * Makefile.in: Regenerate. + +2019-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * configure.ac (have_dl_iterate_phdr): Remove *-*-solaris2.10* + handling. + * configure: Regenerate. + +2019-03-11 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/89669 + * Makefile.am (BUILDTESTS): Only add ztest and ztest_alloc if + HAVE_ELF. + * Makefile.in: Regenerate. + +2019-02-26 Tom de Vries <tdevries@suse.de> + + * btest.c (test5): Allow global.* as minimal symbol name for global. + +2019-02-26 Tom de Vries <tdevries@suse.de> + + * Makefile.am (TESTS): Only add b3test_dwz_buildid if HAVE_DWZ. + * Makefile.in: Regenerate. + +2019-02-12 Tom de Vries <tdevries@suse.de> + + PR libbacktrace/81983 + * dwarf.c (dwarf_lookup_pc): Don't call bsearch if nmemb == 0. + +2019-02-10 Tom de Vries <tdevries@suse.de> + + * Makefile.am (BUILDTESTS): Add btest_lto. + * Makefile.in: Regenerate. + * btest.c (test1, f2, f3, test3, f22, f23): Declare with + __attribute__((noclone)). + +2019-02-08 Tom de Vries <tdevries@suse.de> + + * backtrace.c (backtrace_full): Declare with __attribute__((noinline)). + * print.c (backtrace_print): Same. + * simple.c (backtrace_simple): Same. + +2019-02-08 Tom de Vries <tdevries@suse.de> + + PR libbacktrace/78063 + * dwarf.c (build_address_map): Keep all parsed units. + (read_referenced_name_from_attr): Handle DW_FORM_ref_addr. + +2019-01-31 Tom de Vries <tdevries@suse.de> + + PR libbacktrace/89136 + * elf.c (elf_add): Read build-id if with_buildid_data. Fix + 'debugaltlink_name_len =+ 1'. + +2019-01-29 Tom de Vries <tdevries@suse.de> + + * install-debuginfo-for-buildid.sh.in: New script. + * Makefile.am (check_PROGRAMS): Add b2test and b3test. + (TESTS): Add b2test_buildid and b3test_dwz_buildid. + * Makefile.in: Regenerate. + * configure.ac (HAVE_ELF): Set with AM_CONDITIONAL. + (READELF): Set with AC_CHECK_PROG. + (install-debuginfo-for-buildid.sh): Generate with AC_CONFIG_FILES. + * configure: Regenerate. + * elf.c (SYSTEM_BUILD_ID_DIR): Factor out of ... + (elf_open_debugfile_by_buildid): ... here. + +2019-01-29 Tom de Vries <tdevries@suse.de> + + * Makefile.am: Replace check_PROGRAMS with BUILDTESTS, except for + allocfail. + (TESTS): Don't add check_PROGRAMS. Add BUILDTESTS. + (check_PROGRAMS): Add BUILDTESTS. + * Makefile.in: Regenerate. + +2019-01-28 Tom de Vries <tdevries@suse.de> + + * Makefile.am (xcoff_%.c): Generate sed result into temporary file. + Use $< to access prerequisite. + * Makefile.in: Regenerate. + +2019-01-25 Nathan Sidwell <nathan@acm.org> + + * elf.c (elf_add): Pass "" filename to recursive call with + separated debug. + +2019-01-25 Tom de Vries <tdevries@suse.de> + + * elf.c (elf_add): When handling .gnu_debugaltlink, call elf_add with + filename == "". + * Makefile.am (TESTS): Add btest_dwz_gnudebuglink. + * Makefile.in: Regenerate. + +2019-01-25 Tom de Vries <tdevries@suse.de> + + * Makefile.am: Rewrite dtest rule into "%_gnudebuglink" pattern rule. + (TESTS): Rename dtest to btest_gnudebuglink. + * Makefile.in: Regenerate. + +2019-01-23 Tom de Vries <tdevries@suse.de> + + * dwarf.c (struct unit): Use size_t for low_offset/high_offset fields. + (units_search, find_unit): Use size_t for offset. + (build_address_map): Use size_t for unit_offset. + +2019-01-20 Gerald Pfeifer <gerald@pfeifer.com> + + * allocfail.c (main): Increase portability of printf statement. + +2019-01-18 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/88890 + * mmapio.c (backtrace_get_view): Change size parameter to + uint64_t. Check that value fits in size_t. + * read.c (backtrace_get_view): Likewise. + * internal.h (backtrace_get_view): Update declaration. + * elf.c (elf_add): Pass shstrhdr->sh_size to backtrace_get_view. + +2019-01-17 Tom de Vries <tdevries@suse.de> + + PR libbacktrace/82857 + * configure.ac (DWZ): Set with AC_CHECK_PROG. + (HAVE_DWZ): Set with AM_CONDITIONAL. + * configure: Regenerate. + * Makefile.am (TESTS): Add btest_dwz. + * Makefile.in: Regenerate. + +2019-01-17 Tom de Vries <tdevries@suse.de> + + PR libbacktrace/82857 + * dwarf.c (enum attr_val_encoding): Add ATTR_VAL_REF_ALT_INFO. + (read_attribute): Handle DW_FORM_GNU_ref_alt using + ATTR_VAL_REF_ALT_INFO. + (read_referenced_name_from_attr): Handle DW_FORM_GNU_ref_alt. + +2019-01-17 Tom de Vries <tdevries@suse.de> + + * dwarf.c (struct unit): Add low_offset and high_offset fields. + (struct unit_vector): New type. + (struct dwarf_data): Add units and units_counts fields. + (find_unit): New function. + (find_address_ranges): Add and handle unit_tag parameter. + (build_address_map): Add and handle units_vec parameter. + (build_dwarf_data): Pass units_vec to build_address_map. Store resulting + units vector. + +2019-01-17 Tom de Vries <tdevries@suse.de> + + PR libbacktrace/82857 + * dwarf.c (read_attribute): Handle DW_FORM_GNU_strp_alt + using altlink. + +2019-01-17 Tom de Vries <tdevries@suse.de> + + * dwarf.c (enum attr_val_encoding): Add ATTR_VAL_NONE. + (read_attribute): Add altlink parameter. Handle missing altlink for + DW_FORM_GNU_strp_alt and DW_FORM_GNU_ref_alt. + (find_address_ranges, build_address_map, build_dwarf_data): Add and + handle altlink parameter. + (read_referenced_name, read_function_entry): Add argument to + read_attribute call. + +2019-01-17 Tom de Vries <tdevries@suse.de> + + * dwarf.c (struct dwarf_data): Add altlink field. + (backtrace_dwarf_add): Add and handle fileline_altlink parameter. + * elf.c (elf_add): Add argument to backtrace_dwarf_add call. + (phdr_callback, backtrace_initialize): Add argument to elf_add calls. + * internal.h (backtrace_dwarf_add): Add fileline_altlink parameter. + * pecoff.c (coff_add): Add argument to backtrace_dwarf_add call. + * xcoff.c (xcoff_add): Same. + +2019-01-17 Tom de Vries <tdevries@suse.de> + + * internal.h (backtrace_dwarf_add): Add fileline_entry parameter. + * dwarf.c (backtrace_dwarf_add): Add and handle fileline_entry parameter. + * elf.c (elf_add): Add and handle fileline_entry parameter. Add + argument to backtrace_dwarf_add call. + (phdr_callback, backtrace_initialize): Add argument to elf_add calls. + * pecoff.c (coff_add): Add argument to backtrace_dwarf_add call. + * xcoff.c (xcoff_add): Same. + +2019-01-17 Tom de Vries <tdevries@suse.de> + + * elf.c (elf_add): Add and handle with_buildid_data and + with_buildid_size parameters. Handle .gnu_debugaltlink section. + (phdr_callback, backtrace_initialize): Add arguments to elf_add calls. + +2019-01-16 Tom de Vries <tdevries@suse.de> + + * dwarf.c (read_referenced_name_from_attr): New function. Factor out + of ... + (read_referenced_name): ... here, and ... + (read_function_entry): ... here. + +2019-01-16 Tom de Vries <tdevries@suse.de> + + * dwarf.c (read_referenced_name): Don't allow DW_AT_name to override any + name. + (read_function_entry): Same. Don't allow name found via + DW_AT_abstract_origin or case DW_AT_specification to override linkage + name. + +2019-01-09 Sandra Loosemore <sandra@codesourcery.com> + + PR other/16615 + + * backtrace.h: Mechanically replace "can not" with "cannot". + +2019-01-01 Jakub Jelinek <jakub@redhat.com> + + Update copyright years. + +2018-12-29 Gerald Pfeifer <gerald@pfeifer.com> + + * Makefile.am (xcoff_%.c): Use an actual newline instead of \n + in sed pattern. + * Makefile.in: Regenerate. + +2018-12-28 Tom de Vries <tdevries@suse.de> + + * dwarf.c (build_address_map): Reuse unused units. + +2018-12-28 Tom de Vries <tdevries@suse.de> + + * dwarf.c (build_address_map): Simplify by removing local variable + abbrevs. + +2018-12-28 Ian Lance Taylor <iant@golang.org> + Tom de Vries <tdevries@suse.de> + + PR libbacktrace/88063 + * dwarf.c (free_unit_addrs_vector): Remove. + (build_address_map): Keep track of allocated units in vector. Free + allocated units and corresponding abbrevs upon failure. Remove now + redundant call to free_unit_addrs_vector. Free addrs vector upon + failure. Free allocated unit vector. + +2018-12-28 Tom de Vries <tdevries@suse.de> + + * dwarf.c (build_address_map): Free addrs vector upon failure. + +2018-12-14 Tom de Vries <tdevries@suse.de> + + PR testsuite/88491 + * allocfail.sh: Remove "set -o pipefail". + +2018-12-12 Tom de Vries <tdevries@suse.de> + + * Makefile.am (TESTS): Add allocfail.sh. + (check_PROGRAMS): Add allocfail. + * Makefile.in: Regenerate. + * instrumented_alloc.c: New file. Redefine malloc and realloc. + Include alloc.c. + * allocfail.c: New file. + * allocfail.sh: New file. + +2018-11-30 Tom de Vries <tdevries@suse.de> + + * Makefile.am (check_PROGRAMS): Add test_elf, test_xcoff_32, + test_xcoff_64, test_pecoff and test_unknown. + * Makefile.in: Regenerate. + * test_format.c: New file. + +2018-11-30 Tom de Vries <tdevries@suse.de> + + * Makefile.am : Add _with_alloc version for each test in + check_PROGRAMS. + * Makefile.in: Regenerate. + +2018-11-30 Tom de Vries <tdevries@suse.de> + + * internal.h (backtrace_vector_free): New static inline fuction, + factored out of ... + * dwarf.c (read_line_info): ... here. + +2018-11-28 Tom de Vries <tdevries@suse.de> + + * dwarf.c (read_abbrevs): Fix handling of abbrevs->abbrevs allocation + failure. + +2018-11-27 Tom de Vries <tdevries@suse.de> + + * mmap.c (backtrace_vector_release): Same. + * unittest.c (test1): Add check. + +2018-11-27 Tom de Vries <tdevries@suse.de> + + * alloc.c (backtrace_vector_release): Handle vec->size == 0 using free + instead of realloc. + * Makefile.am (check_PROGRAMS): Add unittest. + * Makefile.in: Regenerate. + * unittest.c: New file. + +2018-11-22 Tom de Vries <tdevries@suse.de> + + * dwarf.c (read_initial_length): Factor out of ... + (build_address_map, read_line_info): ... here. + +2018-11-21 Tom de Vries <tdevries@suse.de> + + * dwarf.c (read_string): Factor out of ... + (read_attribute, read_line_header, read_line_program): ... here. + +2018-10-31 Joseph Myers <joseph@codesourcery.com> + + PR bootstrap/82856 + * Makefile.am: Include multilib.am. + * configure.ac: Remove AC_PREREQ. Use AC_LANG_SOURCE. + * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. + +2018-10-05 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/87529 + * backtrace.h: Document that backtrace_create_state should be + called only once. + +2018-08-05 Iain Buclaw <ibuclaw@gdcproject.org> + + * configure.ac: Move define of HAVE_ZLIB into check for -lz. + * Makefile.in: Regenerate. + * config.h.in: Likewise. + * configure: Likewise. + +2018-08-01 Tony Reix <tony.reix@atos.net> + + * xcoff.c (struct xcoff_line, struct xcoff_line_vector): Remove. + (struct xcoff_func, struct xcoff_func_vector): New structs. + (xcoff_syminfo): Drop leading dot from symbol name. + (xcoff_line_compare, xcoff_line_search): Remove. + (xcoff_func_compare, xcoff_func_search): New static functions. + (xcoff_lookup_pc): Search function table. + (xcoff_add_line, xcoff_process_linenos): Remove. + (xcoff_initialize_fileline): Build function table. + +2018-06-21 Denis Khalikov <d.khalikov@partner.samsung.com> + + PR other/86198 + * elf.c (elf_add): Increase ".note.gnu.build-id" section size + checking up to 36 bytes. + +2018-04-24 H.J. Lu <hongjiu.lu@intel.com> + + * configure: Regenerated. + +2018-04-19 Jakub Jelinek <jakub@redhat.com> + + * configure: Regenerated. + +2018-04-17 Ian Lance Taylor <iant@golang.org> + + * backtrace.c: Revert last two changes. Don't call mmap + directly. + +2018-04-17 Ian Lance Taylor <iant@golang.org> + + * backtrace.c: Include backtrace-supported.h before checking + BACKTRACE_USES_MALLOC. + +2018-04-17 Ian Lance Taylor <iant@golang.org> + + * backtrace.c (backtrace_full): When testing whether we can + allocate memory, call mmap directly, and munmap the memory. + +2018-04-04 Jakub Jelinek <jakub@redhat.com> + + PR other/85161 + * elf.c (elf_zlib_fetch): Fix up predefined macro names in test for + big endian, only use 32-bit loads if endianity macros are predefined + and indicate big or little endian. + +2018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com> + + PR target/84148 + * configure: Regenerate. + +2018-02-15 Jakub Jelinek <jakub@redhat.com> + + PR other/82368 + * elf.c (SHT_PROGBITS): Undefine and define. + +2018-02-14 Jakub Jelinek <jakub@redhat.com> + + PR other/82368 + * elf.c (EM_PPC64, EF_PPC64_ABI): Undefine and define. + (struct elf_ppc64_opd_data): New type. + (elf_initialize_syminfo): Add opd argument, handle symbols + pointing into the PowerPC64 ELFv1 .opd section. + (elf_add): Read .opd section on PowerPC64 ELFv1, pass pointer + to structure with .opd data to elf_initialize_syminfo. + +2018-01-31 Ian Lance Taylor <iant@golang.org> + + * elf.c (elf_add): Close descriptor if we use a debugfile. + * btest.c (check_open_files): New static function. + (main): Call check_open_files. + +2018-01-25 Ian Lance Taylor <iant@golang.org> + + * elf.c (elf_open_debugfile_by_debuglink): Don't check CRC if the + desired CRC is zero. + (elf_add): Don't clear *found_sym and *found_dwarf if debuginfo. + +2018-01-25 Ian Lance Taylor <iant@golang.org> + + * pecoff.c (coff_add): Only release syms_view if it is valid. + +2018-01-25 Ian Lance Taylor <iant@golang.org> + + * pecoff.c (coff_add): Another memcpy -> coff_read4 fix. + +2018-01-24 Ian Lance Taylor <iant@golang.org> + + * pecoff.c (coff_add): Use coff_read4, not memcpy. + +2018-01-24 Ian Lance Taylor <iant@golang.org> + + PR other/68239 + * mmap.c (backtrace_free_locked): Don't put more than 16 entries + on the free list. + +2018-01-19 Tony Reix <tony.reix@atos.net> + + * xcoff.c (xcoff_incl_compare): New function. + (xcoff_incl_search): New function. + (xcoff_process_linenos): Use bsearch to find include file. + (xcoff_initialize_fileline): Sort include file information. + +2018-01-16 Ian Lance Taylor <iant@golang.org> + + * elf.c (codes) [GENERATE_FIXED_HUFFMAN_TABLE]: Fix size to be + 288. + (main) [GENERATE_FIXED_HUFFMAN_TABLE]: Pass 288 to + elf_zlib_inflate_table. Generate elf_zlib_default_dist_table. + (elf_zlib_default_table): Update. + (elf_zlib_default_dist_table): New static array. + (elf_zlib_inflate): Use elf_zlib_default_dist_table for dist table + for block type 1. + * ztest.c (struct zlib_test): Add uncompressed_len. + (tests): Initialize uncompressed_len field. Add new test case. + (test_samples): Use uncompressed_len field. + +2018-01-03 Jakub Jelinek <jakub@redhat.com> + + Update copyright years. + +2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> + + * configure.ac: Add CET_FLAGS to EXTRA_FLAGS. + * aclocal.m4: Regenerate. + * Makefile.in: Likewise. + * configure: Likewise. + +2017-10-06 Ian Lance Taylor <iant@golang.org> + + * ztest.c (test_large): Pass unsigned long *, not size_t *, to + zlib uncompress function. + +2017-10-05 Ian Lance Taylor <iant@golang.org> + + * elf.c (elf_zlib_fetch): Change pval argument to uint64_t *. + Read a four byte integer. + (elf_zlib_inflate): Change val to uint64_t. Align pin to a 32-bit + boundary before ever calling elf_zlib_fetch. + * ztest.c (test_large): Simplify print statements a bit. + +2017-10-02 Ian Lance Taylor <iant@golang.org> + + * ztest.c: #include <errno.h>. + (TEST_TIMING): Don't define, don't test. + (xclock_gettime, xclockid_t): Define if !HAVE_CLOCK_GETTIME. + (clockid_t, clock_gettime, CLOCK_REALTIME): Likewise. + (ZLIB_CLOCK_GETTIME_ARG): Define. + * configure.ac: Change clock_gettime_link to CLOCK_GETTIME_LINK. + * Makefile.am: Likewise. + * configure, Makefile.in: Rebuild. + +2017-10-02 Thomas Schwinge <thomas@codesourcery.com> + + PR other/67165 + * Makefile.am: Append the content of clock_gettime_link to + ztest_LDADD. + * configure.ac: Test for the case that clock_gettime is in librt. + * Makefile.in: Regenerate. + * configure: Likewise. + + PR other/67165 + * configure.ac: Check for clock_gettime. + * config.h.in: Regenerate. + * configure: Likewise. + * ztest.c (average_time, test_large): Conditionalize test timing + on clock_gettime availability. + +2017-09-29 Tony Reix <tony.reix@atos.net> + + * xcoff.c: Initial support for DWARF debug sections in XCOFF. + (STYP_DWARF, SSUBTYP_DW*): Define. + (enum dwarf_section): Define. + (struct dwsect_info): Define. + (xcoff_add): Look for DWARF sections, pass them to + backtrace_dwarf_add. + +2017-09-28 Ian Lance Taylor <iant@golang.org> + + PR other/67165 + * elf.c (__builtin_prefetch): Define if not __GNUC__. + (unlikely): Define. + (SHF_UNCOMPRESSED, ELFCOMPRESS_ZLIB): Define. + (b_elf_chdr): Define type. + (enum debug_section): Add ZDEBUG_xxx values. + (debug_section_names): Add names for new sections. + (struct debug_section_info): Add compressed field. + (elf_zlib_failed, elf_zlib_fetch): New static functions. + (HUFFMAN_TABLE_SIZE, HUFFMAN_VALUE_MASK): Define. + (HUFFMAN_BITS_SHIFT, HUFFMAN_BITS_MASK): Define. + (HUFFMAN_SECONDARY_SHIFT): Define. + (ZDEBUG_TABLE_SIZE): Define. + (ZDEBUG_TABLE_CODELEN_OFFSET, ZDEBUG_TABLE_WORK_OFFSET): Define. + (final_next_secondary): New static variable if + BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE. + (elf_zlib_inflate_table): New static function. + (BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE): If define, define main + function to produce fixed Huffman table. + (elf_zlib_default_table): New static variable. + (elf_zlib_inflate): New static function. + (elf_zlib_verify_checksum): Likewise. + (elf_zlib_inflate_and_verify): Likewise. + (elf_uncompress_zdebug): Likewise. + (elf_uncompress_chdr): Likewise. + (backtrace_uncompress_zdebug): New extern function. + (elf_add): Look for .zdebug sections and SHF_COMPRESSED debug + sections, and uncompress them. + * internal.h (backtrace_compress_zdebug): Declare. + * ztest.c: New file. + * configure.ac: Check for -lz and check whether the linker + supports --compress-debug-sections. + * Makefile.am (ztest_SOURCES): New variable. + (ztest_CFLAGS, ztest_LDADD): New variables. + (check_PROGRAMS): Add ztest. + (ctestg_SOURCES): New variable. + (ctestg_CFLAGS, ctestg_LDFLAGS, ctestg_LDADD): New variables. + (ctesta_SOURCES): New variable. + (ctesta_CFLAGS, ctesta_LDFLAGS, ctesta_LDADD): New variables. + (check_PROGRAMS): Add ctestg and ctesta. + * configure, config.h.in, Makefile.in: Rebuild. + +2017-09-22 Ian Lance Taylor <iant@golang.org> + + PR sanitizer/77631 + * configure.ac: Check for lstat and readlink. + * elf.c (lstat, readlink): Provide dummy versions if real versions + are not available. + * configure, config.h.in: Rebuild. + +2017-09-21 Ian Lance Taylor <iant@google.com> + + PR go/82284 + * elf.c (backtrace_initialize): Set pd.exe_filename. + +2017-09-20 Ian Lance Taylor <iant@golang.org> + Denis Khalikov <d.khalikov@partner.samsung.com> + + PR sanitizer/77631 + Support for external debug info. + * elf.c: Include <errno.h>, <sys/stat.h>, <unistd.h>. + (S_ISLNK): Define if not defined. + (xstrnlen): Define if strnlen is not available. + (b_elf_note): Define type. + (NT_GNU_BUILD_ID): Define macro. + (elf_crc32, elf_crc32_file): New static functions. + (elf_is_symlink, elf_readlink): New static functions. + (elf_open_debugfile_by_buildid): New static function. + (elf_try_debugfile): New static function. + (elf_find_debugfile_by_debuglink): New static function. + (elf_open_debugfile_by_debuglink): New static function. + (elf_add): Add filename and debuginfo parameters. Adjust all + callers. Look for external debug info notes, and try to fetch + debug info from external file. + (struct phdr_data): Add exe_filename field. + (phdr_callback): Pass filename to elf_add. + (backtrace_initialize): Add filename parameter. + * internal.h (backtrace_initialize): Add filename parameter. + * fileline.c (fileline_initialize): Pass filename to + backtrace_initialize. + * pecoff.c (fileline_initialize): Add unused filename parameter. + * unknown.c (fileline_initialize): Likewise. + * xcoff.c (fileline_initialize): Likewise. + * configure.ac: Check for objcopy --add-gnu-debuglink. + * Makefile.am (dtest): New test target. + * configure, Makefile.in: Rebuild. + +2017-09-12 Steve Ellcey <sellcey@cavium.com> + + PR other/81096 + * Makefile.am (ttest_CFLAGS): Add $(AM_CFLAGS) + * Makefile.in: Regenerate. + +2017-09-12 Steve Ellcey <sellcey@cavium.com> + + PR other/81096 + * libbacktrace/Makefile.in + (HAVE_PTHREAD_TRUE@@NATIVE_TRUE@ttest_CFLAGS): Add $(AM_CFLAGS) + +2017-08-02 David Edelsohn <dje.gcc@gmail.com> + + PR bootstrap/81638 + * xcoff.c (xcoff_process_linenos): Initialize incl to NULL. + +2017-07-28 Tony Reix <tony.reix@atos.net> + + * xcoff.c: Don't leak a file descriptor if an archive is malformed. + +2017-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * fileline.c (fileline_initialize): Print pid_t as long. + +2017-07-26 Tony Reix <tony.reix@atos.net> + + * configure.ac: Check for XCOFF32/XCOFF64. Check for loadquery. + * filetype.awk: Separate AIX XCOFF32 and XCOFF64. + * xcoff.c: Add support for AIX XCOFF32 and XCOFF64 formats. + * configure, config.h.in: Regenerate. + +2017-07-21 Tony Reix <tony.reix@atos.net> + + * filetype.awk: Add AIX XCOFF type detection. + * configure.ac: Recognize xcoff format. + * Makefile.am (FORMAT_FILES): Add xcoff.c. + * fileline.c: Include <unistd.h>. + (fileline_initialize): Add case for AIX procfs. + * xcoff.c: New file. + * configure, Makefile.in: Rebuild. + +2017-06-21 Richard Biener <rguenther@suse.de> + + * configure.ac: Add AC_SYS_LARGEFILE. + * config.h.in: Regenerate. + * configure: Likewise. + +2017-06-11 Ian Lance Taylor <iant@golang.org> + + * elf.c (backtrace_initialize): Always set *fileline_fn. + * ttest.c: New file. + * btest.c: Move support functions into testlib.c. Change calls to + check to pass file name. + * testlib.c: New file, copied from (part of) btest.c. + * testlib.h: New file, declarations for testlib.c. + * edtest.c: Use testlib.h and testlib.c. + * configure.ac: Test for -pthread, set HAVE_PTHREAD conditional. + * Makefile.am (btest_SOURCES): Add testlib.c. + (edtest_SOURCES): Likewise. + (CHECK_PROGRAMS): Add ttest if HAVE_PTHREAD. + (ttest_SOURCES, ttest_CFLAGS, ttest_LDADD): Define. + * configure, Makefile.in: Rebuild. + +2017-05-19 Than McIntosh <thanm@google.com> + + * dwarf.c (free_line_header): Don't free dirs if dirs_count == 0. + (read_line_header): Don't allocate dirs if dirs_count == 0. + * edtest.c: New file. + * edtest2.c: New file. + * Makefile.am (edtest_SOURCES, edtest_LDADD): Define. + (check_PROGRAMS): Add edtest. + (edtest2_build.c, gen_edtest2_build): New targets. + * Makefile.in: Rebuild. + +2017-03-08 Sam Thursfield <sam.thursfield@codethink.co.uk> + + * btest.c (test5): Replace #ifdef guard with 'unused' attribute + to fix compile warning when BACKTRACE_SUPPORTED isn't defined. + +2017-01-01 Jakub Jelinek <jakub@redhat.com> + + Update copyright years. + +2016-11-15 Matthias Klose <doko@ubuntu.com> + + * configure: Regenerate. + +2016-09-11 Carlos Liam <carlos@aarzee.me> + + * all: Remove meaningless trailing whitespace. + +2016-05-18 Uros Bizjak <ubizjak@gmail.com> + + PR target/71161 + * elf.c (phdr_callback) [__i386__]: Add + __attribute__((__force_align_arg_pointer__)). + +2016-03-02 Maxim Ostapenko <m.ostapenko@partner.samsung.com> + + * elf.c (backtrace_initialize): Properly initialize elf_fileline_fn to + avoid possible crash. + (elf_add): Don't set *fileline_fn to elf_nodebug value in case of + missing debug info anymore. + +2016-02-06 John David Anglin <danglin@gcc.gnu.org> + + * mmap.c (MAP_FAILED): Define if not defined. + +2016-01-04 Jakub Jelinek <jakub@redhat.com> + + Update copyright years. + +2015-12-18 Andris Pavenis <andris.pavenis@iki.fi> + + * configure.ac: Specify that DJGPP do not have mmap + even when sys/mman.h exists. + * configure: Regenerate + +2015-12-09 John David Anglin <danglin@gcc.gnu.org> + + PR libgfortran/68115 + * configure.ac: Set libbacktrace_cv_sys_sync to no on hppa*-*-hpux*. + * configure: Regenerate. + * elf.c (backtrace_initialize): Cast __sync_bool_compare_and_swap call + to void. + +2015-09-17 Ian Lance Taylor <iant@google.com> + + * posix.c (backtrace_open): Cast second argument of open() to int. + +2015-09-11 Ian Lance Taylor <iant@google.com> + + * Makefile.am (backtrace.lo): Depend on internal.h. + (sort.lo, stest.lo): Add explicit dependencies. + * Makefile.in: Rebuild. + +2015-09-09 Hans-Peter Nilsson <hp@axis.com> + + * backtrace.c: #include <sys/types.h>. + +2015-09-08 Ian Lance Taylor <iant@google.com> + + PR other/67457 + * backtrace.c: #include "internal.h". + (struct backtrace_data): Add can_alloc field. + (unwind): If can_alloc is false, don't try to get file/line + information. + (backtrace_full): Set can_alloc field in bdata. + * alloc.c (backtrace_alloc): Don't call error_callback if it is + NULL. + * mmap.c (backtrace_alloc): Likewise. + * internal.h: Update comments for backtrace_alloc and + backtrace_free. + +2015-09-08 Ian Lance Taylor <iant@google.com> + + PR other/67457 + * mmap.c (backtrace_alloc): Correct test for mmap failure. + +2015-08-31 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * configure.ac: For spu-*-* targets, set have_fcntl to no. + * configure: Regenerate. + +2015-08-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * configure.ac: Remove [disable-shared] argument to LT_INIT. + Remove setting PIC_FLAG when building as target library. + * configure: Regenerate. + +2015-08-26 Hans-Peter Nilsson <hp@axis.com> + + * configure.ac: Only compile with -fPIC if the target + supports it. + * configure: Regenerate. + +2015-08-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * configure.ac: Set have_mmap to no on spu-*-* targets. + * configure: Regenerate. + +2015-08-13 Ian Lance Taylor <iant@google.com> + + * dwarf.c (read_function_entry): Add vec_inlined parameter. + Change all callers. + +2015-06-11 Martin Sebor <msebor@redhat.com> + + PR sanitizer/65479 + * dwarf.c (struct line): Add new field idx. + (line_compare): Use it. + (add_line): Set it. + (read_line_info): Reset it. + +2015-05-29 Tristan Gingold <gingold@adacore.com> + + * pecoff.c: New file. + * Makefile.am (FORMAT_FILES): Add pecoff.c and dependencies. + * Makefile.in: Regenerate. + * filetype.awk: Detect pecoff. + * configure.ac: Define BACKTRACE_SUPPORTS_DATA on elf platforms. + Add pecoff. + * btest.c (test5): Test enabled only if BACKTRACE_SUPPORTS_DATA is + true. + * backtrace-supported.h.in (BACKTRACE_SUPPORTS_DATA): Define. + * configure: Regenerate. + * pecoff.c: New file. + +2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> + + * Makefile.in: Regenerated with automake-1.11.6. + * aclocal.m4: Likewise. + * configure: Likewise. + +2015-01-24 Matthias Klose <doko@ubuntu.com> + + * configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC. + * configure: Regenerate. + +2015-01-05 Jakub Jelinek <jakub@redhat.com> + + Update copyright years. + +2014-11-21 H.J. Lu <hongjiu.lu@intel.com> + + PR bootstrap/63784 + * configure: Regenerated. + +2014-11-11 David Malcolm <dmalcolm@redhat.com> + + * ChangeLog.jit: New. + +2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR target/63610 + * configure: Regenerate. + +2014-10-23 Ian Lance Taylor <iant@google.com> + + * internal.h (backtrace_atomic_load_pointer) [no atomic or sync]: + Fix to return void *. + +2014-05-08 Ian Lance Taylor <iant@google.com> + + * mmap.c (backtrace_free): If freeing a large aligned block of + memory, call munmap rather than holding onto it. + (backtrace_vector_grow): When growing a vector, double the number + of pages requested. When releasing the old version of a grown + vector, pass the correct size to backtrace_free. + +2014-03-07 Ian Lance Taylor <iant@google.com> + + * sort.c (backtrace_qsort): Use middle element as pivot. + +2014-03-06 Ian Lance Taylor <iant@google.com> + + * sort.c: New file. + * stest.c: New file. + * internal.h (backtrace_qsort): Declare. + * dwarf.c (read_abbrevs): Call backtrace_qsort instead of qsort. + (read_line_info, read_function_entry): Likewise. + (read_function_info, build_dwarf_data): Likewise. + * elf.c (elf_initialize_syminfo): Likewise. + * Makefile.am (libbacktrace_la_SOURCES): Add sort.c. + (stest_SOURCES, stest_LDADD): Define. + (check_PROGRAMS): Add stest. + +2014-02-07 Misty De Meo <misty@brew.sh> + + PR target/58710 + * configure.ac: Use AC_LINK_IFELSE in check for + _Unwind_GetIPInfo. + * configure: Regenerate. + +2014-01-02 Richard Sandiford <rdsandiford@googlemail.com> + + Update copyright years + +2013-12-06 Jakub Jelinek <jakub@redhat.com> + + * elf.c (ET_DYN): Undefine and define again. + (elf_add): Add exe argument, if true and ehdr.e_type is ET_DYN, + return early -1 without closing the descriptor. + (struct phdr_data): Add exe_descriptor. + (phdr_callback): If pd->exe_descriptor is not -1, for very first + call if dlpi_name is NULL just call elf_add with the exe_descriptor, + otherwise backtrace_close the exe_descriptor if not -1. Adjust + call to elf_add. + (backtrace_initialize): Adjust call to elf_add. If it returns + -1, set pd.exe_descriptor to descriptor, otherwise set it to -1. + +2013-12-05 Ian Lance Taylor <iant@google.com> + + * alloc.c (backtrace_vector_finish): Add error_callback and data + parameters. Call backtrace_vector_release. Return address base. + * mmap.c (backtrace_vector_finish): Add error_callback and data + parameters. Return address base. + * dwarf.c (read_function_info): Get new address base from + backtrace_vector_finish. + * internal.h (backtrace_vector_finish): Update declaration. + +2013-11-27 Ian Lance Taylor <iant@google.com> + + * dwarf.c (find_address_ranges): New static function, broken out + of build_address_map. + (build_address_map): Call it. + * btest.c (check): Check for missing filename or function, rather + than crashing. + (f3): Check that enough frames were returned. + +2013-11-19 Jakub Jelinek <jakub@redhat.com> + + * backtrace.h (backtrace_syminfo_callback): Add symsize argument. + * elf.c (elf_syminfo): Pass 0 or sym->size to the callback as + last argument. + * btest.c (struct symdata): Add size field. + (callback_three): Add symsize argument. Copy it to the data->size + field. + (f23): Set symdata.size to 0. + (test5): Likewise. If sizeof (int) > 1, lookup address of + ((uintptr_t) &global) + 1. Verify symdata.val and symdata.size + values. + + * atomic.c: Include sys/types.h. + +2013-11-18 Ian Lance Taylor <iant@google.com> + + * configure.ac: Check for support of __atomic extensions. + * internal.h: Declare or #define atomic functions for use in + backtrace code. + * atomic.c: New file. + * dwarf.c (dwarf_lookup_pc): Use atomic functions. + (dwarf_fileline, backtrace_dwarf_add): Likewise. + * elf.c (elf_add_syminfo_data, elf_syminfo): Likewise. + (backtrace_initialize): Likewise. + * fileline.c (fileline_initialize): Likewise. + * Makefile.am (libbacktrace_la_SOURCES): Add atomic.c. + * configure, config.h.in, Makefile.in: Rebuild. + +2013-11-18 Jakub Jelinek <jakub@redhat.com> + + * elf.c (SHN_UNDEF): Define. + (elf_initialize_syminfo): Add base_address argument. Ignore symbols + with st_shndx == SHN_UNDEF. Add base_address to address fields. + (elf_add): Adjust caller. + + * elf.c (phdr_callback): Process info->dlpi_addr == 0 normally. + +2013-11-16 Ian Lance Taylor <iant@google.com> + + * backtrace.h (backtrace_create_state): Correct comment about + threading. + +2013-11-15 Ian Lance Taylor <iant@google.com> + + * backtrace.h (backtrace_syminfo): Update comment and parameter + name to take any address, not just a PC value. + * elf.c (STT_OBJECT): Define. + (elf_nosyms): Rename parameter pc to addr. + (elf_symbol_search): Rename local variable pc to addr. + (elf_initialize_syminfo): Add STT_OBJECT symbols to elf_symbols. + (elf_syminfo): Rename parameter pc to addr. + * btest.c (global): New global variable. + (test5): New test. + (main): Call test5. + +2013-10-17 Ian Lance Taylor <iant@google.com> + + * elf.c (elf_add): Don't get the wrong offsets if a debug section + is missing. + +2013-10-15 David Malcolm <dmalcolm@redhat.com> + + * configure.ac: Add --enable-host-shared, setting up + pre-existing PIC_FLAG variable within Makefile.am et al. + * configure: Regenerate. + +2013-09-20 Alan Modra <amodra@gmail.com> + + * configure: Regenerate. + +2013-07-23 Alexander Monakov <amonakov@ispras.ru> + + * elf.c (elf_syminfo): Loop over the elf_syminfo_data chain. + +2013-07-23 Alexander Monakov <amonakov@ispras.ru> + + * elf.c (backtrace_initialize): Pass elf_fileline_fn to + dl_iterate_phdr callbacks. + +2013-03-25 Ian Lance Taylor <iant@google.com> + + * alloc.c: #include <sys/types.h>. + * mmap.c: Likewise. + +2013-01-31 Ian Lance Taylor <iant@google.com> + + * dwarf.c (read_function_info): Permit fvec parameter to be NULL. + (dwarf_lookup_pc): Don't use ddata->fvec if threaded. + +2013-01-25 Jakub Jelinek <jakub@redhat.com> + + PR other/56076 + * dwarf.c (read_line_header): Don't crash if DW_AT_comp_dir + attribute was not seen. + +2013-01-16 Ian Lance Taylor <iant@google.com> + + * dwarf.c (struct unit): Add filename and abs_filename fields. + (build_address_map): Set new fields when reading unit. + (dwarf_lookup_pc): If we don't find an entry in the line table, + just return the main file name. + +2013-01-14 Richard Sandiford <rdsandiford@googlemail.com> + + Update copyright years. + +2013-01-01 Ian Lance Taylor <iant@google.com> + + PR bootstrap/54834 + * Makefile.am (AM_CPPFLAGS): Remove -I ../gcc/include and -I + $(MULTIBUILDTOP)/../../gcc/include. + * Makefile.in: Rebuild. + +2013-01-01 Ian Lance Taylor <iant@google.com> + + PR other/55536 + * mmap.c (backtrace_alloc): Don't call sync functions if not + threaded. + (backtrace_free): Likewise. + +2012-12-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * mmapio.c: Define MAP_FAILED if not defined. + +2012-12-11 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/54926 + * Makefile.am (AM_CFLAGS): Remove -frandom-seed=$@. + * configure.ac: If --with-target-subdir, add -frandom-seed=$@ + to EXTRA_FLAGS unconditionally, otherwise check whether the compiler + accepts it. + * Makefile.in: Regenerated. + * configure: Regenerated. + +2012-12-07 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/54926 + * Makefile.am (AM_CFLAGS): Add -frandom-seed=$@. + * Makefile.in: Regenerated. + +2012-11-20 Ian Lance Taylor <iant@google.com> + + * dwarf.c (read_attribute): Always clear val. + +2012-11-13 Ian Lance Taylor <iant@google.com> + + PR other/55312 + * configure.ac: Only add -Werror if building a target library. + * configure: Rebuild. + +2012-11-12 Ian Lance Taylor <iant@google.com> + Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + Gerald Pfeifer <gerald@pfeifer.com> + + * configure.ac: Check for getexecname. + * fileline.c: #include <errno.h>. Define getexecname if not + available. + (fileline_initialize): Try to find the executable in a few + different ways. + * print.c (error_callback): Only print the filename if it came + from the backtrace state. + * configure, config.h.in: Rebuild. + +2012-10-29 Ian Lance Taylor <iant@google.com> + + * mmap.c (backtrace_vector_release): Correct last patch: add + aligned, not size. + +2012-10-29 Ian Lance Taylor <iant@google.com> + + * mmap.c (backtrace_vector_release): Make sure freed block is + aligned on 8-byte boundary. + +2012-10-26 Ian Lance Taylor <iant@google.com> + + PR other/55087 + * posix.c (backtrace_open): Add does_not_exist parameter. + * elf.c (phdr_callback): Do not warn if shared library could not + be opened. + * fileline.c (fileline_initialize): Update calls to + backtrace_open. + * internal.h (backtrace_open): Update declaration. + +2012-10-26 Jack Howarth <howarth@bromo.med.uc.edu> + + PR target/55061 + * configure.ac: Check for _Unwind_GetIPInfo function declaration. + * configure: Regenerate. + +2012-10-24 Ian Lance Taylor <iant@google.com> + + PR target/55061 + * configure.ac: Check whether -funwind-tables option works. + * configure: Rebuild. + +2012-10-11 Ian Lance Taylor <iant@google.com> + + * configure.ac: Do not use dl_iterate_phdr on Solaris 10. + * configure: Rebuild. + +2012-10-10 Ian Lance Taylor <iant@google.com> + + * elf.c: Rename all Elf typedefs to start with b_elf, and be all + lower case. + +2012-10-10 Hans-Peter Nilsson <hp@bitrange.com> + + * elf.c (elf_add_syminfo_data): Add casts to avoid warning. + +2012-10-09 Ian Lance Taylor <iant@google.com> + + * dwarf.c (dwarf_fileline): Add cast to avoid warning. + (backtrace_dwarf_add): Likewise. + +2012-10-09 Ian Lance Taylor <iant@google.com> + + 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. + +2012-10-04 Gerald Pfeifer <gerald@pfeifer.com> + + * btest.c (f23): Avoid uninitialized variable warning. + +2012-10-04 Ian Lance Taylor <iant@google.com> + + * dwarf.c: If the system header files do not declare strnlen, + provide our own version. + +2012-10-03 Ian Lance Taylor <iant@google.com> + + * dwarf.c (read_uleb128): Fix overflow test. + (read_sleb128): Likewise. + (build_address_map): Don't change unit_buf.start. + +2012-10-02 Uros Bizjak <ubizjak@gmail.com> + + PR other/54761 + * configure.ac (EXTRA_FLAGS): New. + * Makefile.am (AM_FLAGS): Add $(EXTRA_FLAGS). + * configure, Makefile.in: Regenerate. + +2012-09-29 Ian Lance Taylor <iant@google.com> + + PR other/54749 + * fileline.c (fileline_initialize): Pass errnum as -1 when + reporting that we could not read executable information after a + previous failure. + +2012-09-27 Ian Lance Taylor <iant@google.com> + + 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. + +2012-09-27 Ian Lance Taylor <iant@google.com> + + PR other/54726 + * elf.c (backtrace_initialize): Set *fileln_fn, not + state->fileln_fn. + +2012-09-19 Ian Lance Taylor <iant@google.com> + + * configure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled + as a target library. + * configure: Rebuild. + +2012-09-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + Ian Lance Taylor <iant@google.com> + + * 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. + +2012-09-18 Ian Lance Taylor <iant@google.com> + + PR bootstrap/54623 + * Makefile.am (AM_CPPFLAGS): Define. + (AM_CFLAGS): Remove -I options. + * Makefile.in: Rebuild. + +2012-09-18 Ian Lance Taylor <iant@google.com> + + * 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. + +2012-09-18 Ian Lance Taylor <iant@google.com> + + * btest.c (test1, test2, test3, test4): Add the unused attribute. + +2012-09-18 Ian Lance Taylor <iant@google.com> + + * dwarf.c: Correct test of HAVE_DECL_STRNLEN. + +2012-09-18 Ian Lance Taylor <iant@google.com> + + * configure.ac: Add AC_USE_SYSTEM_EXTENSIONS. + * mmapio.c: Don't define _GNU_SOURCE. + * configure, config.h.in: Rebuild. + +2012-09-18 Ian Lance Taylor <iant@google.com> + + * configure.ac: Check whether strnlen is declared. + * dwarf.c: Declare strnlen if not declared. + * configure, config.h.in: Rebuild. + +2012-09-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * fileline.c: Include <stdlib.h>. + * mmap.c: Likewise. + +2012-09-17 Ian Lance Taylor <iant@google.com> + + PR bootstrap/54611 + * nounwind.c (backtrace_full): Rename from backtrace. Add state + parameter. + +2012-09-17 Gerald Pfeifer <gerald@pfeifer.com> + + PR bootstrap/54611 + * nounwind.c (backtrace_simple): Add state parameter. + +2012-09-17 Ian Lance Taylor <iant@google.com> + + PR bootstrap/54609 + * unknown.c (unknown_fileline): Add state parameter, remove + fileline_data parameter, name error_callback parameter. + (backtrace_initialize): Add state parameter. + +2012-09-17 Ian Lance Taylor <iant@google.com> + + * Initial implementation. + +Copyright (C) 2012-2021 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. |