12020-07-23 Release Manager 2 3 * GCC 10.2.0 released. 4 52020-07-08 Ian Lance Taylor <iant@golang.org> 6 7 * configure.ac: Test linker support for DWARF5 8 * configure: Regenerate 9 102020-05-07 Release Manager 11 12 * GCC 10.1.0 released. 13 142020-02-15 Ian Lance Taylor <iant@golang.org> 15 16 * ztest.c (test_large): Update file to current libgo test file. 17 182020-02-03 Ian Lance Taylor <iant@golang.org> 19 20 * Makefile.am (libbacktrace_TEST_CFLAGS): Define. 21 (test_elf32_CFLAGS): Use $(libbacktrace_test_CFLAGS). 22 (test_elf_64_CFLAGS, test_xcoff_32_CFLAGS): Likewise. 23 (test_xcoff_64_CFLAGS, test_pecoff_CFLAGS): Likewise. 24 (test_unknown_CFLAGS, unittest_CFLAGS): Likewise. 25 (unittest_alloc_CFLAGS, allocfail_CFLAGS): Likewise. 26 (b2test_CFLAGS, b3test_CFLAGS, btest_CFLAGS): Likewise. 27 (btest_lto_CFLAGS, btest_alloc_CFLAGS, stest_CFLAGS): Likewise. 28 (stest_alloc_CFLAGS): Likewise. 29 * Makefile.in: Regenerate. 30 * ztest.c (error_callback_compress): Mark vdata unused. 31 (test_large): Add casts to avoid warnings. 32 332020-01-01 Jakub Jelinek <jakub@redhat.com> 34 35 Update copyright years. 36 372019-12-13 Ian Lance Taylor <iant@golang.org> 38 39 Add DWARF 5 support. 40 * dwarf.c (struct attr): Add val field. 41 (enum attr_val_encoding): Add ATTR_VAL_ADDDRESS_INDEX, 42 ATTR_VAL_STRING_INDEX, ATTR_VAL_RNGLISTS_INDEX. 43 (struct line_header): Add addrsize field. 44 (struct line_header_format): Define. 45 (struct unit): Add str_offsets_base, addr_base, and rnglists_base 46 fields. 47 (read_uint24): New static function. 48 (read_attribute): Add implicit_val parameter. Replace dwarf_str 49 and dwarf_str_size parameters with dwarf_sections parameter. Add 50 support for new DWARF 5 forms. Change all callers. 51 (resolve_string): New static function. 52 (resolve_addr_index): Likewise. 53 (read_abbrevs): Support DW_FORM_implicit_const. 54 (struct pcrange): Add lowpc_is_addr_index, highpc_is_addr_Index, 55 and ranges_is_index fields. 56 (update_pcrange): Support DWARF 5 encodings. 57 (add_high_low_range): New static function, split out of 58 add_ranges. 59 (add_ranges_from_ranges): Likewise. 60 (add_ranges_from_rnglists): New static function. 61 (add_ranges): Just call new helper functions. 62 (find_address_ranges): Use resolve_string for strings, after 63 reading all attributes. Handle new DWARF 5 attributes. 64 (build_address_map): Support DWARF 5 compilation units. 65 (read_v2_paths): New static function, split out of 66 read_line_header. 67 (read_lnct): New static function. 68 (read_line_header_format_entries): Likewise. 69 (read_line_header): Add ddata parameter. Support DWARF 5 line 70 headers. Call new helper functions. Change all callers. 71 (read_line_program): Use addrsize from line program header. Don't 72 special case directory index 0 for DWARF 5. 73 (read_referenced_name): Use resolve_string. 74 (read_function_entry): Handle DWARF 5 encodings. Use 75 resolve_string. 76 * internal.h (enum dwarf_section): Add DEBUG_ADDR, 77 DEBUG_STR_OFFSETS, DEBUG_LINE_STR, DEBUG_RNGLISTS. 78 * elf.c (dwarf_section_names): Add new section names. 79 * pecoff.c (dwarf_section_names): Likewise. 80 * xcoff.c (xcoff_add): Clear dwarf_sections before setting 81 fields. 82 * configure.ac: Define HAVE_DWARF5 automake conditional. 83 * Makefile.am (dwarf5_SOURCES): New variable if HAVE_DWARF5. 84 (dwarf5_CFLAGS, dwarf5_LDADD): Likewise. 85 (dwarf5_alloc_SOURCES, dwarf5_alloc_CFLAGS): Likewise. 86 (dwarf5_alloc_LDADD): Likewise. 87 (BUILDTESTS): Add dwarf5 tests if HAVE_DWARF5. 88 (CLEANFILES, clean-local): Define. 89 902019-12-08 Ian Lance Taylor <iant@golang.org> 91 92 * dwarf.c (struct pcrange): Define. 93 (update_pcrange, add_ranges): New static functions. 94 (add_unit_addr): Change signature to work with add_ranges. Don't 95 add base_address here. 96 (add_unit_ranges): Remove. 97 (find_address_ranges): Replace str/ranges parameters with 98 dwarf_sections. Use update_pcrange and add_ranges. Change all 99 callers. 100 (add_function_range): Change signature to work with add_ranges. 101 Don't add base_address here. 102 (add_function_ranges): Remove. 103 (read_function_entry): Use update_pcrange and add_ranges. 104 1052019-12-04 Ian Lance Taylor <iant@golang.org> 106 107 * edtest.c (test1): Add noclone attribute. 108 1092019-12-04 Ian Lance Taylor <iant@golang.org> 110 111 * internal.h (enum dwarf_section): Define. 112 (struct dwarf_sections): Define. 113 (backtrace_dwarf_add): Update declaration to replace specific 114 section parameters with dwarf_sections parameter. 115 * dwarf.c (struct dwarf_data): Replace specific section fields 116 with dwarf_sections field. 117 (read_attribute): Use dwarf_sections with altlink. 118 (build_address_map): Replace specific section parameters with 119 dwarf_sections parameter. Change all callers. 120 (read_line_info): Use dwarf_sections with ddata. 121 (read_referenced_name): Likewise. 122 (add_function_ranges): Likewise. 123 (read_function_entry): Likewise. 124 (read_function_info): Likewise. 125 (build_dwarf_data): Replace specific section parameters with 126 dwarf_sections parameter. Change all callers. 127 (backtrace_dwarf_add): Likewise. 128 * elf.c (enum debug_section): Remove. 129 (dwarf_section_names): Remove .zdebug names. 130 (elf_add): Track zsections separately. Build dwarf_sections. 131 * pecoff.c (enum debug_section): Remove. 132 (struct debug_section_info): Remove data field. 133 (coff_add): Build dwarf_sections. 134 * xcoff.c (enum dwarf_section): Remove. Replace DWSECT_xxx 135 references with DEBUG_xxx references. 136 (xcoff_add): Build dwarf_sections. 137 1382019-09-27 Maciej W. Rozycki <macro@wdc.com> 139 140 * configure: Regenerate. 141 1422019-09-26 Ian Lance Taylor <iant@golang.org> 143 144 PR libbacktrace/91908 145 * pecoff.c (backtrace_initialize): Explicitly cast unchecked 146 __sync_bool_compare_and_swap to void. 147 * xcoff.c (backtrace_initialize): Likewise. 148 1492019-09-03 Ulrich Weigand <uweigand@de.ibm.com> 150 151 * configure.ac: Remove references to spu. 152 * configure: Regenerate. 153 1542019-05-24 Clement Chigot <clement.chigot@atos.net> 155 156 * Makefile.am (BUILDTESTS): Remove test_elf, add test_elf_32 and 157 test_elf_64. 158 * Makefile.in: Regenerate. 159 1602019-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 161 162 * configure.ac (have_dl_iterate_phdr): Remove *-*-solaris2.10* 163 handling. 164 * configure: Regenerate. 165 1662019-03-11 Ian Lance Taylor <iant@golang.org> 167 168 PR libbacktrace/89669 169 * Makefile.am (BUILDTESTS): Only add ztest and ztest_alloc if 170 HAVE_ELF. 171 * Makefile.in: Regenerate. 172 1732019-02-26 Tom de Vries <tdevries@suse.de> 174 175 * btest.c (test5): Allow global.* as minimal symbol name for global. 176 1772019-02-26 Tom de Vries <tdevries@suse.de> 178 179 * Makefile.am (TESTS): Only add b3test_dwz_buildid if HAVE_DWZ. 180 * Makefile.in: Regenerate. 181 1822019-02-12 Tom de Vries <tdevries@suse.de> 183 184 PR libbacktrace/81983 185 * dwarf.c (dwarf_lookup_pc): Don't call bsearch if nmemb == 0. 186 1872019-02-10 Tom de Vries <tdevries@suse.de> 188 189 * Makefile.am (BUILDTESTS): Add btest_lto. 190 * Makefile.in: Regenerate. 191 * btest.c (test1, f2, f3, test3, f22, f23): Declare with 192 __attribute__((noclone)). 193 1942019-02-08 Tom de Vries <tdevries@suse.de> 195 196 * backtrace.c (backtrace_full): Declare with __attribute__((noinline)). 197 * print.c (backtrace_print): Same. 198 * simple.c (backtrace_simple): Same. 199 2002019-02-08 Tom de Vries <tdevries@suse.de> 201 202 PR libbacktrace/78063 203 * dwarf.c (build_address_map): Keep all parsed units. 204 (read_referenced_name_from_attr): Handle DW_FORM_ref_addr. 205 2062019-01-31 Tom de Vries <tdevries@suse.de> 207 208 PR libbacktrace/89136 209 * elf.c (elf_add): Read build-id if with_buildid_data. Fix 210 'debugaltlink_name_len =+ 1'. 211 2122019-01-29 Tom de Vries <tdevries@suse.de> 213 214 * install-debuginfo-for-buildid.sh.in: New script. 215 * Makefile.am (check_PROGRAMS): Add b2test and b3test. 216 (TESTS): Add b2test_buildid and b3test_dwz_buildid. 217 * Makefile.in: Regenerate. 218 * configure.ac (HAVE_ELF): Set with AM_CONDITIONAL. 219 (READELF): Set with AC_CHECK_PROG. 220 (install-debuginfo-for-buildid.sh): Generate with AC_CONFIG_FILES. 221 * configure: Regenerate. 222 * elf.c (SYSTEM_BUILD_ID_DIR): Factor out of ... 223 (elf_open_debugfile_by_buildid): ... here. 224 2252019-01-29 Tom de Vries <tdevries@suse.de> 226 227 * Makefile.am: Replace check_PROGRAMS with BUILDTESTS, except for 228 allocfail. 229 (TESTS): Don't add check_PROGRAMS. Add BUILDTESTS. 230 (check_PROGRAMS): Add BUILDTESTS. 231 * Makefile.in: Regenerate. 232 2332019-01-28 Tom de Vries <tdevries@suse.de> 234 235 * Makefile.am (xcoff_%.c): Generate sed result into temporary file. 236 Use $< to access prerequisite. 237 * Makefile.in: Regenerate. 238 2392019-01-25 Nathan Sidwell <nathan@acm.org> 240 241 * elf.c (elf_add): Pass "" filename to recursive call with 242 separated debug. 243 2442019-01-25 Tom de Vries <tdevries@suse.de> 245 246 * elf.c (elf_add): When handling .gnu_debugaltlink, call elf_add with 247 filename == "". 248 * Makefile.am (TESTS): Add btest_dwz_gnudebuglink. 249 * Makefile.in: Regenerate. 250 2512019-01-25 Tom de Vries <tdevries@suse.de> 252 253 * Makefile.am: Rewrite dtest rule into "%_gnudebuglink" pattern rule. 254 (TESTS): Rename dtest to btest_gnudebuglink. 255 * Makefile.in: Regenerate. 256 2572019-01-23 Tom de Vries <tdevries@suse.de> 258 259 * dwarf.c (struct unit): Use size_t for low_offset/high_offset fields. 260 (units_search, find_unit): Use size_t for offset. 261 (build_address_map): Use size_t for unit_offset. 262 2632019-01-20 Gerald Pfeifer <gerald@pfeifer.com> 264 265 * allocfail.c (main): Increase portability of printf statement. 266 2672019-01-18 Ian Lance Taylor <iant@golang.org> 268 269 PR libbacktrace/88890 270 * mmapio.c (backtrace_get_view): Change size parameter to 271 uint64_t. Check that value fits in size_t. 272 * read.c (backtrace_get_view): Likewise. 273 * internal.h (backtrace_get_view): Update declaration. 274 * elf.c (elf_add): Pass shstrhdr->sh_size to backtrace_get_view. 275 2762019-01-17 Tom de Vries <tdevries@suse.de> 277 278 PR libbacktrace/82857 279 * configure.ac (DWZ): Set with AC_CHECK_PROG. 280 (HAVE_DWZ): Set with AM_CONDITIONAL. 281 * configure: Regenerate. 282 * Makefile.am (TESTS): Add btest_dwz. 283 * Makefile.in: Regenerate. 284 2852019-01-17 Tom de Vries <tdevries@suse.de> 286 287 PR libbacktrace/82857 288 * dwarf.c (enum attr_val_encoding): Add ATTR_VAL_REF_ALT_INFO. 289 (read_attribute): Handle DW_FORM_GNU_ref_alt using 290 ATTR_VAL_REF_ALT_INFO. 291 (read_referenced_name_from_attr): Handle DW_FORM_GNU_ref_alt. 292 2932019-01-17 Tom de Vries <tdevries@suse.de> 294 295 * dwarf.c (struct unit): Add low_offset and high_offset fields. 296 (struct unit_vector): New type. 297 (struct dwarf_data): Add units and units_counts fields. 298 (find_unit): New function. 299 (find_address_ranges): Add and handle unit_tag parameter. 300 (build_address_map): Add and handle units_vec parameter. 301 (build_dwarf_data): Pass units_vec to build_address_map. Store resulting 302 units vector. 303 3042019-01-17 Tom de Vries <tdevries@suse.de> 305 306 PR libbacktrace/82857 307 * dwarf.c (read_attribute): Handle DW_FORM_GNU_strp_alt 308 using altlink. 309 3102019-01-17 Tom de Vries <tdevries@suse.de> 311 312 * dwarf.c (enum attr_val_encoding): Add ATTR_VAL_NONE. 313 (read_attribute): Add altlink parameter. Handle missing altlink for 314 DW_FORM_GNU_strp_alt and DW_FORM_GNU_ref_alt. 315 (find_address_ranges, build_address_map, build_dwarf_data): Add and 316 handle altlink parameter. 317 (read_referenced_name, read_function_entry): Add argument to 318 read_attribute call. 319 3202019-01-17 Tom de Vries <tdevries@suse.de> 321 322 * dwarf.c (struct dwarf_data): Add altlink field. 323 (backtrace_dwarf_add): Add and handle fileline_altlink parameter. 324 * elf.c (elf_add): Add argument to backtrace_dwarf_add call. 325 (phdr_callback, backtrace_initialize): Add argument to elf_add calls. 326 * internal.h (backtrace_dwarf_add): Add fileline_altlink parameter. 327 * pecoff.c (coff_add): Add argument to backtrace_dwarf_add call. 328 * xcoff.c (xcoff_add): Same. 329 3302019-01-17 Tom de Vries <tdevries@suse.de> 331 332 * internal.h (backtrace_dwarf_add): Add fileline_entry parameter. 333 * dwarf.c (backtrace_dwarf_add): Add and handle fileline_entry parameter. 334 * elf.c (elf_add): Add and handle fileline_entry parameter. Add 335 argument to backtrace_dwarf_add call. 336 (phdr_callback, backtrace_initialize): Add argument to elf_add calls. 337 * pecoff.c (coff_add): Add argument to backtrace_dwarf_add call. 338 * xcoff.c (xcoff_add): Same. 339 3402019-01-17 Tom de Vries <tdevries@suse.de> 341 342 * elf.c (elf_add): Add and handle with_buildid_data and 343 with_buildid_size parameters. Handle .gnu_debugaltlink section. 344 (phdr_callback, backtrace_initialize): Add arguments to elf_add calls. 345 3462019-01-16 Tom de Vries <tdevries@suse.de> 347 348 * dwarf.c (read_referenced_name_from_attr): New function. Factor out 349 of ... 350 (read_referenced_name): ... here, and ... 351 (read_function_entry): ... here. 352 3532019-01-16 Tom de Vries <tdevries@suse.de> 354 355 * dwarf.c (read_referenced_name): Don't allow DW_AT_name to override any 356 name. 357 (read_function_entry): Same. Don't allow name found via 358 DW_AT_abstract_origin or case DW_AT_specification to override linkage 359 name. 360 3612019-01-09 Sandra Loosemore <sandra@codesourcery.com> 362 363 PR other/16615 364 365 * backtrace.h: Mechanically replace "can not" with "cannot". 366 3672019-01-01 Jakub Jelinek <jakub@redhat.com> 368 369 Update copyright years. 370 3712018-12-29 Gerald Pfeifer <gerald@pfeifer.com> 372 373 * Makefile.am (xcoff_%.c): Use an actual newline instead of \n 374 in sed pattern. 375 * Makefile.in: Regenerate. 376 3772018-12-28 Tom de Vries <tdevries@suse.de> 378 379 * dwarf.c (build_address_map): Reuse unused units. 380 3812018-12-28 Tom de Vries <tdevries@suse.de> 382 383 * dwarf.c (build_address_map): Simplify by removing local variable 384 abbrevs. 385 3862018-12-28 Ian Lance Taylor <iant@golang.org> 387 Tom de Vries <tdevries@suse.de> 388 389 PR libbacktrace/88063 390 * dwarf.c (free_unit_addrs_vector): Remove. 391 (build_address_map): Keep track of allocated units in vector. Free 392 allocated units and corresponding abbrevs upon failure. Remove now 393 redundant call to free_unit_addrs_vector. Free addrs vector upon 394 failure. Free allocated unit vector. 395 3962018-12-28 Tom de Vries <tdevries@suse.de> 397 398 * dwarf.c (build_address_map): Free addrs vector upon failure. 399 4002018-12-14 Tom de Vries <tdevries@suse.de> 401 402 PR testsuite/88491 403 * allocfail.sh: Remove "set -o pipefail". 404 4052018-12-12 Tom de Vries <tdevries@suse.de> 406 407 * Makefile.am (TESTS): Add allocfail.sh. 408 (check_PROGRAMS): Add allocfail. 409 * Makefile.in: Regenerate. 410 * instrumented_alloc.c: New file. Redefine malloc and realloc. 411 Include alloc.c. 412 * allocfail.c: New file. 413 * allocfail.sh: New file. 414 4152018-11-30 Tom de Vries <tdevries@suse.de> 416 417 * Makefile.am (check_PROGRAMS): Add test_elf, test_xcoff_32, 418 test_xcoff_64, test_pecoff and test_unknown. 419 * Makefile.in: Regenerate. 420 * test_format.c: New file. 421 4222018-11-30 Tom de Vries <tdevries@suse.de> 423 424 * Makefile.am : Add _with_alloc version for each test in 425 check_PROGRAMS. 426 * Makefile.in: Regenerate. 427 4282018-11-30 Tom de Vries <tdevries@suse.de> 429 430 * internal.h (backtrace_vector_free): New static inline fuction, 431 factored out of ... 432 * dwarf.c (read_line_info): ... here. 433 4342018-11-28 Tom de Vries <tdevries@suse.de> 435 436 * dwarf.c (read_abbrevs): Fix handling of abbrevs->abbrevs allocation 437 failure. 438 4392018-11-27 Tom de Vries <tdevries@suse.de> 440 441 * mmap.c (backtrace_vector_release): Same. 442 * unittest.c (test1): Add check. 443 4442018-11-27 Tom de Vries <tdevries@suse.de> 445 446 * alloc.c (backtrace_vector_release): Handle vec->size == 0 using free 447 instead of realloc. 448 * Makefile.am (check_PROGRAMS): Add unittest. 449 * Makefile.in: Regenerate. 450 * unittest.c: New file. 451 4522018-11-22 Tom de Vries <tdevries@suse.de> 453 454 * dwarf.c (read_initial_length): Factor out of ... 455 (build_address_map, read_line_info): ... here. 456 4572018-11-21 Tom de Vries <tdevries@suse.de> 458 459 * dwarf.c (read_string): Factor out of ... 460 (read_attribute, read_line_header, read_line_program): ... here. 461 4622018-10-31 Joseph Myers <joseph@codesourcery.com> 463 464 PR bootstrap/82856 465 * Makefile.am: Include multilib.am. 466 * configure.ac: Remove AC_PREREQ. Use AC_LANG_SOURCE. 467 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. 468 4692018-10-05 Ian Lance Taylor <iant@golang.org> 470 471 PR libbacktrace/87529 472 * backtrace.h: Document that backtrace_create_state should be 473 called only once. 474 4752018-08-05 Iain Buclaw <ibuclaw@gdcproject.org> 476 477 * configure.ac: Move define of HAVE_ZLIB into check for -lz. 478 * Makefile.in: Regenerate. 479 * config.h.in: Likewise. 480 * configure: Likewise. 481 4822018-08-01 Tony Reix <tony.reix@atos.net> 483 484 * xcoff.c (struct xcoff_line, struct xcoff_line_vector): Remove. 485 (struct xcoff_func, struct xcoff_func_vector): New structs. 486 (xcoff_syminfo): Drop leading dot from symbol name. 487 (xcoff_line_compare, xcoff_line_search): Remove. 488 (xcoff_func_compare, xcoff_func_search): New static functions. 489 (xcoff_lookup_pc): Search function table. 490 (xcoff_add_line, xcoff_process_linenos): Remove. 491 (xcoff_initialize_fileline): Build function table. 492 4932018-06-21 Denis Khalikov <d.khalikov@partner.samsung.com> 494 495 PR other/86198 496 * elf.c (elf_add): Increase ".note.gnu.build-id" section size 497 checking up to 36 bytes. 498 4992018-04-24 H.J. Lu <hongjiu.lu@intel.com> 500 501 * configure: Regenerated. 502 5032018-04-19 Jakub Jelinek <jakub@redhat.com> 504 505 * configure: Regenerated. 506 5072018-04-17 Ian Lance Taylor <iant@golang.org> 508 509 * backtrace.c: Revert last two changes. Don't call mmap 510 directly. 511 5122018-04-17 Ian Lance Taylor <iant@golang.org> 513 514 * backtrace.c: Include backtrace-supported.h before checking 515 BACKTRACE_USES_MALLOC. 516 5172018-04-17 Ian Lance Taylor <iant@golang.org> 518 519 * backtrace.c (backtrace_full): When testing whether we can 520 allocate memory, call mmap directly, and munmap the memory. 521 5222018-04-04 Jakub Jelinek <jakub@redhat.com> 523 524 PR other/85161 525 * elf.c (elf_zlib_fetch): Fix up predefined macro names in test for 526 big endian, only use 32-bit loads if endianity macros are predefined 527 and indicate big or little endian. 528 5292018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 530 531 PR target/84148 532 * configure: Regenerate. 533 5342018-02-15 Jakub Jelinek <jakub@redhat.com> 535 536 PR other/82368 537 * elf.c (SHT_PROGBITS): Undefine and define. 538 5392018-02-14 Jakub Jelinek <jakub@redhat.com> 540 541 PR other/82368 542 * elf.c (EM_PPC64, EF_PPC64_ABI): Undefine and define. 543 (struct elf_ppc64_opd_data): New type. 544 (elf_initialize_syminfo): Add opd argument, handle symbols 545 pointing into the PowerPC64 ELFv1 .opd section. 546 (elf_add): Read .opd section on PowerPC64 ELFv1, pass pointer 547 to structure with .opd data to elf_initialize_syminfo. 548 5492018-01-31 Ian Lance Taylor <iant@golang.org> 550 551 * elf.c (elf_add): Close descriptor if we use a debugfile. 552 * btest.c (check_open_files): New static function. 553 (main): Call check_open_files. 554 5552018-01-25 Ian Lance Taylor <iant@golang.org> 556 557 * elf.c (elf_open_debugfile_by_debuglink): Don't check CRC if the 558 desired CRC is zero. 559 (elf_add): Don't clear *found_sym and *found_dwarf if debuginfo. 560 5612018-01-25 Ian Lance Taylor <iant@golang.org> 562 563 * pecoff.c (coff_add): Only release syms_view if it is valid. 564 5652018-01-25 Ian Lance Taylor <iant@golang.org> 566 567 * pecoff.c (coff_add): Another memcpy -> coff_read4 fix. 568 5692018-01-24 Ian Lance Taylor <iant@golang.org> 570 571 * pecoff.c (coff_add): Use coff_read4, not memcpy. 572 5732018-01-24 Ian Lance Taylor <iant@golang.org> 574 575 PR other/68239 576 * mmap.c (backtrace_free_locked): Don't put more than 16 entries 577 on the free list. 578 5792018-01-19 Tony Reix <tony.reix@atos.net> 580 581 * xcoff.c (xcoff_incl_compare): New function. 582 (xcoff_incl_search): New function. 583 (xcoff_process_linenos): Use bsearch to find include file. 584 (xcoff_initialize_fileline): Sort include file information. 585 5862018-01-16 Ian Lance Taylor <iant@golang.org> 587 588 * elf.c (codes) [GENERATE_FIXED_HUFFMAN_TABLE]: Fix size to be 589 288. 590 (main) [GENERATE_FIXED_HUFFMAN_TABLE]: Pass 288 to 591 elf_zlib_inflate_table. Generate elf_zlib_default_dist_table. 592 (elf_zlib_default_table): Update. 593 (elf_zlib_default_dist_table): New static array. 594 (elf_zlib_inflate): Use elf_zlib_default_dist_table for dist table 595 for block type 1. 596 * ztest.c (struct zlib_test): Add uncompressed_len. 597 (tests): Initialize uncompressed_len field. Add new test case. 598 (test_samples): Use uncompressed_len field. 599 6002018-01-03 Jakub Jelinek <jakub@redhat.com> 601 602 Update copyright years. 603 6042017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 605 606 * configure.ac: Add CET_FLAGS to EXTRA_FLAGS. 607 * aclocal.m4: Regenerate. 608 * Makefile.in: Likewise. 609 * configure: Likewise. 610 6112017-10-06 Ian Lance Taylor <iant@golang.org> 612 613 * ztest.c (test_large): Pass unsigned long *, not size_t *, to 614 zlib uncompress function. 615 6162017-10-05 Ian Lance Taylor <iant@golang.org> 617 618 * elf.c (elf_zlib_fetch): Change pval argument to uint64_t *. 619 Read a four byte integer. 620 (elf_zlib_inflate): Change val to uint64_t. Align pin to a 32-bit 621 boundary before ever calling elf_zlib_fetch. 622 * ztest.c (test_large): Simplify print statements a bit. 623 6242017-10-02 Ian Lance Taylor <iant@golang.org> 625 626 * ztest.c: #include <errno.h>. 627 (TEST_TIMING): Don't define, don't test. 628 (xclock_gettime, xclockid_t): Define if !HAVE_CLOCK_GETTIME. 629 (clockid_t, clock_gettime, CLOCK_REALTIME): Likewise. 630 (ZLIB_CLOCK_GETTIME_ARG): Define. 631 * configure.ac: Change clock_gettime_link to CLOCK_GETTIME_LINK. 632 * Makefile.am: Likewise. 633 * configure, Makefile.in: Rebuild. 634 6352017-10-02 Thomas Schwinge <thomas@codesourcery.com> 636 637 PR other/67165 638 * Makefile.am: Append the content of clock_gettime_link to 639 ztest_LDADD. 640 * configure.ac: Test for the case that clock_gettime is in librt. 641 * Makefile.in: Regenerate. 642 * configure: Likewise. 643 644 PR other/67165 645 * configure.ac: Check for clock_gettime. 646 * config.h.in: Regenerate. 647 * configure: Likewise. 648 * ztest.c (average_time, test_large): Conditionalize test timing 649 on clock_gettime availability. 650 6512017-09-29 Tony Reix <tony.reix@atos.net> 652 653 * xcoff.c: Initial support for DWARF debug sections in XCOFF. 654 (STYP_DWARF, SSUBTYP_DW*): Define. 655 (enum dwarf_section): Define. 656 (struct dwsect_info): Define. 657 (xcoff_add): Look for DWARF sections, pass them to 658 backtrace_dwarf_add. 659 6602017-09-28 Ian Lance Taylor <iant@golang.org> 661 662 PR other/67165 663 * elf.c (__builtin_prefetch): Define if not __GNUC__. 664 (unlikely): Define. 665 (SHF_UNCOMPRESSED, ELFCOMPRESS_ZLIB): Define. 666 (b_elf_chdr): Define type. 667 (enum debug_section): Add ZDEBUG_xxx values. 668 (debug_section_names): Add names for new sections. 669 (struct debug_section_info): Add compressed field. 670 (elf_zlib_failed, elf_zlib_fetch): New static functions. 671 (HUFFMAN_TABLE_SIZE, HUFFMAN_VALUE_MASK): Define. 672 (HUFFMAN_BITS_SHIFT, HUFFMAN_BITS_MASK): Define. 673 (HUFFMAN_SECONDARY_SHIFT): Define. 674 (ZDEBUG_TABLE_SIZE): Define. 675 (ZDEBUG_TABLE_CODELEN_OFFSET, ZDEBUG_TABLE_WORK_OFFSET): Define. 676 (final_next_secondary): New static variable if 677 BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE. 678 (elf_zlib_inflate_table): New static function. 679 (BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE): If define, define main 680 function to produce fixed Huffman table. 681 (elf_zlib_default_table): New static variable. 682 (elf_zlib_inflate): New static function. 683 (elf_zlib_verify_checksum): Likewise. 684 (elf_zlib_inflate_and_verify): Likewise. 685 (elf_uncompress_zdebug): Likewise. 686 (elf_uncompress_chdr): Likewise. 687 (backtrace_uncompress_zdebug): New extern function. 688 (elf_add): Look for .zdebug sections and SHF_COMPRESSED debug 689 sections, and uncompress them. 690 * internal.h (backtrace_compress_zdebug): Declare. 691 * ztest.c: New file. 692 * configure.ac: Check for -lz and check whether the linker 693 supports --compress-debug-sections. 694 * Makefile.am (ztest_SOURCES): New variable. 695 (ztest_CFLAGS, ztest_LDADD): New variables. 696 (check_PROGRAMS): Add ztest. 697 (ctestg_SOURCES): New variable. 698 (ctestg_CFLAGS, ctestg_LDFLAGS, ctestg_LDADD): New variables. 699 (ctesta_SOURCES): New variable. 700 (ctesta_CFLAGS, ctesta_LDFLAGS, ctesta_LDADD): New variables. 701 (check_PROGRAMS): Add ctestg and ctesta. 702 * configure, config.h.in, Makefile.in: Rebuild. 703 7042017-09-22 Ian Lance Taylor <iant@golang.org> 705 706 PR sanitizer/77631 707 * configure.ac: Check for lstat and readlink. 708 * elf.c (lstat, readlink): Provide dummy versions if real versions 709 are not available. 710 * configure, config.h.in: Rebuild. 711 7122017-09-21 Ian Lance Taylor <iant@google.com> 713 714 PR go/82284 715 * elf.c (backtrace_initialize): Set pd.exe_filename. 716 7172017-09-20 Ian Lance Taylor <iant@golang.org> 718 Denis Khalikov <d.khalikov@partner.samsung.com> 719 720 PR sanitizer/77631 721 Support for external debug info. 722 * elf.c: Include <errno.h>, <sys/stat.h>, <unistd.h>. 723 (S_ISLNK): Define if not defined. 724 (xstrnlen): Define if strnlen is not available. 725 (b_elf_note): Define type. 726 (NT_GNU_BUILD_ID): Define macro. 727 (elf_crc32, elf_crc32_file): New static functions. 728 (elf_is_symlink, elf_readlink): New static functions. 729 (elf_open_debugfile_by_buildid): New static function. 730 (elf_try_debugfile): New static function. 731 (elf_find_debugfile_by_debuglink): New static function. 732 (elf_open_debugfile_by_debuglink): New static function. 733 (elf_add): Add filename and debuginfo parameters. Adjust all 734 callers. Look for external debug info notes, and try to fetch 735 debug info from external file. 736 (struct phdr_data): Add exe_filename field. 737 (phdr_callback): Pass filename to elf_add. 738 (backtrace_initialize): Add filename parameter. 739 * internal.h (backtrace_initialize): Add filename parameter. 740 * fileline.c (fileline_initialize): Pass filename to 741 backtrace_initialize. 742 * pecoff.c (fileline_initialize): Add unused filename parameter. 743 * unknown.c (fileline_initialize): Likewise. 744 * xcoff.c (fileline_initialize): Likewise. 745 * configure.ac: Check for objcopy --add-gnu-debuglink. 746 * Makefile.am (dtest): New test target. 747 * configure, Makefile.in: Rebuild. 748 7492017-09-12 Steve Ellcey <sellcey@cavium.com> 750 751 PR other/81096 752 * Makefile.am (ttest_CFLAGS): Add $(AM_CFLAGS) 753 * Makefile.in: Regenerate. 754 7552017-09-12 Steve Ellcey <sellcey@cavium.com> 756 757 PR other/81096 758 * libbacktrace/Makefile.in 759 (HAVE_PTHREAD_TRUE@@NATIVE_TRUE@ttest_CFLAGS): Add $(AM_CFLAGS) 760 7612017-08-02 David Edelsohn <dje.gcc@gmail.com> 762 763 PR bootstrap/81638 764 * xcoff.c (xcoff_process_linenos): Initialize incl to NULL. 765 7662017-07-28 Tony Reix <tony.reix@atos.net> 767 768 * xcoff.c: Don't leak a file descriptor if an archive is malformed. 769 7702017-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 771 772 * fileline.c (fileline_initialize): Print pid_t as long. 773 7742017-07-26 Tony Reix <tony.reix@atos.net> 775 776 * configure.ac: Check for XCOFF32/XCOFF64. Check for loadquery. 777 * filetype.awk: Separate AIX XCOFF32 and XCOFF64. 778 * xcoff.c: Add support for AIX XCOFF32 and XCOFF64 formats. 779 * configure, config.h.in: Regenerate. 780 7812017-07-21 Tony Reix <tony.reix@atos.net> 782 783 * filetype.awk: Add AIX XCOFF type detection. 784 * configure.ac: Recognize xcoff format. 785 * Makefile.am (FORMAT_FILES): Add xcoff.c. 786 * fileline.c: Include <unistd.h>. 787 (fileline_initialize): Add case for AIX procfs. 788 * xcoff.c: New file. 789 * configure, Makefile.in: Rebuild. 790 7912017-06-21 Richard Biener <rguenther@suse.de> 792 793 * configure.ac: Add AC_SYS_LARGEFILE. 794 * config.h.in: Regenerate. 795 * configure: Likewise. 796 7972017-06-11 Ian Lance Taylor <iant@golang.org> 798 799 * elf.c (backtrace_initialize): Always set *fileline_fn. 800 * ttest.c: New file. 801 * btest.c: Move support functions into testlib.c. Change calls to 802 check to pass file name. 803 * testlib.c: New file, copied from (part of) btest.c. 804 * testlib.h: New file, declarations for testlib.c. 805 * edtest.c: Use testlib.h and testlib.c. 806 * configure.ac: Test for -pthread, set HAVE_PTHREAD conditional. 807 * Makefile.am (btest_SOURCES): Add testlib.c. 808 (edtest_SOURCES): Likewise. 809 (CHECK_PROGRAMS): Add ttest if HAVE_PTHREAD. 810 (ttest_SOURCES, ttest_CFLAGS, ttest_LDADD): Define. 811 * configure, Makefile.in: Rebuild. 812 8132017-05-19 Than McIntosh <thanm@google.com> 814 815 * dwarf.c (free_line_header): Don't free dirs if dirs_count == 0. 816 (read_line_header): Don't allocate dirs if dirs_count == 0. 817 * edtest.c: New file. 818 * edtest2.c: New file. 819 * Makefile.am (edtest_SOURCES, edtest_LDADD): Define. 820 (check_PROGRAMS): Add edtest. 821 (edtest2_build.c, gen_edtest2_build): New targets. 822 * Makefile.in: Rebuild. 823 8242017-03-08 Sam Thursfield <sam.thursfield@codethink.co.uk> 825 826 * btest.c (test5): Replace #ifdef guard with 'unused' attribute 827 to fix compile warning when BACKTRACE_SUPPORTED isn't defined. 828 8292017-01-01 Jakub Jelinek <jakub@redhat.com> 830 831 Update copyright years. 832 8332016-11-15 Matthias Klose <doko@ubuntu.com> 834 835 * configure: Regenerate. 836 8372016-09-11 Carlos Liam <carlos@aarzee.me> 838 839 * all: Remove meaningless trailing whitespace. 840 8412016-05-18 Uros Bizjak <ubizjak@gmail.com> 842 843 PR target/71161 844 * elf.c (phdr_callback) [__i386__]: Add 845 __attribute__((__force_align_arg_pointer__)). 846 8472016-03-02 Maxim Ostapenko <m.ostapenko@partner.samsung.com> 848 849 * elf.c (backtrace_initialize): Properly initialize elf_fileline_fn to 850 avoid possible crash. 851 (elf_add): Don't set *fileline_fn to elf_nodebug value in case of 852 missing debug info anymore. 853 8542016-02-06 John David Anglin <danglin@gcc.gnu.org> 855 856 * mmap.c (MAP_FAILED): Define if not defined. 857 8582016-01-04 Jakub Jelinek <jakub@redhat.com> 859 860 Update copyright years. 861 8622015-12-18 Andris Pavenis <andris.pavenis@iki.fi> 863 864 * configure.ac: Specify that DJGPP do not have mmap 865 even when sys/mman.h exists. 866 * configure: Regenerate 867 8682015-12-09 John David Anglin <danglin@gcc.gnu.org> 869 870 PR libgfortran/68115 871 * configure.ac: Set libbacktrace_cv_sys_sync to no on hppa*-*-hpux*. 872 * configure: Regenerate. 873 * elf.c (backtrace_initialize): Cast __sync_bool_compare_and_swap call 874 to void. 875 8762015-09-17 Ian Lance Taylor <iant@google.com> 877 878 * posix.c (backtrace_open): Cast second argument of open() to int. 879 8802015-09-11 Ian Lance Taylor <iant@google.com> 881 882 * Makefile.am (backtrace.lo): Depend on internal.h. 883 (sort.lo, stest.lo): Add explicit dependencies. 884 * Makefile.in: Rebuild. 885 8862015-09-09 Hans-Peter Nilsson <hp@axis.com> 887 888 * backtrace.c: #include <sys/types.h>. 889 8902015-09-08 Ian Lance Taylor <iant@google.com> 891 892 PR other/67457 893 * backtrace.c: #include "internal.h". 894 (struct backtrace_data): Add can_alloc field. 895 (unwind): If can_alloc is false, don't try to get file/line 896 information. 897 (backtrace_full): Set can_alloc field in bdata. 898 * alloc.c (backtrace_alloc): Don't call error_callback if it is 899 NULL. 900 * mmap.c (backtrace_alloc): Likewise. 901 * internal.h: Update comments for backtrace_alloc and 902 backtrace_free. 903 9042015-09-08 Ian Lance Taylor <iant@google.com> 905 906 PR other/67457 907 * mmap.c (backtrace_alloc): Correct test for mmap failure. 908 9092015-08-31 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 910 911 * configure.ac: For spu-*-* targets, set have_fcntl to no. 912 * configure: Regenerate. 913 9142015-08-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 915 916 * configure.ac: Remove [disable-shared] argument to LT_INIT. 917 Remove setting PIC_FLAG when building as target library. 918 * configure: Regenerate. 919 9202015-08-26 Hans-Peter Nilsson <hp@axis.com> 921 922 * configure.ac: Only compile with -fPIC if the target 923 supports it. 924 * configure: Regenerate. 925 9262015-08-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 927 928 * configure.ac: Set have_mmap to no on spu-*-* targets. 929 * configure: Regenerate. 930 9312015-08-13 Ian Lance Taylor <iant@google.com> 932 933 * dwarf.c (read_function_entry): Add vec_inlined parameter. 934 Change all callers. 935 9362015-06-11 Martin Sebor <msebor@redhat.com> 937 938 PR sanitizer/65479 939 * dwarf.c (struct line): Add new field idx. 940 (line_compare): Use it. 941 (add_line): Set it. 942 (read_line_info): Reset it. 943 9442015-05-29 Tristan Gingold <gingold@adacore.com> 945 946 * pecoff.c: New file. 947 * Makefile.am (FORMAT_FILES): Add pecoff.c and dependencies. 948 * Makefile.in: Regenerate. 949 * filetype.awk: Detect pecoff. 950 * configure.ac: Define BACKTRACE_SUPPORTS_DATA on elf platforms. 951 Add pecoff. 952 * btest.c (test5): Test enabled only if BACKTRACE_SUPPORTS_DATA is 953 true. 954 * backtrace-supported.h.in (BACKTRACE_SUPPORTS_DATA): Define. 955 * configure: Regenerate. 956 * pecoff.c: New file. 957 9582015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 959 960 * Makefile.in: Regenerated with automake-1.11.6. 961 * aclocal.m4: Likewise. 962 * configure: Likewise. 963 9642015-01-24 Matthias Klose <doko@ubuntu.com> 965 966 * configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC. 967 * configure: Regenerate. 968 9692015-01-05 Jakub Jelinek <jakub@redhat.com> 970 971 Update copyright years. 972 9732014-11-21 H.J. Lu <hongjiu.lu@intel.com> 974 975 PR bootstrap/63784 976 * configure: Regenerated. 977 9782014-11-11 David Malcolm <dmalcolm@redhat.com> 979 980 * ChangeLog.jit: New. 981 9822014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 983 984 PR target/63610 985 * configure: Regenerate. 986 9872014-10-23 Ian Lance Taylor <iant@google.com> 988 989 * internal.h (backtrace_atomic_load_pointer) [no atomic or sync]: 990 Fix to return void *. 991 9922014-05-08 Ian Lance Taylor <iant@google.com> 993 994 * mmap.c (backtrace_free): If freeing a large aligned block of 995 memory, call munmap rather than holding onto it. 996 (backtrace_vector_grow): When growing a vector, double the number 997 of pages requested. When releasing the old version of a grown 998 vector, pass the correct size to backtrace_free. 999 10002014-03-07 Ian Lance Taylor <iant@google.com> 1001 1002 * sort.c (backtrace_qsort): Use middle element as pivot. 1003 10042014-03-06 Ian Lance Taylor <iant@google.com> 1005 1006 * sort.c: New file. 1007 * stest.c: New file. 1008 * internal.h (backtrace_qsort): Declare. 1009 * dwarf.c (read_abbrevs): Call backtrace_qsort instead of qsort. 1010 (read_line_info, read_function_entry): Likewise. 1011 (read_function_info, build_dwarf_data): Likewise. 1012 * elf.c (elf_initialize_syminfo): Likewise. 1013 * Makefile.am (libbacktrace_la_SOURCES): Add sort.c. 1014 (stest_SOURCES, stest_LDADD): Define. 1015 (check_PROGRAMS): Add stest. 1016 10172014-02-07 Misty De Meo <misty@brew.sh> 1018 1019 PR target/58710 1020 * configure.ac: Use AC_LINK_IFELSE in check for 1021 _Unwind_GetIPInfo. 1022 * configure: Regenerate. 1023 10242014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 1025 1026 Update copyright years 1027 10282013-12-06 Jakub Jelinek <jakub@redhat.com> 1029 1030 * elf.c (ET_DYN): Undefine and define again. 1031 (elf_add): Add exe argument, if true and ehdr.e_type is ET_DYN, 1032 return early -1 without closing the descriptor. 1033 (struct phdr_data): Add exe_descriptor. 1034 (phdr_callback): If pd->exe_descriptor is not -1, for very first 1035 call if dlpi_name is NULL just call elf_add with the exe_descriptor, 1036 otherwise backtrace_close the exe_descriptor if not -1. Adjust 1037 call to elf_add. 1038 (backtrace_initialize): Adjust call to elf_add. If it returns 1039 -1, set pd.exe_descriptor to descriptor, otherwise set it to -1. 1040 10412013-12-05 Ian Lance Taylor <iant@google.com> 1042 1043 * alloc.c (backtrace_vector_finish): Add error_callback and data 1044 parameters. Call backtrace_vector_release. Return address base. 1045 * mmap.c (backtrace_vector_finish): Add error_callback and data 1046 parameters. Return address base. 1047 * dwarf.c (read_function_info): Get new address base from 1048 backtrace_vector_finish. 1049 * internal.h (backtrace_vector_finish): Update declaration. 1050 10512013-11-27 Ian Lance Taylor <iant@google.com> 1052 1053 * dwarf.c (find_address_ranges): New static function, broken out 1054 of build_address_map. 1055 (build_address_map): Call it. 1056 * btest.c (check): Check for missing filename or function, rather 1057 than crashing. 1058 (f3): Check that enough frames were returned. 1059 10602013-11-19 Jakub Jelinek <jakub@redhat.com> 1061 1062 * backtrace.h (backtrace_syminfo_callback): Add symsize argument. 1063 * elf.c (elf_syminfo): Pass 0 or sym->size to the callback as 1064 last argument. 1065 * btest.c (struct symdata): Add size field. 1066 (callback_three): Add symsize argument. Copy it to the data->size 1067 field. 1068 (f23): Set symdata.size to 0. 1069 (test5): Likewise. If sizeof (int) > 1, lookup address of 1070 ((uintptr_t) &global) + 1. Verify symdata.val and symdata.size 1071 values. 1072 1073 * atomic.c: Include sys/types.h. 1074 10752013-11-18 Ian Lance Taylor <iant@google.com> 1076 1077 * configure.ac: Check for support of __atomic extensions. 1078 * internal.h: Declare or #define atomic functions for use in 1079 backtrace code. 1080 * atomic.c: New file. 1081 * dwarf.c (dwarf_lookup_pc): Use atomic functions. 1082 (dwarf_fileline, backtrace_dwarf_add): Likewise. 1083 * elf.c (elf_add_syminfo_data, elf_syminfo): Likewise. 1084 (backtrace_initialize): Likewise. 1085 * fileline.c (fileline_initialize): Likewise. 1086 * Makefile.am (libbacktrace_la_SOURCES): Add atomic.c. 1087 * configure, config.h.in, Makefile.in: Rebuild. 1088 10892013-11-18 Jakub Jelinek <jakub@redhat.com> 1090 1091 * elf.c (SHN_UNDEF): Define. 1092 (elf_initialize_syminfo): Add base_address argument. Ignore symbols 1093 with st_shndx == SHN_UNDEF. Add base_address to address fields. 1094 (elf_add): Adjust caller. 1095 1096 * elf.c (phdr_callback): Process info->dlpi_addr == 0 normally. 1097 10982013-11-16 Ian Lance Taylor <iant@google.com> 1099 1100 * backtrace.h (backtrace_create_state): Correct comment about 1101 threading. 1102 11032013-11-15 Ian Lance Taylor <iant@google.com> 1104 1105 * backtrace.h (backtrace_syminfo): Update comment and parameter 1106 name to take any address, not just a PC value. 1107 * elf.c (STT_OBJECT): Define. 1108 (elf_nosyms): Rename parameter pc to addr. 1109 (elf_symbol_search): Rename local variable pc to addr. 1110 (elf_initialize_syminfo): Add STT_OBJECT symbols to elf_symbols. 1111 (elf_syminfo): Rename parameter pc to addr. 1112 * btest.c (global): New global variable. 1113 (test5): New test. 1114 (main): Call test5. 1115 11162013-10-17 Ian Lance Taylor <iant@google.com> 1117 1118 * elf.c (elf_add): Don't get the wrong offsets if a debug section 1119 is missing. 1120 11212013-10-15 David Malcolm <dmalcolm@redhat.com> 1122 1123 * configure.ac: Add --enable-host-shared, setting up 1124 pre-existing PIC_FLAG variable within Makefile.am et al. 1125 * configure: Regenerate. 1126 11272013-09-20 Alan Modra <amodra@gmail.com> 1128 1129 * configure: Regenerate. 1130 11312013-07-23 Alexander Monakov <amonakov@ispras.ru> 1132 1133 * elf.c (elf_syminfo): Loop over the elf_syminfo_data chain. 1134 11352013-07-23 Alexander Monakov <amonakov@ispras.ru> 1136 1137 * elf.c (backtrace_initialize): Pass elf_fileline_fn to 1138 dl_iterate_phdr callbacks. 1139 11402013-03-25 Ian Lance Taylor <iant@google.com> 1141 1142 * alloc.c: #include <sys/types.h>. 1143 * mmap.c: Likewise. 1144 11452013-01-31 Ian Lance Taylor <iant@google.com> 1146 1147 * dwarf.c (read_function_info): Permit fvec parameter to be NULL. 1148 (dwarf_lookup_pc): Don't use ddata->fvec if threaded. 1149 11502013-01-25 Jakub Jelinek <jakub@redhat.com> 1151 1152 PR other/56076 1153 * dwarf.c (read_line_header): Don't crash if DW_AT_comp_dir 1154 attribute was not seen. 1155 11562013-01-16 Ian Lance Taylor <iant@google.com> 1157 1158 * dwarf.c (struct unit): Add filename and abs_filename fields. 1159 (build_address_map): Set new fields when reading unit. 1160 (dwarf_lookup_pc): If we don't find an entry in the line table, 1161 just return the main file name. 1162 11632013-01-14 Richard Sandiford <rdsandiford@googlemail.com> 1164 1165 Update copyright years. 1166 11672013-01-01 Ian Lance Taylor <iant@google.com> 1168 1169 PR bootstrap/54834 1170 * Makefile.am (AM_CPPFLAGS): Remove -I ../gcc/include and -I 1171 $(MULTIBUILDTOP)/../../gcc/include. 1172 * Makefile.in: Rebuild. 1173 11742013-01-01 Ian Lance Taylor <iant@google.com> 1175 1176 PR other/55536 1177 * mmap.c (backtrace_alloc): Don't call sync functions if not 1178 threaded. 1179 (backtrace_free): Likewise. 1180 11812012-12-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1182 1183 * mmapio.c: Define MAP_FAILED if not defined. 1184 11852012-12-11 Jakub Jelinek <jakub@redhat.com> 1186 1187 PR bootstrap/54926 1188 * Makefile.am (AM_CFLAGS): Remove -frandom-seed=$@. 1189 * configure.ac: If --with-target-subdir, add -frandom-seed=$@ 1190 to EXTRA_FLAGS unconditionally, otherwise check whether the compiler 1191 accepts it. 1192 * Makefile.in: Regenerated. 1193 * configure: Regenerated. 1194 11952012-12-07 Jakub Jelinek <jakub@redhat.com> 1196 1197 PR bootstrap/54926 1198 * Makefile.am (AM_CFLAGS): Add -frandom-seed=$@. 1199 * Makefile.in: Regenerated. 1200 12012012-11-20 Ian Lance Taylor <iant@google.com> 1202 1203 * dwarf.c (read_attribute): Always clear val. 1204 12052012-11-13 Ian Lance Taylor <iant@google.com> 1206 1207 PR other/55312 1208 * configure.ac: Only add -Werror if building a target library. 1209 * configure: Rebuild. 1210 12112012-11-12 Ian Lance Taylor <iant@google.com> 1212 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1213 Gerald Pfeifer <gerald@pfeifer.com> 1214 1215 * configure.ac: Check for getexecname. 1216 * fileline.c: #include <errno.h>. Define getexecname if not 1217 available. 1218 (fileline_initialize): Try to find the executable in a few 1219 different ways. 1220 * print.c (error_callback): Only print the filename if it came 1221 from the backtrace state. 1222 * configure, config.h.in: Rebuild. 1223 12242012-10-29 Ian Lance Taylor <iant@google.com> 1225 1226 * mmap.c (backtrace_vector_release): Correct last patch: add 1227 aligned, not size. 1228 12292012-10-29 Ian Lance Taylor <iant@google.com> 1230 1231 * mmap.c (backtrace_vector_release): Make sure freed block is 1232 aligned on 8-byte boundary. 1233 12342012-10-26 Ian Lance Taylor <iant@google.com> 1235 1236 PR other/55087 1237 * posix.c (backtrace_open): Add does_not_exist parameter. 1238 * elf.c (phdr_callback): Do not warn if shared library could not 1239 be opened. 1240 * fileline.c (fileline_initialize): Update calls to 1241 backtrace_open. 1242 * internal.h (backtrace_open): Update declaration. 1243 12442012-10-26 Jack Howarth <howarth@bromo.med.uc.edu> 1245 1246 PR target/55061 1247 * configure.ac: Check for _Unwind_GetIPInfo function declaration. 1248 * configure: Regenerate. 1249 12502012-10-24 Ian Lance Taylor <iant@google.com> 1251 1252 PR target/55061 1253 * configure.ac: Check whether -funwind-tables option works. 1254 * configure: Rebuild. 1255 12562012-10-11 Ian Lance Taylor <iant@google.com> 1257 1258 * configure.ac: Do not use dl_iterate_phdr on Solaris 10. 1259 * configure: Rebuild. 1260 12612012-10-10 Ian Lance Taylor <iant@google.com> 1262 1263 * elf.c: Rename all Elf typedefs to start with b_elf, and be all 1264 lower case. 1265 12662012-10-10 Hans-Peter Nilsson <hp@bitrange.com> 1267 1268 * elf.c (elf_add_syminfo_data): Add casts to avoid warning. 1269 12702012-10-09 Ian Lance Taylor <iant@google.com> 1271 1272 * dwarf.c (dwarf_fileline): Add cast to avoid warning. 1273 (backtrace_dwarf_add): Likewise. 1274 12752012-10-09 Ian Lance Taylor <iant@google.com> 1276 1277 Add support for tracing through shared libraries. 1278 * configure.ac: Check for link.h and dl_iterate_phdr. 1279 * elf.c: #include <link.h> if system has dl_iterate_phdr. #undef 1280 ELF macros before #defining them. 1281 (dl_phdr_info, dl_iterate_phdr): Define if system does not have 1282 dl_iterate_phdr. 1283 (struct elf_syminfo_data): Add next field. 1284 (elf_initialize_syminfo): Initialize next field. 1285 (elf_add_syminfo_data): New static function. 1286 (elf_add): New static function, broken out of 1287 backtrace_initialize. Call backtrace_dwarf_add instead of 1288 backtrace_dwarf_initialize. 1289 (struct phdr_data): Define. 1290 (phdr_callback): New static function. 1291 (backtrace_initialize): Call elf_add. 1292 * dwarf.c (struct dwarf_data): Add next and base_address fields. 1293 (add_unit_addr): Add base_address parameter. Change all callers. 1294 (add_unit_ranges, build_address_map): Likewise. 1295 (add_line): Add ddata parameter. Change all callers. 1296 (read_line_program, add_function_range): Likewise. 1297 (dwarf_lookup_pc): New static function, broken out of 1298 dwarf_fileline. 1299 (dwarf_fileline): Call dwarf_lookup_pc. 1300 (build_dwarf_data): New static function. 1301 (backtrace_dwarf_add): New function. 1302 (backtrace_dwarf_initialize): Remove. 1303 * internal.h (backtrace_dwarf_initialize): Don't declare. 1304 (backtrace_dwarf_add): Declare. 1305 * configure, config.h.in: Rebuild. 1306 13072012-10-04 Gerald Pfeifer <gerald@pfeifer.com> 1308 1309 * btest.c (f23): Avoid uninitialized variable warning. 1310 13112012-10-04 Ian Lance Taylor <iant@google.com> 1312 1313 * dwarf.c: If the system header files do not declare strnlen, 1314 provide our own version. 1315 13162012-10-03 Ian Lance Taylor <iant@google.com> 1317 1318 * dwarf.c (read_uleb128): Fix overflow test. 1319 (read_sleb128): Likewise. 1320 (build_address_map): Don't change unit_buf.start. 1321 13222012-10-02 Uros Bizjak <ubizjak@gmail.com> 1323 1324 PR other/54761 1325 * configure.ac (EXTRA_FLAGS): New. 1326 * Makefile.am (AM_FLAGS): Add $(EXTRA_FLAGS). 1327 * configure, Makefile.in: Regenerate. 1328 13292012-09-29 Ian Lance Taylor <iant@google.com> 1330 1331 PR other/54749 1332 * fileline.c (fileline_initialize): Pass errnum as -1 when 1333 reporting that we could not read executable information after a 1334 previous failure. 1335 13362012-09-27 Ian Lance Taylor <iant@google.com> 1337 1338 PR bootstrap/54732 1339 * configure.ac: Add no-dependencies to AM_INIT_AUTOMAKE. 1340 * Makefile.am: Add dependencies for all objects. 1341 * configure, aclocal.m4, Makefile.in: Rebuild. 1342 13432012-09-27 Ian Lance Taylor <iant@google.com> 1344 1345 PR other/54726 1346 * elf.c (backtrace_initialize): Set *fileln_fn, not 1347 state->fileln_fn. 1348 13492012-09-19 Ian Lance Taylor <iant@google.com> 1350 1351 * configure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled 1352 as a target library. 1353 * configure: Rebuild. 1354 13552012-09-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1356 Ian Lance Taylor <iant@google.com> 1357 1358 * configure.ac (GCC_HEADER_STDINT): Invoke. 1359 * backtrace.h: If we can't find <stdint.h>, use "gstdint.h". 1360 * btest.c: Don't include <stdint.h>. 1361 * dwarf.c: Likewise. 1362 * configure, aclocal.m4, Makefile.in, config.h.in: Rebuild. 1363 13642012-09-18 Ian Lance Taylor <iant@google.com> 1365 1366 PR bootstrap/54623 1367 * Makefile.am (AM_CPPFLAGS): Define. 1368 (AM_CFLAGS): Remove -I options. 1369 * Makefile.in: Rebuild. 1370 13712012-09-18 Ian Lance Taylor <iant@google.com> 1372 1373 * posix.c (O_BINARY): Define if not defined. 1374 (backtrace_open): Pass O_BINARY to open. Only call fcntl if 1375 HAVE_FCNTL is defined. 1376 * configure.ac: Test for the fcntl function. 1377 * configure, config.h.in: Rebuild. 1378 13792012-09-18 Ian Lance Taylor <iant@google.com> 1380 1381 * btest.c (test1, test2, test3, test4): Add the unused attribute. 1382 13832012-09-18 Ian Lance Taylor <iant@google.com> 1384 1385 * dwarf.c: Correct test of HAVE_DECL_STRNLEN. 1386 13872012-09-18 Ian Lance Taylor <iant@google.com> 1388 1389 * configure.ac: Add AC_USE_SYSTEM_EXTENSIONS. 1390 * mmapio.c: Don't define _GNU_SOURCE. 1391 * configure, config.h.in: Rebuild. 1392 13932012-09-18 Ian Lance Taylor <iant@google.com> 1394 1395 * configure.ac: Check whether strnlen is declared. 1396 * dwarf.c: Declare strnlen if not declared. 1397 * configure, config.h.in: Rebuild. 1398 13992012-09-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1400 1401 * fileline.c: Include <stdlib.h>. 1402 * mmap.c: Likewise. 1403 14042012-09-17 Ian Lance Taylor <iant@google.com> 1405 1406 PR bootstrap/54611 1407 * nounwind.c (backtrace_full): Rename from backtrace. Add state 1408 parameter. 1409 14102012-09-17 Gerald Pfeifer <gerald@pfeifer.com> 1411 1412 PR bootstrap/54611 1413 * nounwind.c (backtrace_simple): Add state parameter. 1414 14152012-09-17 Ian Lance Taylor <iant@google.com> 1416 1417 PR bootstrap/54609 1418 * unknown.c (unknown_fileline): Add state parameter, remove 1419 fileline_data parameter, name error_callback parameter. 1420 (backtrace_initialize): Add state parameter. 1421 14222012-09-17 Ian Lance Taylor <iant@google.com> 1423 1424 * Initial implementation. 1425 1426Copyright (C) 2012-2020 Free Software Foundation, Inc. 1427 1428Copying and distribution of this file, with or without modification, 1429are permitted in any medium without royalty provided the copyright 1430notice and this notice are preserved. 1431