libdwfl: Don't call realloc with zero in cu.c addraranges.
[platform/upstream/elfutils.git] / NEWS
diff --git a/NEWS b/NEWS
index 53fe364..5a06047 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,159 @@
+Version 0.176
+
+build: Add new --enable-install-elfh option.
+       Do NOT use this for system installs (it overrides glibc elf.h).
+
+backends: riscv improved core file and return value location support.
+
+Fixes CVE-2019-7146, CVE-2019-7148, CVE-2019-7149, CVE-2019-7150,
+      CVE-2019-7664, CVE-2019-7665
+
+Version 0.175
+
+readelf: Handle mutliple .debug_macro sections.
+         Recognize and parse GNU Property notes, NT_VERSION notes
+         and GNU Build Attribute ELF Notes.
+
+strip: Handle SHT_GROUP correctly.
+       Add strip --reloc-debug-sections-only option.
+       Handle relocations against GNU compressed sections.
+
+libdwelf: New function dwelf_elf_begin.
+
+libcpu: Recognize bpf jump variants BPF_JLT, BPF_JLE, BPF_JSLT and BPF_JSLE.
+
+backends: RISCV handles ADD/SUB relocations. Handle SHT_X86_64_UNWIND.
+
+Fixes CVE-2018-18310, CVE-2018-18520 and CVE-2018-18521.
+
+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.
+
+Version 0.169
+
+backends: Add support for EM_PPC64 GNU_ATTRIBUTES.
+          Frame pointer unwinding fallback support for i386, x86_64, aarch64.
+
+translations: Update Polish translation.
+
+Version 0.168
+
+http://elfutils.org/ is now hosted at http://sourceware.org/elfutils/
+
+libelf: gelf_newehdr and gelf_newehdr now return void *.
+
+libdw: dwarf.h corrected the DW_LANG_PLI constant name (was DW_LANG_PL1).
+
+readelf: Add optional --symbols[=SECTION] argument to select section name.
+
+Version 0.167
+
+libasm: Add eBPF disassembler for EM_BPF files.
+
+backends: Add m68k and BPF backends.
+
+ld: Removed.
+
+dwelf: Add ELF/DWARF string table creation functions. dwelf_strtab_init,
+       dwelf_strtab_add, dwelf_strtab_add_len, dwelf_strtab_finalize,
+       dwelf_strent_off, dwelf_strent_str and dwelf_strtab_free.
+
+Version 0.166
+
+config: The default program prefix for the installed tools is now eu-.
+        Use configure --program-prefix="" to not use a program prefix.
+
 Version 0.165
 
 elfcompress: New utility to compress or decompress ELF sections.