readelf: Use shstrndx to lookup section names.
[platform/upstream/elfutils.git] / NEWS
diff --git a/NEWS b/NEWS
index 045d579..0b7994e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,93 @@
+Version 0.174
+
+libelf, libdw and all tools now handle extended shnum and shstrndx correctly.
+
+elfcompress: Don't rewrite input file if no section data needs updating.
+             Try harder to keep same file mode bits (suid) on rewrite.
+
+strip: Handle mixed (out of order) allocated/non-allocated sections.
+
+unstrip: Handle SHT_GROUP sections.
+
+backends: RISCV and M68K now have backend implementations to generate CFI based
+          backtraces.
+
+Fixes CVE-2018-16062, CVE-2018-16402 and CVE-2018-16403.
+
+Version 0.173
+
+More fixes for crashes and hangs found by afl-fuzz. In particular various
+functions now detect and break infinite loops caused by bad DIE tree cycles.
+
+readelf: Will now lookup the size and signedness of constant value types
+         to display them correctly (and not just how they were encoded).
+
+libdw: New function dwarf_next_lines to read CU-less .debug_line data.
+       dwarf_begin_elf now accepts ELF files containing just .debug_line
+       or .debug_frame sections (which can be read without needing a DIE
+       tree from the .debug_info section).
+       Removed dwarf_getscn_info, which was never implemented.
+
+backends: Handle BPF simple relocations.
+          The RISCV backends now handles ABI specific CFI and knows about
+          RISCV register types and names.
+
+Version 0.172
+
+No functional changes compared to 0.171.
+
+Various bug fixes in libdw and eu-readelf dealing with bad DWARF5 data.
+Thanks to running the afl fuzzer on eu-readelf and various testcases.
+
+eu-readelf -N is ~15% faster.
+
+Version 0.171
+
+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.
+
 Version 0.170
 
+libdw: Added new DWARF5 attribute, tag, character encoding, language code,
+       calling convention, defaulted member function and macro constants
+       to dwarf.h.
+       New functions dwarf_default_lower_bound and dwarf_line_file.
+       dwarf_peel_type now handles DWARF5 immutable, packed and shared tags.
+       dwarf_getmacros now handles DWARF5 .debug_macro sections.
+
 strip: Add -R, --remove-section=SECTION and --keep-section=SECTION.
 
 backends: The bpf disassembler is now always build on all platforms.