ELFUTILS 0.193 "Bugs erased, stacks traced" - https://elfutils.org/
A new release of elfutils is available at: ftp://sourceware.org/pub/elfutils/0.193/ or https://sourceware.org/elfutils/ftp/0.193/ Visit us on the Libera.Chat irc channel #elfutils * NEWS * debuginfod: Add CORS (webapp access) support to webapi and --cors option. Add --listen-address option for binding the HTTP listen socket to a specific IPv4 or IPv6 address. debuginfod client now caches x-debuginfod-* HTTP headers alongside downloaded files. libdw: Add dwarf_language and dwarf_language_lower_bound functions. Improved support for DWARF6 language metadata as well as DWARF language constants for Nim, Dylan, Algol68, V and Mojo. dwarf_srclang is now forward-compatible with DWARF6 language constants. libdwfl_stacktrace: Experimental new library interface for unwinding stack samples into call chains, and tracking and caching Elf data for multiple processes, building on libdwfl. Initially supports perf_events stack sample data. libelf: elf_scnshndx has been rewritten to be more robust, particularly for ELF files with more than 64K sections. readelf: Improved handling of corrupt ELF data. --section-headers output now includes a "Key to Flags" explaining section flag meanings. * GIT SHORTLOG * Aaron Merey (22): configure.ac: Fix ENABLE_IMA_VERIFICATION conditional tests/.gitignore: Add newzdata strip: Ignore --reloc-debug-sections-only for non-ET_REL files. srcfiles.cxx: Prevent fd and entry leak debuginfod.cxx: Fix unused parameter warning libdwfl/argp-std.c: Set offline_next_address for a.out default debuginfod-client.c: Avoid freeing uninitialized value src/readelf.c: Close skel_fd Add eu_search_tree_init libdwfl/offline.c: Avoid closing invalid fd tests/backtrace-subr.sh: Avoid valgrind track-fds in check_native_core tests: Avoid leaking file descriptors tests/Makefile.am: Add --track-fds=yes to valgrind_cmd Change type of dwarf_lock from rwlock to mutex libdw: Add locking to dwarf_getsrcfiles, dwarf_getsrclines, dwarf_macro_getsrcfiles libdwP.h: Add locking to str_offsets_base_off Add configure option --enable-helgrind Add tests/thread-safety-subr.sh tests/.gitignore: Add dwarf_language_lower_bound, test-manyfuncs libdw/libdw_findcu.c: Fix TOCTOU race condition in __libdw_findcu src/.gitignore: Add stacktrace Prepare for 0.193 Alfred Wingate (2): Declare HAVE_ERROR_H only if error symbol is available stacktrace: Add missing locale.h Anton Moryakov (2): objdump: Handle elf_getarhdr returning NULL in handle_ar readelf: check elf_getarhdr returns NULL in dump_archive_index Frank Ch. Eigler (3): debuginfod-client: correct invalid free() in failed ima path Revert "debuginfod-client: correct invalid free() in failed ima path" PR31862: debuginfod: client to cache x-debuginfod-* headers Heather S. McIntyre (4): Add tests/run-eu-search-cfi.sh Add tests/run-eu-search-macros.sh Add tests/run-eu-search-lines.sh Add tests/run-eu-search-die.sh Henning Meyer (1): debuginfod: in --cors mode, add CORS response headers and OPTIONS method Mark Wielaard (28): tests: run-debuginfod-seekable.sh depends on LZMA and DEBUGINFOD libelf: Add libeu objects to libelf.a static archive configure: better error message for [lib]debuginfod missing dependencies stacktrace: Init elf_fd in sysprof_init_dwfl config: Enable Debuginfod RPM sig checking and eu-stacktrace in spec libelf: Only fetch shdr once in elf_compress[_gnu] libdw: Don't use ATOMIC_VAR_INIT libdw: Update DW_LANG codes backends: check_special_symbol _GLOBAL_OFFSET_TABLE_ points inside .got config: Put the -D option as first argument to INSTALL_DATA Update minimum C compiler supported to C11 plus stdatomic.h elflint: process_file both prefix and suffix are NULL or both are non-NULL libdw: Simplify __libdw_getabbrev and fix dwarf_offabbrev issue libelf, readelf: Use validate_str also to check dynamic symstr data readelf: Handle NULL phdr in handle_dynamic_symtab readelf: Skip trying to uncompress sections without a name strip: Verify symbol table is a real symbol table libelf: Handle elf_strptr on section without any data readelf: Use section_name instead of elf_strptr in print_debug_frame_section libelf: Rewrite elf_scnshndx, extended index table handling dwarf.h: Add DWARF v6 langauge attributes and DW_LNAME constants libdw: Add dwarf_language and dwarf_language_lower_bound functions. libdw: Make dwarf_srclang forward compatible with DW_AT_language_name readelf: Add support for printing DW_AT_language_name DW_LNAMEs tests/thread-safety-subr.sh: Change if [[ ]] to if [ ] configure: Use AC_CHECK_HEADERS to detect stdatomic.h lib: Prevent double inclusion of config.h through system.h libdw: Add Nim language and dwarf_srclang tests Markus Mayer (1): aarch64: define struct user_pac_mask if needed Michael Pratt (5): Consolidate and add files to clean target variables Makefile.am: include common eu.am definitions Consolidate custom clean targets for coverage files Consolidate list of custom phony targets Replace usage of ar with stored library manifest files Michael Trapp (1): debuginfod: add --listen-address option Philippe Benard (1): libcpu: Remove false positive null ptr deref warning for GCC -O3 RocketDev (1): config: fix globing error for zsh Samuel Zeter (1): readelf: Add 'Key to Flags' to eu-readelf --section-headers output Serhei Makarov (12): libebl [1/12]: api for perf register handling, start with x86_64 libdwfl [2/12]: expose setfunc callback for libdwflP+libebl clients libebl [3/12]: eu-stacktrace: use new register handling api libdwfl_stacktrace [4/12]: intro library, add dwflst_perf_sample_preferred_regs_mask libdwfl_stacktrace [5/12]: introduce Dwflst_Process_Tracker libdwfl_stacktrace [6/12]: Elf* caching via dwflst_process_tracker eu-stacktrace [7/12]: use Dwflst_Process_Tracker for Elf * caching libdwfl_stacktrace [8/12]: Dwfl* caching via Dwflst_Process_Tracker libdwfl_stacktrace [9/12]: add dwflst_tracker_find_pid eu-stacktrace [10/12]: use dwflst_tracker_find_pid libdwfl_stacktrace [11/12]: add dwflst_perf_sample_getframes eu-stacktrace [12/12]: use dwflst_perf_sample_getframes
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBGXb21kBCADCyOpVSfJ6XHVp8+dspYCgkSwr26IF+SXHzt9dVyMChAKJIXib ty8NA/Huh3ZRNzFXdFM09yoYiglnYu3+r1rniliP1L1w3y0tDNxlvlLmVhM5WAfA IyZ9tI8X1XIfRLYsX70UM3jDvyoXkEQkjhQKDHrgBdBTNARHlHVykj44xD2TCwao vV0gFu2EmCN8TsMWLdQ1VymtYd/UFB6znlLzSglzzx4OYKyla6anbWqKxvB3siIH Pf/ULBh0JNTluH39kk486yE9Lh1z9H8FoVlUWcXvlr0rmPPQDl9se02bkd4rA/gD kRQmlUXxJIJCNYZiQ7k0nZSYQY6JzhY1szBLABEBAAG0H0Fhcm9uIE1lcmV5IDxh bWVyZXlAcmVkaGF0LmNvbT6JAVEEEwEIADsWIQRsK2MVY7jTMFeNPLR0/T+id55w cwUCZdvbWQIbAwULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRB0/T+id55w cxHiCAC9evJD8CqSPOfuKFa2iITLoSM2ORdpsp5Wla9OpAV5GnUNKbR7KCLoG7OQ 3Tth9qdHqrCIUigvj2xzcaovdyVRpDLBFG5cbrBB7Jqly0ptJhFUtx8wbDBammZq 7ZAsLFP582ILqlLjcTIOUNk4ABuTDN9FIdewgWXMW7GPp5euJ4ucos2glySwLbC4 +6kZ1guYYbO3S9YWWyImP2Guf4KVi5kTF0USTklvszJLvwJNkYknQhxnDcWLeOPJ P4hOdHlwJSsaXcKyOn//FdMXRGDcknKcn43e03esXjflvz8HyXz4VbjEqDpOHS9i l/NOw6+C7+wcAvHDu583cMbuI7hziEYEEBEIAAYFAmXiB7IACgkQVZbdDOm/ZT2Q fwCfQSmNDkHu3ZxwvWs+mOFaYR3PGRAAnieQMVnPZd8kgGkVO/GNIJIBeuA7iF0E EBECAB0WIQRBoMESdLHof+KOTFPj134flRYZkQUCZeIIBAAKCRDj134flRYZkX4N AJ0Q8p1f7lmWgiHaHmD3DtuJ7uhWHACgk84evo0UsqVNi/4xHZ0wpVvxx+S5AQ0E ZdvbWQEIAKgzEcJMUfFgsUGwMO/I4mwjvB7+Jx90lSYjS3uM7E3jnYhu/en42skl nYEMxMR9EWUF6RZ78QiUvD/Ik6fP0YrMuTRBnZ7ZOd5zLPbgDIAOVeiVxFRwGOzj z01V/plDlz+zCQkS1tOPgpGKCzTol7/M9ks9AHqKE6DWrrk1LbER2qDyE6XMAe5b LNqdmtfJ2uf2XPThGGz0ujJ0MdistoRMechX9qBIBaLwxuA5edx+3iu6MdjMCeua yV+Yb4ePG+9IY3OmdC/3wNpJYOQvSsJz9PzX4Nf1PuIaT/JoQSmZa8aZYgtCVMCV t15UDdpPTyuFeXSBYLkuSQGM6DqARnEAEQEAAYkBNgQYAQgAIBYhBGwrYxVjuNMw V408tHT9P6J3nnBzBQJl29tZAhsMAAoJEHT9P6J3nnBzAJYH/1eX+r8VEDPU/TKA yqYW2Mg87jyo8+t2x0zFZfucni/0o3ejaSxSVtnWiFh79OWnACnbq0go+pT59X7V 03VcYQgRpzLuD0OzcOmkHI4kgbB2Q3zNszlqb67Lkt+P9xy16DWS8N9qujfiTw6q +xT/BsSxmOuWxexrRjui012g28TcihlQIRBOtJIA2vEwUWjuMkzno2Xbrxq99WH8 iSr3bTGc/jpnMetW4iHE8VxUJ7ixvbcE4vWsfUqPyr/5U25a2D8XNmvqw9J1msNE 5dlWzgmpLMHLVzKigvJffjsYxxLvekbSv/mJgonhDXUQvUnwy0bx41te/neXHrEv S0Zj1TU= =iz3/ -----END PGP PUBLIC KEY BLOCK-----