ELFUTILS 0.195 "Handwritten" - https://elfutils.org/
A new release of elfutils is available at: ftp://sourceware.org/pub/elfutils/0.195/ or https://sourceware.org/elfutils/ftp/0.195/ Visit us on the Libera.Chat irc channel #elfutils * NEWS * CONTRIBUTING: elfutils has adopted a policy on the use of Large Language Models (LLMs). Contributions containing output generated by LLMs are not currently being accepted. debuginfod: Introduce --home-redirect and --home-html switches allowing for redirecting to custom URL and/or serving a custom html file, if document root is requested. Related: PR33635. New command line option --max-depth that limits scanner depth. Metadata queries now support lookup by build-id. New function debuginfod_default_progressfn added to libdebuginfod. debuginfod-find: Fixed bug where DEBUGINFOD_PROGRESS environment variable was ignored if debuginfod-find was invoked without -v. elflint: Recognize .debug_*.dwo sections, .relro_padding sections as well as SHT_AARCH64_ATTRIBUTES, SHT_LLVM_LTO and SHT_LLVM_ADDRSIG. Accept R_X86_64_DTPOFF64 in ET_REL files. Add lints for PT_LOAD, PT_INTERP and PT_PHDR segments. libdw: Added language constants for Erlang, Elixir and Gleam. Fixed bug that caused sections in DWARF package files (.dwp) to be missed if section .debug_dwp is present. libdwfl: Improved handling of Linux kernel object files with sh_addr fields set to non-zero. libdwfl_stacktrace: AArch64 and 32-bit ARM support added. The libdwfl_stacktrace library interface is experimental and may be subject to API/ABI changes. libelf: New man pages for gelf.h functions. Fixed gelf_getmove and gelf_update_move assertion failures caused by incorrect ELFCLASS32/ELFCLASS64 handling. elf_update now correctly handles binaries with 65280+ sections when section zero headers aren't loaded. readelf: Improved support for DWARF Package Files (.dwp) sections. Improved output format for .gcc_except_table. stacktrace: This experimental tool is scheduled to be removed in the next release and replaced with the upcoming eu-stackprof tool. * GIT SHORTLOG * Aaron Merey (46): link_map.c: Declare name_no_sysroot only if openat2 RESOLVE_IN_ROOT is supported readelf: Allocate job_data one-by-one as needed doc: Add gelf_getshdr.3 doc: Add gelf_offscn.3 doc: Add gelf_newphdr.3 doc: Add gelf_getrel.3 and gelf_getrela.3 doc: Add gelf_update_shdr.3 doc: Add gelf_update_ehdr.3 doc: Add gelf_newehdr.3 doc: Add gelf_update_rel.3 and gelf_update_rela.3 doc: add man pages for gelf get symbol versioning entry functions doc: add man page for gelf update symbol versioning entry functions gelf_getmove.c: Handle ELFCLASS32 and ELFCLASS64 separately Make __libdwfl_debuginfod_find_* functions thread safe src/elfclassify.c: Fix memory leak in check_ar_members CONTRIBUTING: Add Policy on the Use of LLM-generated Content doc: Add gelf_fsize.3 doc: Add gelf_getphdr.3 doc: Add gelf_update_phdr.3 doc: Add gelf_getchdr.3 doc: Add gelf_xlatetof.3 and gelf_xlatetom.3 dwarf_begin_elf.c: Fix lock resource leak dwarf_tag.c: Protect cu->last_abbrev_offset with lock doc: Add gelf_getsym.3 doc: Add gelf_update_sym.3 doc: Add gelf_getsymshndx.3 doc: Add gelf_update_symshndx.3 doc: Add gelf_getsyminfo.3 doc: Add gelf_update_syminfo.3 doc: Add gelf_getdyn.3 doc: Add gelf_update_dyn.3 doc: Add gelf_getmove.3 doc: Add gelf_update_move.3 doc: Add gelf_getlib.3 doc: Add gelf_update_lib.3 doc: Add gelf_getnote.3 doc: Add gelf_getauxv.3 doc: Add gelf_update_auxv.3 doc: Add gelf_checksum.3 gelf_update_move.c: Handle ELFCLASS32 and ELFCLASS64 separately libdebuginfod: Add the default progress callback function to the public API debuginfod-find: Restore DEBUGINFOD_PROGRESS behaviour debuginfod-client.c: Add dummy debuginfod_default_progressfn doc: Update libelf.3 with gelf.h information config/elfutils.spec.in: package gelf.3 in %files Prepare for 0.195 Andreas Schwab (1): Fix const-correctness issues Arnout Engelen (1): tests: improve reliability of run-sysroot.sh Fabian Rast (1): elflint: add additional lints to LOAD, INTERP and PHDR segments Frank Ch. Eigler (1): PR33937: docs: catch up debuginfod-find / client docs to code Josef Cejka (1): debuginfod: add metadata query by buildid Mark Wielaard (28): debuginfod: Mark internal debuginfod-client.c functions static libdw: Add Erlang, Elixir and Gleam language constants libdw: Translate DW_LANG_Algol68 to DW_LNAME_Algol68 with lversion 1978 libdw: Make sure to get .eh_frame_hdr with .eh_frame in getcfi_shdr libelf: Add gelf_fsize main check tests: Disable valgrind for run-large-elf-file and run-compress-test forge: Add a forgejo workflow to run various tests stacktrace: fix a C23-ism in sigint_handler configure: Add -Wmissing-parameter-name if available configure: Add -Wdeprecated-non-prototype and -Wfree-labels if available elflint: Accept R_X86_64_DTPOFF64 in ET_REL files elflint, readelf, support SHT_LLVM_LTO and SHT_LLVM_ADDRSIG elflint: Recognize .relro_padding section readelf: Handle CUs that share an addr_base or str_offsets_base readelf: Don't warn for CUs with the same base addresses tests: Skip tests on non-ELF bitcode object files aarch64: Recognize SHT_AARCH64_ATTRIBUTES libdwfl: Work around ET_REL files with sh_addr fields set to non-zero Replace assert with eu_static_assert where possible. libelf: elf_update should make sure section zero exists readelf: Print split DWARF CU version, unit type and id debuginfod: Make sure PATH_MAX exists in debuginfod-client.c readelf: print .debug_cu_index and .debug_tu_index sections libebl: Explicitly check Ehdr can be used in eblopenbackend elflint: Recognize debug dwo sections config: Make known-dwarf work for DW_SECT elf_newdata: Make sure to set d_type to ELF_T_BYTE and d_align to one libdw: Recognize .debug_dwp section in scn_dwarf_type as TYPE_DWO Martin Cermak (1): PR33635: Introduce debuginfod --home-redirect and --home-html Martin Liška (2): readelf: improve output format for .gcc_except_table readelf: gcc_except_table: add newline in output Michael Trapp (1): debuginfod: add filename to archive_exception log Piotr Drąg (2): po: Update POTFILES.in po: Update Polish translation Roman Bolshakov (1): debuginfod: Add a flag to limit scan depth Samuel Dainard (1): readelf: Fix NULL pointer dereference in process_symtab with -D flag Sergei Trofimovich (1): libcpu/i386_parse.y: drop unused `cnt` variable Serhei Makarov (8): PR33854: fix regression in dwflst_perf_sample_getframes libdwfl/linux-pid-attach.c PR33974: __libdwfl_set_initial_registers_thread on non-Linux backends/: add aarch64 sample_regs support backends/: fixup x86 initreg_sample to share code with aarch64 libebl/eblinitreg_sample.c: fix a potential off-by-one error backends/: should use size_t n_regs_mapping for *_sample_sp_pc backends/: add 32-bit ARM sample_regs support src/stacktrace.c: Enable ARM support
