elfutils 0.171 released
Mark Wielaard
mark@klomp.org
Fri Jun 1 21:13:00 GMT 2018
ELFUTILS 0.171 - http://elfutils.org/
A new release of elfutils is available at:
ftp://sourceware.org/pub/elfutils/0.171/
or https://sourceware.org/elfutils/ftp/0.171/
* NEWS *
DWARF5 and split dwarf, including GNU DebugFission, are supported now.
Data can be read from the new DWARF sections .debug_addr, .debug_line_str,
.debug_loclists, .debug_str_offsets and .debug_rnglists. Plus the new
DWARF5 and GNU DebugFission encodings of the existing .debug sections.
Also in split DWARF .dwo (DWARF object) files. This support is mostly
handled by existing functions (dwarf_getlocation*, dwarf_getsrclines,
dwarf_ranges, dwarf_form*, etc.) now returning the data from the new
sections and data formats. But some new functions have been added
to more easily get information about skeleton and split compile units
(dwarf_get_units and dwarf_cu_info), handle new attribute data
(dwarf_getabbrevattr_data) and to keep references to Dwarf_Dies
that might come from different sections or files (dwarf_die_addr_die).
Not yet supported are .dwp (Dwarf Package) and .sup (Dwarf Supplementary)
files, the .debug_names index, the .debug_cu_index and .debug_tu_index
sections. Only a single .debug_info (and .debug_types) section are
currently handled.
readelf: Handle all new DWARF5 sections.
--debug-dump=info+ will show split unit DIEs when found.
--dwarf-skeleton can be used when inspecting a .dwo file.
Recognizes GNU locviews with --debug-dump=loc.
libdw: New functions dwarf_die_addr_die, dwarf_get_units,
dwarf_getabbrevattr_data and dwarf_cu_info.
libdw will now try to resolve the alt file on first use of
an alt attribute FORM when not set yet with dwarf_set_alt.
dwarf_aggregate_size() now works with multi-dimensional arrays.
libdwfl: Use process_vm_readv when available instead of ptrace.
backends: Add a RISC-V backend.
There were various improvements to build on Windows.
The sha1 and md5 implementations have been removed, they weren't used.
* GIT SHORTLOG *
Andreas Schwab (3):
libelf: Sync elf.h from glibc
Add support for RISC-V
backends: add checks for _GLOBAL_OFFSET_TABLE_ and __global_pointer$ on riscv
Dima Kogan (1):
libdw: dwarf_aggregate_size() works with multi-dimensional arrays
Dmitry V. Levin (2):
tests: robustify run-strip-nothing.sh against unstripped libc_nonshared.a
elflint: fix typo in error diagnostics
Joshua Watt (1):
Use fallthrough attribute.
Mark Wielaard (115):
libelf: Sync elf.h from glibc.
Internationalized messages should not contain the '\v' escape sequence.
README: Add basic build instructions.
ar: Check whether ar header values fit.
libdw: Define LIBDW_CIE_ID and use it in dwarf_cfi_cie_p.
libelf: Add ELF_E_INVALID_ELF error value.
libelf: Don't error out when sanity checking e_shoff if scncnt is zero.
libdwfl: When the kernel is found, but not the modules warn, don't fail.
lib: Remove md5 and sha1 implementations.
backends: Ignore GCC8 -Wpacked-not-aligned for m68k_corenote.c.
config: files under /usr/lib/sysctl.d (_sysctldir) aren't %config.
readelf: Handle DW_OP_GNU_variable_value.
libdw: Update acceptable forms and attributes for dwarf_getlocation.
libdw: Handle DW_OP_GNU_variable_value.
tests: Add varlocs-self and exprlocs-self tests.
tests: Fix cfi_debug => cfi_debug_bias typo in varlocs assert.
readelf: Print DIE offset in attribute reading error messages.
readelf: Print attribute name and form in error message.
libdwfl: Don't dereference possibly unaligned auxv entry pointer from core.
readelf: Adjust print_ops formatting.
readelf: Print abbrev code for DIE with --debug-dump=info.
readelf: Print actual file for decl_file and call_file attributes.
readelf: Print CU, base address and unresolved .debug_range entries.
readelf: Print CU, base address and unresolved .debug_loc entries.
readelf: Hook up -g, --section-groups to display the section groups.
readelf: Handle DW_OP_call2 and DW_OP_call4 correctly.
libdw: dwarf_aggregate_size should not peel the given DIE.
readelf: Try to continue after encountering bogus ELF Note data.
libdw: Add explicit section index to struct Dwarf_CU.
libdw: Check there is .debug_info/types section data in __libdw_offdie.
readelf: Format offset as DIE index (hex).
tests: Try to use coredumpctl to extract core files.
readelf: Use dwarf_form_name for printing (unknown) forms.
libdw: New get_uleb128_unchecked to use with already checked Dwarf_Abbrev.
libdw: Reduce size of struct Dwarf_Abbrev.
readelf: Fix crash on reading loc data or range data with bad/no CUs.
tests: Check symtabshdr instead of symtabndx in elfstrmerge.c.
libdw: Resolve alt file on first use.
libdw: Add dwarf_die_addr_die function.
Include sys/ptrace.h as early as possible.
tests: Accept any core if no core with the "correct" pid can be found.
libelf: Sync elf.h from glibc.
libdw: Parse new DWARF5 units and CU DIEs.
libdw: Add new dwarf_get_units function to iterate over all units.
libdw: Recognize new DWARF5 attribute forms.
libdw: Handle DWARF5 DW_FORM_implicit_const. Add dwarf_getabbrevattr_data.
libdw: Add support for DWARF5 DW_FORM_data16.
libebl: Allow SHT_NOTE as relocation target type.
elflint: Make sure we can read a whole element when iterating over group.
readelf: Add some support for locviews.
libdwfl: Use realpath (name, NULL) instead of canonicalize_file_name (name).
libdw: Add new DWARF5 Dwarf expression operations.
libebl: Handle SYMTAB_SHNDX in ebl_dynamic_tag_name.
readelf: Report error when decl_file or call_file attribute is invalid.
readelf: Print dwarf_dieoffset as %PRIx64, not %zx.
libdwfl: Use process_vm_readv when available.
readelf: Break sysv[64] symbol hash bucket chain loops.
libdw: Extend documentation to explain relative file paths and comp_dir.
libdw: Add support for reading DW_FORM_addrx[1234] in .debug_addr.
libdw: Add support for reading DW_FORM_strx[1234] in .debug_str_offsets.
libdw: Make sure to initialize Dwarf_CU addr_base and str_off_base.
libdw: Restructure address range reading for .debug_loc and .debug_ranges.
libdwfl: Handle unwind frame when the return address register isn't set.
aarch64: Add default cfi rule to restore SP from CFA address.
readelf: Only lookup files and show errors in attr_callback when not silent.
readelf: Fix advance_pc to use op_addr_advance, not just op_advance.
tests: Test readelf --debug-dump=[decoded]line with min_inst_len > 1.
libdw: Handle DW_FORM_line_strp.
readelf: Handle .debug_line_str section.
libebl: Add new DWARF5 debug section names to default_debugscn_p.
libdw: Handle DWARF5 line tables in dwarf_getsrclines.
libdw: Handle DW_FORM_[ref|strp]_sup[48] as DW_FORM_GNU_[ref|strp]_alt.
readelf: Handle .debug_info first if any other debug section needs it.
readelf: Use raw section data if nothing is available through libdw.
addr2line: Add explicit fflush for stdout when reading from stdin.
libdw: Fix crashing on illegal/zero Dwarf_Die.
readelf: Add DWARF5 .debug_line support.
readelf, libdw: Handle DWARF5 .debug_macro.
readelf: Fix 32bit compile issues.
libdw, readelf: Handle .debug_*.dwo section name variants.
libdw: Add GNU DebugFission attributes, tags, forms and operands.
libdw: Recognize GNU DebugFission split units.
libdw: dwarf_get_units find split units from .dwo.
Mark __libdw_find_split_unit mark as internal_function.
libdw: Search skeleton DIE for split compile unit DIE attributes.
libdw: Cache ELF directory early. Explicitly set it in dwfl.
libdw: Handle split dwarf debuglines.
libdw: Handle GNU DebugFission split ranges.
libdw: Initialize ranges_base, add invalid DWARF test and fix expected output.
libdw: Add new dwarf_cu_info function.
readelf: print split CUs when given --debug-dump=info+
libdw: Support DW_OP_addrx/constx and split DWARF addrx/constx support.
libdw: Handle all address FORMs for dwarf_highpc, handle errors better.
__libdw_cu_addr_base: Cast offset to uintptr_t before returning as pointer.
readelf: Add .debug_rnglists support.
libdw: Handle .debug_rnglists in dwarf_ranges.
readelf: Find skeleton units when inspecting split .dwo (--dwarf-skeleton).
libdwfl: Allow partial relocations also for debug files.
readelf: Handle .debug_loclists.
libdw: Handle .debug_loclists in dwarf_getlocation.
readelf handle .debug_addr section.
readelf: Handle .debug_str_offsets.
libdw: Fix memory corruption in libdw_find_split_unit.
readelf: Fix regression with multiple files and implicit debug_info reading.
readelf, libdw: Add GNU DebugFission .debug_loc support.
libdw: Handle split Dwarf Dies in dwarf_die_addr_die.
libdw: Don't crash on invalid die in dwarf_dieoffset.
readelf: Use correct listptr when looking up next loc for locview attr.
libdw: Fix overflow warning on 32bit systems with GCC8 in dwarf_getsrclines.
tests: Run run-low_high_pc.sh testcase on split dwarf files.
tests: Split self_test_files into an exe, lib and obj list.
readelf: Deal with combined normal and split dwarf DebugFission .debug_loc.
readelf: Fix .debug_types printing with implicit section_info.
libdw: Try both the relative and absolute paths when finding a .dwo file.
Prepare for 0.171.
Petr Machata (1):
libdw: dwarf_formsdata should return a signed value
Ulf Hermann (8):
Check for -z,defs, -z,relro, -fPIC, -fPIE before using them
Check if gcc complains about __attribute__ (visibility(..))
Drop -rdynamic from deleted-lib.so link step
Detect if symbol versioning is supported
On non-linux systems, don't use native signal numbers
Cast pid_t to long long when printing
Make sure packed structs follow the gcc memory layout
Don't overflow in __libdw_in_section and __libdw_offset_in_section.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/elfutils-devel/attachments/20180601/d669268c/attachment.sig>
More information about the Elfutils-devel
mailing list