X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=NEWS;h=5a06047f255e3c9a63828953759fd18a4ba9a3f3;hb=6d055c058dc6880f75a1936efa5bea3c49216119;hp=77ea4cb3d4b405bd90eaa6f59cf14ff87f89aabb;hpb=4b0ee3b4fc78f1caa6088de92744b8fa3ad31bcd;p=platform%2Fupstream%2Felfutils.git diff --git a/NEWS b/NEWS index 77ea4cb..5a06047 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,447 @@ +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. + +readelf: Add -z,--decompress option. + +libelf: Add elf_compress, elf_compress_gnu, elf32_getchdr, elf64_getchdr + and gelf_getchdr. + +libdwelf: New function dwelf_scn_gnu_compressed_size. + +config: Add libelf and libdw pkg-config files. + +backends: sparc support for core and live backtraces. + +translations: Updated Polish translation. + +Version 0.164 + +strip, unstrip: Handle ELF files with merged strtab/shstrtab tables. + Handle missing SHF_INFO_LINK section flags. + +libelf: Use int64_t for offsets in libelf.h instead of loff_t. + +libdw: dwarf.h Add preliminary DWARF5 DW_LANG_Haskell. + +libdwfl: dwfl_standard_find_debuginfo now searches any subdir of the binary + path under the debuginfo root when the separate debug file couldn't + be found by build-id. + dwfl_linux_proc_attach can now be called before any Dwfl_Modules + have been reported. + +backends: Better sparc and sparc64 support. + +translations: Updated Ukrainian translation. + +Provide default-yama-scope subpackage. + +Version 0.163 + +Bug fixes only, no new features. + +Version 0.162 + +libdw: Install new header elfutils/known-dwarf.h. + dwarf.h Add preliminary DWARF5 constants DW_TAG_atomic_type, + DW_LANG_Fortran03, DW_LANG_Fortran08. dwarf_peel_type now also + handles DW_TAG_atomic_type. + +addr2line: Input addresses are now always interpreted as hexadecimal + numbers, never as octal or decimal numbers. + New option -a, --addresses to print address before each entry. + New option -C, --demangle to show demangled symbols. + New option --pretty-print to print all information on one line. + +ar: CVE-2014-9447 Directory traversal vulnerability in ar extraction. + +backends: x32 support. + +Version 0.161 + +libdw: New function dwarf_peel_type. dwarf_aggregate_size now uses + dwarf_peel_type to also provide the sizes of qualified types. + dwarf_getmacros will now serve either of .debug_macro and + .debug_macinfo transparently. New interfaces + dwarf_getmacros_off, dwarf_macro_getsrcfiles, + dwarf_macro_getparamcnt, and dwarf_macro_param are available + for more generalized inspection of macros and their parameters. + dwarf.h: Add DW_AT_GNU_deleted, DW_AT_noreturn, DW_LANG_C11, + DW_LANG_C_plus_plus_11 and DW_LANG_C_plus_plus_14. + +Version 0.160 + +libdw: New functions dwarf_cu_getdwarf, dwarf_cu_die. + dwarf.h remove non-existing DW_TAG_mutable_type. + +libdwfl: Handle LZMA .ko.xz compressed kernel modules. + +unstrip: New option -F, --force to combining files even if some ELF headers + don't seem to match. + +backends: Handle ARM THUMB functions. Add support for ppc64le ELFv2 abi. + +Version 0.159 + +stack: New option -d, --debugname to lookup DWARF debuginfo name for frame. + New option -i, --inlines to show inlined frames using DWARF debuginfo. + +libdwelf: New libdwelf.h header for libdw.so DWARF ELF Low-level Functions. + New function dwelf_elf_gnu_debuglink, dwelf_dwarf_gnu_debugaltlink, + and dwelf_elf_gnu_build_id. + +libdw: Support for DWZ multifile forms DW_FORM_GNU_ref_alt and + DW_FORM_GNU_strp_alt is now enabled by default and no longer + experimental. Added new functions dwarf_getalt and dwarf_setalt + to get or set the alternative debug file used for the alt FORMs. + The dwfl_linux_proc_find_elf callback will now find ELF from + process memory for (deleted) files if the Dwfl has process state + attached. + +libdwfl: The dwfl_build_id_find_debuginfo and dwfl_standard_find_debuginfo + functions will now try to resolve and set the alternative debug file. + +backends: Add CFI unwinding for arm. Relies on .debug_frame. + Add arm process initial register state compatible mode to AARCH64. + Add aarch64 native and core unwind support. + +other: All separate elfutils-robustify patches have been merged. + CVE-2014-0172 Check overflow before calling malloc to uncompress data. + +Version 0.158 + +libdwfl: dwfl_core_file_report has new parameter executable. + New functions dwfl_module_getsymtab_first_global, + dwfl_module_getsym_info and dwfl_module_addrinfo. + Added unwinder with type Dwfl_Thread_Callbacks, opaque types + Dwfl_Thread and Dwfl_Frame and functions dwfl_attach_state, + dwfl_pid, dwfl_thread_dwfl, dwfl_thread_tid, dwfl_frame_thread, + dwfl_thread_state_registers, dwfl_thread_state_register_pc, + dwfl_getthread_frames, dwfl_getthreads, dwfl_thread_getframes + and dwfl_frame_pc. + +addr2line: New option -x to show the section an address was found in. + +stack: New utility that uses the new unwinder for processes and cores. + +backends: Unwinder support for i386, x86_64, s390, s390x, ppc and ppc64. + aarch64 support. + +Version 0.157 + +libdw: Add new functions dwarf_getlocations, dwarf_getlocation_attr + and dwarf_getlocation_die. + +readelf: Show contents of NT_SIGINFO and NT_FILE core notes. + +addr2line: Support -i, --inlines output option. + +backends: abi_cfi hook for arm, ppc and s390. + +Version 0.156 + +lib: New macro COMPAT_VERSION_NEWPROTO. + +libdw: Handle GNU extension opcodes in dwarf_getlocation. + +libdwfl: Fix STB_GLOBAL over STB_WEAK preference in dwfl_module_addrsym. + Add minisymtab support. + Add parameter add_p_vaddr to dwfl_report_elf. + Use DT_DEBUG library search first. + +libebl: Handle new core note types in EBL. + +backends: Interpret NT_ARM_VFP. + Implement core file registers parsing for s390/s390x. + +readelf: Add --elf-section input option to inspect an embedded ELF file. + Add -U, --unresolved-address-offsets output control. + Add --debug-dump=decodedline support. + Accept version 8 .gdb_index section format. + Adjust output formatting width. + When highpc is in constant form print it also as address. + Display raw .debug_aranges. Use libdw only for decodedaranges. + +elflint: Add __bss_start__ to the list of allowed symbols. + +tests: Add configure --enable-valgrind option to run all tests under valgrind. + Enable automake parallel-tests for make check. + +translations: Updated Polish translation. + +Updates for Automake 1.13. + +Version 0.155 + +libelf: elf*_xlatetomd now works for cross-endian ELF note data. + elf_getshdr now works consistently on non-mmaped ELF files after + calling elf_cntl(ELF_C_FDREAD). + Implement support for ar archives with 64-bit symbol table. + +libdw: dwarf.h corrected the DW_LANG_ObjC constant name (was DW_LANG_Objc). + Any existing sources using the old name will have to be updated. + Add DW_MACRO_GNU .debug_macro type encodings constants, DW_ATE_UTF + and DW_OP_GNU_parameter_ref to dwarf.h. + Experimental support for DWZ multifile forms DW_FORM_GNU_ref_alt + and DW_FORM_GNU_strp_alt. Disabled by default. Use configure + --enable-dwz to test it. + +readelf: Add .debug_macro parsing support. + Add .gdb_index version 7 parsing support. + Recognize DW_OP_GNU_parameter_ref. + +backends: Add support for Tilera TILE-Gx processor. + +translations: Updated Ukrainian translation. + +Version 0.154 + +libelf: [g]elf[32|64]_offscn() do not match SHT_NOBITS sections at OFFSET. + +libdw: dwarf_highpc function now handles DWARF 4 DW_AT_high_pc constant form. + Fix bug using dwarf_next_unit to iterate over .debug_types. + +elflint: Now accepts gold linker produced executables. + +The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone +programs. There is now also a formal CONTRIBUTING document describing how to +submit patches. + +Version 0.153 + +libdw: Support reading .zdebug_* DWARF sections compressed via zlib. + +libdwfl: Speed up dwfl_module_addrsym. + +nm: Support C++ demangling. + +ar: Support D modifier for "deterministic output" with no uid/gid/mtime info. + The U modifier is the inverse. + elfutils can be configured with the --enable-deterministic-archives + option to make the D behavior the default when U is not specified. + +ranlib: Support -D and -U flags with same meaning. + +readelf: Improve output of -wline. Add support for printing SDT elf notes. + Add printing of .gdb_index section. + Support for typed DWARF stack, call_site and entry_value. + +strip: Add --reloc-debug-sections option. + Improved SHT_GROUP sections handling. + +Version 0.152 + +Various build and warning nits fixed for newest GCC and Autoconf. + +libdwfl: Yet another prelink-related fix for another regression. + Look for Linux kernel images in files named with compression suffixes. + +elfcmp: New flag --ignore-build-id to ignore differing build ID bits. + New flag -l/--verbose to print all differences. + +Version 0.151 + +libdwfl: Fix for more prelink cases with separate debug file. + +strip: New flag --strip-sections to remove section headers entirely. + +Version 0.150 + +libdw: Fix for handling huge .debug_aranges section. + +libdwfl: Fix for handling prelinked DSO with separate debug file. + +findtextrel: Fix diagnostics to work with usual section ordering. + +libebl: i386 backend fix for multi-register integer return value location. + +Version 0.149: + +libdw: Decode new DW_OP_GNU_implicit_pointer operation; + new function dwarf_getlocation_implicit_pointer. + +libdwfl: New function dwfl_dwarf_line. + +addr2line: New flag -F/--flags to print more DWARF line information details. + +strip: -g recognizes .gdb_index as a debugging section. + +Version 0.148: + +libdw: Accept DWARF 4 format: new functions dwarf_next_unit, dwarf_offdie_types. + New functions dwarf_lineisa, dwarf_linediscriminator, dwarf_lineop_index. + +libdwfl: Fixes in core-file handling, support cores from PIEs. + When working from build IDs, don't open a named file that mismatches. + +readelf: Handle DWARF 4 formats. + +Version 0.147: + +libdw: Fixes in CFI handling, best possible handling of bogus CFA ops. + +libdwfl: Ignore R_*_NONE relocs, works around old (binutils) ld -r bugs. + +Version 0.146: + +libdwfl: New function dwfl_core_file_report. + Version 0.145: Fix build with --disable-dependency-tracking. @@ -36,8 +480,8 @@ libdwfl: Support automatic decompression of files in XZ format, Version 0.142: libelf: Add elf_getshdrnum alias for elf_getshnum and elf_getshdrstrndx alias - for elf_getshstrndx and deprecate original names. Sun screwed up - their implementation and asked for a solution. + for elf_getshstrndx and deprecate original names. Sun screwed up + their implementation and asked for a solution. libebl: Add support for STB_GNU_UNIQUE. @@ -74,7 +518,7 @@ Version 0.139: libcpu: Add Intel SSE4 disassembler support readelf: Implement call frame information and exception handling dumping. - Add -e option. Enable it implicitly for -a. + Add -e option. Enable it implicitly for -a. elflint: Check PT_GNU_EH_FRAME program header entry.