B.4. Changes in elfutils
Red Hat Developer Toolset 3.0 is distributed with elfutils 0.159, which provides a number of bug fixes and feature enhancements over the Red Hat Enterprise Linux system version and the version included in the previous release of Red Hat Developer Toolset. Below is a comprehensive list of new features in this release.
B.4.1. Changes Since Red Hat Developer Toolset 2.1
The following features have been added since the release of elfutils 0.157 in Red Hat Developer Toolset 2.1:
- The libdwfl library has been improved in a number of ways:
- The
dwfl_core_file_reporthas a new parameter,executable. - The following new functions have been added:
dwfl_module_getsymtab_first_global,dwfl_module_getsym_info, anddwfl_module_addrinfo. - An unwinder has been added with a
Dwfl_Thread_Callbackstype, two opaque types (Dwfl_ThreadandDwfl_Frame), and the following 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, anddwfl_frame_pc.
- The
eu-addr2lineutility has a new option,-xor--symbol-sections, to show the section in which an address was found. - A new utility,
eu-stack, has been added that uses the new unwinder for processes and cores. - A new backend has been added. The unwinder now supports the ARM 64-bit architecture, which allows for manipulation of ELF and DWARF files specific for ARM 64-bit.
- The CVE-2014-0172 has been fixed. The bug was caused by an integer overflow that led to a heap-based buffer overflow in the libdw library. To fix the problem, an overflow check has been added before calling
mallocto uncompress data.
B.4.2. Changes Since Red Hat Enterprise Linux 7.0
The following features have been added since the release of elfutils 0.158 in Red Hat Enterprise Linux 7.0:
- The
eu-stackutility has two new options:- A new option,
-dor--debugname, has been added for looking up DWARF debugging information names for frame addresses. - A new option,
-ior--inlines, has been added for showing inlined frames using DWARF debugging information.
- The libdwelf library has been improved in a number of ways:
- A new header file,
libdwelf.h, has been added forlibdw.solow-level DWARF or ELF helper functions. - New functions have been added:
dwelf_elf_gnu_debuglink,dwelf_dwarf_gnu_debugaltlink, anddwelf_elf_gnu_build_id.
- The libdw library has been improved in a number of ways:
- Support for DWZ multifile forms,
DW_FORM_GNU_ref_altandDW_FORM_GNU_strp_alt, is now enabled by default and is no longer experimental. - New functions,
dwarf_getaltanddwarf_setalt, have been added for getting or setting the alternative debugging file used for the alt FORMs. - The
dwfl_linux_proc_find_elfcallback now finds ELF from process memory for (deleted) files if theDwflhas a process state attached.
- In the libdwfl library, the
dwfl_build_id_find_debuginfoanddwfl_standard_find_debuginfofunctions now try to resolve and set an alternative debugging file. - The elfutils backends have been improved in a number of ways:
- Call Frame Information (CFI) unwinding has been added for the ARM architecture. It relies on the
.debug_framesection of ELF files. - A mode compatible with the ARM process initial register state has been added to the ARM 64-bit architecture.
- Native and core-unwinding support for the ARM 64-bit architecture has been added.
- All separate elfutils-robustify modifications have been included. The elfutils-robustify changes provide functional and stability fixes that are not a part of the official elfutils distribution.
- The CVE-2014-0172 has been fixed. The bug was caused by an integer overflow that led to a heap-based buffer overflow in the libdw library. To fix the problem, an overflow check has been added before calling
mallocto uncompress data.