Version 0.182

backends: Support for tilegx has been removed.

config: New /etc/profile.d files to provide default $DEBUGINFOD_URLS.

debuginfod: More efficient package traversal, tolerate various errors
            during scanning, grooming progress is more visible and
            interruptible, more prometheus metrics.

debuginfod-client: Now supports compressed (kernel) ELF images.

libdwfl: Add ZSTD compression support.

Version 0.181

libelf: elf_update now compensates (fixes up) a bad sh_addralign for
        SHF_COMPRESSED sections.

libdebuginfod: configure now takes --enable-libdebuginfod=dummy or
               --disable-libdebuginfod for bootstrapping.
               DEBUGINFOD_URLS now accepts "scheme-free" urls
               (guessing at what the user meant, either http:// or file://)

readelf, elflint: Handle aarch64 bti, pac bits in dynamic table and gnu
                  property notes.

libdw, readelf: Recognize DW_CFA_AARCH64_negate_ra_state. Allows unwinding
                on arm64 for code that is compiled for PAC (Pointer
                Authentication Code) as long as it isn't enabled.

Version 0.180

elflint: Allow SHF_EXCLUDE as generic section flag when --gnu is given.

libdw, readelf: Handle GCC LTO .gnu.debuglto_ prefix.

libdw: Use correct CU to resolve file names in dwarf_decl_file.

libdwfl: Handle debugaltlink in dwfl_standard_find_debuginfo.

size: Also obey radix printing for bsd format.

nm: Explicitly print weak 'V' or 'T' and common 'C' symbols.

Version 0.179

debuginfod-client: When DEBUGINFOD_PROGRESS is set and the program doesn't
                   install its own debuginfod_progressfn_t show download
                   progress on stderr.
                   DEBUGINFOD_TIMEOUT is now defined as seconds to get at
                   least 100K, defaults to 90 seconds.
                   Default to $XDG_CACHE_HOME/debuginfod_client.
                   New functions debuginfod_set_user_data,
                   debuginfod_get_user_data, debuginfod_get_url and
                   debuginfod_add_http_header.
                   Support for file:// URLs.

debuginfod: Uses libarchive directly for reading rpm archives.
            Support for indexing .deb/.ddeb archives through dpkg-deb
            or bsdtar.
            Generic archive support through -Z EXT[=CMD]. Which can be
            used for example for arch-linux pacman files by using
            -Z '.tar.zst=zstdcat'.
            Better logging using User-Agent and X-Forwarded-For headers.
            More prometheus metrics.
            Support for eliding dots or extraneous slashes in path names.

debuginfod-find: Accept /path/names in place of buildid hex.

libelf: Handle PN_XNUM in elf_getphdrnum before shdr 0 is cached
        Ensure zlib resource cleanup on failure.

libdwfl: dwfl_linux_kernel_find_elf and dwfl_linux_kernel_report_offline
         now find and handle a compressed vmlinuz image.

readelf, elflint: Handle PT_GNU_PROPERTY.

translations: Updated Ukrainian translation.

Version 0.178

debuginfod: New server, client tool and library to index and fetch
            ELF/DWARF files addressed by build-id through HTTP.

doc: There are now some manual pages for functions and tools.

backends: The libebl libraries are no longer dynamically loaded through
          dlopen, but are now compiled into libdw.so directly.

readelf: -n, --notes now takes an optional "SECTION" argument.
         -p and -x now also handle section numbers.
         New option --dyn-sym to show just the dynamic symbol table.

libcpu: Add RISC-V disassembler.

libdw: Abbrevs and DIEs can now be read concurrently by multiple
       threads through the same Dwarf handle.

libdwfl: Will try to use debuginfod when installed as fallback to
         retrieve ELF and DWARF debug data files by build-id.

Version 0.177

elfclassify: New tool to analyze ELF objects.

readelf: Print DW_AT_data_member_location as decimal offset.
         Decode DW_AT_discr_list block attributes.

libdw: Add DW_AT_GNU_numerator, DW_AT_GNU_denominator and DW_AT_GNU_bias.

libdwelf: Add dwelf_elf_e_machine_string.
          dwelf_elf_begin now only returns NULL when there is an error
          reading or decompressing a file. If the file is not an ELF file
          an ELF handle of type ELF_K_NONE is returned.

backends: Add support for C-SKY.

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 multiple .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.

Fix build with most recent glibc headers.

libelf: More robust to bogus section headers.

libdw: Fix CFI decoding.

libdwfl: Fix address bias returned by CFI accessors.
	 Fix core file module layout identification.

readelf: Fix CFI decoding.

Version 0.144:

libelf: New function elf_getphdrnum.
	Now support using more than 65536 program headers in a file.

libdw: New function dwarf_aggregate_size for computing (constant) type
       sizes, including array_type cases with nontrivial calculation.

readelf: Don't give errors for missing info under -a.
	 Handle Linux "VMCOREINFO" notes under -n.

Version 0.143:

libdw: Various convenience functions for individual attributes now use
       dwarf_attr_integrate to look up indirect inherited attributes.
       Location expression handling now supports DW_OP_implicit_value.

libdwfl: Support automatic decompression of files in XZ format,
	 and of Linux kernel images made with bzip2 or LZMA (as well as gzip).

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.

libebl: Add support for STB_GNU_UNIQUE.

elflint: Add support for STB_GNU_UNIQUE.

readelf: Add -N option, speeds up DWARF printing without address->name lookups.

libdw: Add support for decoding DWARF CFI into location description form.
       Handle some new DWARF 3 expression operations previously omitted.
       Basic handling of some new encodings slated for DWARF 4.

Version 0.141:

libebl: sparc backend fixes;
	some more arm backend support

libdwfl: fix dwfl_module_build_id for prelinked DSO case;
	 fixes in core file support;
	 dwfl_module_getsym interface improved for non-address symbols

strip: fix infinite loop on strange inputs with -f

addr2line: take -j/--section=NAME option for binutils compatibility
	   (same effect as '(NAME)0x123' syntax already supported)

Version 0.140:

libelf: Fix regression in creation of section header

libdwfl: Less strict behavior if DWARF reader is just used to display data

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.

elflint: Check PT_GNU_EH_FRAME program header entry.

libdwfl: Support automatic gzip/bzip2 decompression of ELF files.

Version 0.138:

Install <elfutils/version.h> header file for applications to use in source
version compatibility checks.

libebl: backend fixes for i386 TLS relocs; backend support for NT_386_IOPERM

libcpu: disassembler fixes

libdwfl: bug fixes

libelf: bug fixes

nm: bug fixes for handling corrupt input files

Version 0.137:

Minor fixes for unreleased 0.136 release.

Version 0.136:

libdwfl: bug fixes; new "segment" interfaces;
	 all the libdwfl-based tools now support --core=COREFILE option

Version 0.135:

libdwfl: bug fixes

strip: changed handling of ET_REL files wrt symbol tables and relocs

Version 0.134:

elflint: backend improvements for sparc, alpha

libdwfl, libelf: bug fixes

Version 0.133:

readelf, elflint, libebl: SHT_GNU_ATTRIBUTE section handling (readelf -A)

readelf: core note handling for NT_386_TLS, NT_PPC_SPE, Alpha NT_AUXV

libdwfl: bug fixes and optimization in relocation handling

elfcmp: bug fix for non-allocated section handling

ld: implement newer features of binutils linker.

Version 0.132:

libcpu: Implement x86 and x86-64 disassembler.
libasm: Add interface for disassembler.

all programs: add debugging of branch prediction.

libelf: new function elf_scnshndx.

Version 0.131:

libdw: DW_FORM_ref_addr support; dwarf_formref entry point now deprecated;
       bug fixes for oddly-formatted DWARF

libdwfl: bug fixes in offline archive support, symbol table handling;
	 apply partial relocations for dwfl_module_address_section on ET_REL

libebl: powerpc backend support for Altivec registers

Version 0.130:

readelf: -p option can take an argument like -x for one section,
	 or no argument (as before) for all SHF_STRINGS sections;
	 new option --archive-index (or -c);
	 improved -n output for core files, on many machines

libelf: new function elf_getdata_rawchunk, replaces gelf_rawchunk;
	new functions gelf_getnote, gelf_getauxv, gelf_update_auxv

readelf, elflint: handle SHT_NOTE sections without requiring phdrs

elflint: stricter checks on debug sections

libdwfl: new functions dwfl_build_id_find_elf, dwfl_build_id_find_debuginfo,
	 dwfl_module_build_id, dwfl_module_report_build_id;
	 support dynamic symbol tables found via phdrs;
	 dwfl_standard_find_debuginfo now uses build IDs when available

unstrip: new option --list (or -n)

libebl: backend improvements for sparc, alpha, powerpc

Version 0.129:

readelf: new options --hex-dump (or -x), --strings (or -p)

addr2line: new option --symbols (or -S)

Version 0.128:

new program: unstrip

elfcmp: new option --hash-inexact

Version 0.127:

libdw: new function dwarf_getsrcdirs

libdwfl: new functions dwfl_module_addrsym, dwfl_report_begin_add,
	 dwfl_module_address_section

Version 0.126:

new program: ar

Version 0.125:

elflint: Compare DT_GNU_HASH tests.

move archives into -static RPMs

libelf, elflint: better support for core file handling

Version 0.124:

libebl: sparc backend support for return value location

libebl, libdwfl: backend register name support extended with more info

libelf, libdw: bug fixes for unaligned accesses on machines that care

readelf, elflint: trivial bugs fixed

Version 0.123:

libebl: Backend build fixes, thanks to Stepan Kasal.

libebl: ia64 backend support for register names, return value location

libdwfl: Handle truncated linux kernel module section names.

libdwfl: Look for linux kernel "vmlinux" files with ".debug" suffix.

elflint: Fix checks to permit --hash-style=gnu format.

Version 0.122:

libebl: add function to test for relative relocation

elflint: fix and extend DT_RELCOUNT/DT_RELACOUNT checks

elflint, readelf: add support for DT_GNU_HASH
libelf: add elf_gnu_hash

elflint, readelf: add support for 64-bit SysV-style hash tables

libdwfl: new functions dwfl_module_getsymtab, dwfl_module_getsym.

Version 0.121:

libelf: bug fixes for rewriting existing files when using mmap.

make all installed headers usable in C++ code.

readelf: better output format.

elflint: fix tests of dynamic section content.

ld: Implement --as-needed, --execstack, PT_GNU_STACK.  Many small patches.

libdw, libdwfl: handle files without aranges info.

Version 0.120:

Bug fixes.

dwarf.h updated for DWARF 3.0 final specification.

libdwfl: New function dwfl_version.

The license is now GPL for most files.  The libelf, libebl, libdw,
and libdwfl libraries have additional exceptions.  Add reference to
OIN.

Version 0.119:

bug fixes

Version 0.118:

elflint: more tests.

libdwfl: New function dwfl_module_register_names.

libebl: New backend hook for register names.

Version 0.117:

libdwfl: New function dwfl_module_return_value_location.

libebl: Backend improvements for several CPUs.

Version 0.116:

libdw: New functions dwarf_ranges, dwarf_entrypc, dwarf_diecu,
       dwarf_entry_breakpoints.  Removed Dwarf_Func type and functions
       dwarf_func_name, dwarf_func_lowpc, dwarf_func_highpc,
       dwarf_func_entrypc, dwarf_func_die; dwarf_getfuncs callback now uses
       Dwarf_Die, and dwarf_func_file, dwarf_func_line, dwarf_func_col
       replaced by dwarf_decl_file, dwarf_decl_line, dwarf_decl_column;
       dwarf_func_inline, dwarf_func_inline_instances now take Dwarf_Die.
       Type Dwarf_Loc renamed to Dwarf_Op; dwarf_getloclist,
       dwarf_addrloclists renamed dwarf_getlocation, dwarf_getlocation_addr.

Version 0.115:

libelf: speed-ups of non-mmap reading.

strings: New program.

Implement --enable-gcov option for configure.

libdw: New function dwarf_getscopes_die.

Version 0.114:

libelf: new function elf_getaroff

libdw: Added dwarf_func_die, dwarf_func_inline, dwarf_func_inline_instances.

libdwfl: New functions dwfl_report_offline, dwfl_offline_section_address,
	 dwfl_linux_kernel_report_offline.

ranlib: new program

Version 0.113:

elflint: relax a bit. Allow version definitions for defined symbols against
DSO versions also for symbols in nobits sections.  Allow .rodata section
to have STRINGS and MERGE flag set.

strip: add some more compatibility with binutils.

Version 0.112:

elfcmp: some more relaxation.

elflint: many more tests, especially regarding to symbol versioning.

libelf: Add elfXX_offscn and gelf_offscn.

libasm: asm_begin interface changes.

libebl: Add three new interfaces to directly access machine, class, and
data encoding information.

objdump: New program.  Just the beginning.

Version 0.111:

libdw: now contains all of libdwfl.  The latter is not installed anymore.

elfcmp: little usability tweak, name and index of differing section is printed.

Version 0.110:

libelf: fix a number of problems with elf_update

elfcmp: fix a few bugs.  Compare gaps.

Fix a few PLT problems and mudflap build issues.

libebl: Don't expose Ebl structure definition in libebl.h.  It's now private.

Version 0.109:

libebl: Check for matching modules.

elflint: Check that copy relocations only happen for OBJECT or NOTYPE symbols.

elfcmp: New program.

libdwfl: New library.

Version 0.108:

strip: fix bug introduced in last change

libdw: records returned by dwarf_getsrclines are now sorted by address

Version 0.107:

readelf: improve DWARF output format

strip: support Linux kernel modules

Version 0.106:

libdw: Updated dwarf.h from DWARF3 spec
libdw: add new functions dwarf_func_entrypc, dwarf_func_file, dwarf_func_line,
dwarf_func_col, dwarf_getsrc_file

Version 0.105:

addr2line: New program

libdw: add new functions: dwarf_addrdie, dwarf_macro_*, dwarf_getfuncs,
dwarf_func_*.

findtextrel: use dwarf_addrdie

Version 0.104:

findtextrel: New program.

Version 0.103:

libdw: Fix using libdw.h with gcc < 4 and C++ code.  Compiler bug.

Version 0.102:

More Makefile and spec file cleanups.

Version 0.101:

Remove most gettext autoconf handling.

Add more warnings

Fix resulting problems.  One actual bug found and fixed this way

Version 0.100:

libebl: Fix x86-64 relocations.

Add -Wunused -Wextra warnings.

Some cleanups resulting from those additional warnings.

Lots of Makefile cleanup.

Version 0.99:

libelf: add gelf_checksum prototype to <libelf.h>

libelf: fix elf*_checksum handling of NOBITS sections

Finish mudflap support.

Fix three bugs found by mudflap.

ld: add as_needed support

Version 0.98:

readelf: in section to segment mapping, indicate read-only sections.

elflint: more relaxation for GNU ld

Version 0.97:

Fix compiling with gcc 4.0.
Some tests called elflint without appropriate LD_LIBRARY_PATH.

Version 0.96:

Fix support for platforms with lib64.

Version 0.95:

libebl: add ppc and ppc64 support

readelf: fix minimal memory leak.

Add support to compile with mudflap.

Modernize configure.ac.  Move scripts in config subdir.

Modernize *-po directory infrastructure.

libelf: Add gelf_getlib and gelf_update_lib

readelf: print liblist sections

Version 0.94:

Fix some minimal build problems.

Version 0.93:

ibdw: tons of new functionality and bug fixes.  Several interface changes.

readelf: use libdw now.

libdwarf: removed completely.

Version 0.92:

configuration changes.

Version 0.91:

libdw: fix memory handling.  Implement source line handling.
nm: use libdw instead of libdwarf.
libelf: change to GPL from OSL1 for now.

Version 0.90:

libebl: Recognize a few more section types and dynamic tags and return
appropriate strings.

Version 0.89:

strip: fix overwriting of symbol table in input file.

Version 0.88:

libebl: Add some ia64 bits.

Version 0.87:

Bug fixes for big endian and some 64-bit machines.

Version 0.86:

strip: fix handling of Alpha and s390x which use incorrect hash bucket sizes.

ld: tons of changes, moving towards usability.

Version 0.85:

strip: update section group symbol index if the associated symbol table changed

libelf: fix two problems with generating output not via mmap

elflint: add probably 10-15 more tests
libebl: add support for some of the new tests

ld: gazillion changes

Version 0.84:

elflint: deal with .rel.dyn section.  Fix a problem with rela platforms.
Handle PT_GNU_STACK.  Change to write messages to stdout.

readelf: fix a problem with version information in the symbol table output.

strip: update all version symbol table entries

Version 0.83:

size: fix a warning

strip: last changed caused problems when the symbol table is before the
relocation section.  Fixed.  This fix also improved the asymptotic
behavior if many symbol table sections are present.

Version 0.82:

Run strip tests with the correct libelf and libebl.

libelf: fix bug in verneed byte order changing code.

Version 0.81:

strip: Remove unused symbol table entries.  This might require updating
various other sections.

Version 0.80:

Fix some libelf problems with ET_REL files.

Version 0.79:

More warning changes, mainly by jbj.

libdw: yet more new code.  dwarf_child and dwarf_sibling should now actually
work.

Version 0.78:

libdw: 10+ new functions.  get-pubnames2 works now fully.  Almost all the
code needed for nm is in place.

Version 0.77:

cleanups to compile cleanly with gcc 3.3 and -Werror.

libdw: some new code.

Version 0.76:

libebl: Fix last patch to recognize relocation sections.   We must not
use the name.

Version 0.75:

libebl: .debug_ranges is a DWARF 3 debug section
libebl: recognize relocation sections for debug section
Patches by Jakub Jelinek.

Version 0.74:

Cleanups and more SPARC support by Tom Callaway <tcallaway@redhat.com>.

Version 0.73:

64-bit cleanups for the programs.

Version 0.72:

libelf: and yet more fun with endian transformation at output time.

Version 0.71:

libelf: more fun with endian transformation at output time.  Add test for it.

Version 0.70:

libelf: Two little bugs left from previous patch to handle section output
order.

libelf: add unlikely in some more places.

Version 0.69:

libelf: fix output routines to handle case where section indices and
ordre in the output file don't match correctly.  Patch by Jakub.

elflint: fix test of note section content for 64-bit platforms and files
with different byte order.

Version 0.68:

libebl: Fix SH_ENTSIZE_HASH definition (patch by Jakub)

Version 0.67:

libelf: correct mistake in error string handling.

libelf: Implement ELF_F_PERMISSIVE.
strip: Implement --permissive option.

Version 0.66:

strip: Implement -g option.

libelf: Handle broken hash table entry sizes.

libebl: New function ebl_debugscn_p.  Use it where appropriate.

Version 0.65:

libelf: Use correct file size for NOBITS section with ELF_F_LAYOUT set

Version 0.64:

libelf: Make error handling more robust.
libelf: Use TLS in error handler if configured with --enable-tls

tests: input files are now distributed, not uuencoded in the shell scripts

libdw: implement error handling, dwarf_get_pubnames

Version 0.63:

Build (incomplete) libdw.

Version 0.62:

Get rid of libtool.

Version 0.61:

Fix URL of OSL.

Version 0.60:

libebl: Handle .gnu.warning.* sections correctly.

size: Implement -t option.

libebl: Add IA-64 support.
libebl: Update SH relocations.
libebl: Add Alpha support.
libebl: Add Arm support.
libebl: Add support for all currently known architecture to the loader.

Version 0.59:

nm: Implement -S option.  Correct portable output format.  Implement -s option.

libelf: Take offset of archive into account in elf_rand.

Version 0.58:

strip: fix handling of ET_REL files.
Add tests for strip.

Version 0.57:

strip: respect layout of input file

Version 0.56:

strip: handle files with large number of sections.

Version 0.55:

libelf: quite a few bug fixes by Alex Larsson.

strip: implement -f option to place stripped sections into a separate
file.  By Alex Larsson.

Version 0.54:

strip: don't let STT_SECTION symbols keeps sections from being removed

elflint: local symbols are allowed in .dynsym
elflint: special case .rel.dyn a bit

Version 0.53:

elflint: check types and flags of special sections defined in gABI

libebl: add x86-64 support

Version 0.52:

Start improvement of debug info handling in nm.

libasm: implement asm_adduleb128 and asm_addsleb128 and a test for them

Version 0.51:

Fix build on 64-bit platforms.

Version 0.50:

nm: print file/line number also for local symbols

use versions scripts not libtool's useless -export-symbols option

Version 0.49:

Update to autoconf 2.54 and automake 1.7.

elflint: check note sections

libdwarf: a number of bug fixes

readelf: print .debug_info section content

dwarf.h: Update from draft 7

Version 0.48:

libcpu: beginning

libelf: new function to read parts of the ELF file

libebl: support for note section handling

readelf: dump note sections

Version 0.47:

libelf: fix little new section-handling related bugs in elf_getshstrndx
and elf_nextscn

elflint: tests for mandatory content of dynamic section

libasm: better handling of absolute symbols

Version 0.46:

libasm: rewrite to store Elf_Scn* instead of indices

nm: finish many-section support

nm: use debug in to print file/line info in sysv format

libdwarf: fix a few bugs in DIE handling

Version 0.45:

libelf: major rewrite to keep Elf_Scn references valid until elf_end

Version 0.44:

libasm: Add support for bss, ABS, and COM sections.

libebl: ebl_section_name takes now two index arguments to distinguish
between special sections and extended sections

Version 0.43:

General: fix a few problem gcc 3.1 had with the code.

libelf: implement {gelf,elf32,elf64}_checksum

libelf: optimize DSO: fewer relocations, fewer PLTs

add msg_tst test

ld: use correct section header string table index; write correct index

add dependencies for *.sym files

Version 0.42:

libelf: add elf_getshnum and elf_getshstrndx

libebl: update section type name function

elflint: tons of fixes wrt large number of sections.  New tests in this area.
Same amount of other bug fixes.

size, strip, nm: better support for large number of sections.  Including
using correct section header string table

libasm: correctly create data structures for large number of sections

new tests asm-tst4 and asm-tst5 to check large number of sections

libasm: implement section group generation

elflint: more tests on section groups.  Improve performance on existing
section group tests

Version 0.41:

ld: add undefined symbols to dynamic symbol table if --export-dynamic is
not given

ld: fix value of e_entry

Version 0.40:

elflint: print section names in error messages

elflint: mustn't warn about multiple DT_NULL

ld: don't emit all symbols if --export-dynamic is not given

ld: correct compute symbol address in output file (section index was off by 1)

ld: generate correct version info in dynsym without --export-dynamic and
in symtab

Version 0.39:

Fix check of various e_*size entries in elflint.

Handle text output in asm_newsym.

Finish checks in asm-tst3.

Version 0.38:

Update to autoconf 2.53, automake 1.6, gettext 0.11+.

Introduce *.sym files to restrict export from DSOs.

Use attribute_hidden and internal_function to optimize DSO code.

Add TLS definitions in elf.h and handle them in readelf.

Fix bug in verdef section generation in ld.

Add initial libasm code.

Version 0.37:

Implement better hash size optimization heuristic in ld.  It uses a formula
taking number of tests into account.

Lots of small bug fixes.

Improve readelf output format.  Respect various sh_link/sh_info values.
Correctly print versioning information for symbol tables.

Version 0.36:

Implement preprocessing of linker script.  Recognize -z combreloc.

Version 0.35:

Implement -z ignore|record for ld.

Implement creating of .gnu.version_r and .gnu.version sections.  The
.gnu.version does not yet contain correct info for defined and versioned
symbols (means .gnu.version_d is not yet implemented).

Implement gelf_update_* functions to create versioning data.

Version 0.34:

Add DT_RUNPATH/DT_RPATH entries to dynamic section.  Create .plt and
.rel.plt sections (completely).  Add support for all four PLT related
dynamic section entries.  Add callback function for PLT creation.

More tests in elflint.  Add support for very strict checking which for
now flags level 2 (deprecated features) usage.

Version 0.33:

Create dynamic symbol table, dynamic string table, and hash table to ld.

Add hash table histogram support to readelf.

Version 0.32:

more work on elflint

ld now creates the dynamic section and references it.  Start adding entries
to dynamic section.

Version 0.31:

Start implementing elflint.

Version 0.30:

Fix handling of NOBITS sections in elf_getdata.

Start implementing generation of executables and DSOs in ld.
Generation of program header mostly done.  Address computation done.
Extension of linker script syntax.

Various cleanups.

Implement section group handling in readelf.

Version 0.29:

Implement section groups.  This involved a lot of code moving.  The
new code is entirely untested since gas/gcc are currently not able to
create section groups.  ld works fine on files without section groups.

Version 0.28:

Fix problem with adding more section in elf_newscn.  The section pointers
for the data buffers wasn't adjusted.

Fix elf_getdata with nonzero second parameter.  Correctly handle creation
of internal data buffer for machines without unaligned access.

Version 0.27:

Start adding support to selectively add sections.  Includes support for
section groups.
Add --gc-sections/--no-gc-sections options.
Add general section merging support.

Fix a bug in section group support in strip.

Fix some potential problems with hash value in dynamic hash implementation.

Version 0.26:

section merging works in ld.

Version 0.25:

Actually create data structures from version map file and use it to hide
symbols in ld.

Implement -s -s for ld.

Version 0.24:

Improve relocation table output in readelf.  Avoid some crashes.
Finish many section handling in readelf.

Finish: finish implementation of ld -r.  At least some simple tests pass.

Version 0.23:

Fix a number of errors in ELF_C_WRITE handling.

Almost finished implementation of ld -r.  The data sections are all copied.
Handling of symbol tables is missing.

Version 0.22:

Handle DSO and archive input files correctly if -r option is given.

Gracefully deal with no phdr in new file in libelf.
Fix various small error handling problems.
Don't mmap file for output unless the command says so.

Add code to create ELF section header table to ld finalize routines.

Version 0.21:

Fix some problems with recursive handling of archives in libelf.

Improve messages printed by nm.

Add symbol binding name handling to libebl.  Fix section name handling in
libebl.

readelf and nm use more libebl functions.

Handle XINDEX correctly in nm and string.

Add first machine ld backend library (i386).
Use it.  Recognize -r and --shared.  Avoid using -lxxx parameters for -r.
Create ELF header in output file.  Change mode of output file according to
output file type.  Reorganize callback initialization in ld.

Version 0.20:

Fix some memory leaks in libelf.

Version 0.19:

Implement reading version script.  Both inside linker scripts and via the
--version-script command line parameter.  Uses the same code.
What remains to be done is to implement a data structure which allows
efficient matching against the version names to decide which pattern
matches.

Beginning of output generation and output writing functions.

Version 0.18:

Finish implementation for DSO input file handling.  Implement rpath, runpath,
and LD_LIBRARY_PATH handling.

Version 0.17:

make handling of e_shnum overflow in libelf standard conforming

ld now actually can handle DSOs in linker scripts.  Handling of DT_RUNPATH,
DT_RPATH, -rpath, -rpath-link still remains to be implemented.

fix handling of -L parameters.  Make actual use of the default_paths element.

make re-definition of symbols in and from DSO compatible with existing linker

Version 0.16:

more work on assigning input sections to output sections.

Add gelf_xlatetof and gelf_xlatetom which were accidentally left out.

Fix memory handling of section headers.

Version 0.15:

Add many-section support to ld.  Add various new command line parameters.
Allow pagesize to be specified in linker script or on the command line.
Collect input sections in list for the output section according to the rules
specified in the linker script.

Version 0.14:

Fix some problems in the internal list handling which had the result
that we didn't look for some of the unresolved symbols.

Free some memory if we know we don't need it anymore.

Optimize the list of unresolved symbols.  Throw out symbols which are
meanwhile resolved.

Version 0.13:

Got file reading correct now.  The files are all read while parsing
the parameters.  No creating of data structures to describe the linker
command line.  The symbol table is built up while reading the files.
DSOs are handled now.  -( -) handling is optimized.

Version 0.12:

Linker read linker scripts everywhere.  Handles --whole-archive.  Recognizes
--dynamic and --static.  Collects defined and undefined symbols.  Recognizes
conflicts.

libebl now defines functions to call the callbacks.  Add generic name handling
in these new functions.  Remove the code from readelf and call the new
functions.

Version 0.11:

Start of linker.  Basic argument parsing, finding of input files,
linker script reading.

Version 0.10:

Implement dwarf_get_fde_n(), dwarf_get_abbrev(), dwarf_get_abbrev_tag(),
dwarf_get_abbrev_code(), dwarf_get_abbrev_children_flag(),
dwarf_get_abbrev_entry(), dwarf_get_fde_at_pc(), and tests for it.

Version 0.9:

Implement dwarf_get_fde_list_eh(), dwarf_get_cie_of_fde(),
dwarf_get_fde_range(), dwarf_get_cie_info(), dwarf_get_fde_instr_bytes(),
and tests for them.

Version 0.8:

Make handling of binaries in other byte order work and add tests for it.

Version 0.7:

Implement dwarf_get_aranges(), dwarf_get_arange(), dwarf_get_cu_die_offset(),
dwarf_get_arange_info(), and tests for them.

Version 0.6:

Implement dwarf_get_global(), dwarf_globname(), dwarf_global_die_offset(),
dwarf_global_cu_offset(), dwarf_global_name_offsets(), and tests for them

Version 0.5:

Implemented dwarf_srclines(), dwarf_srcfiles(), dwarf_linebeginstatement(),
dwarf_lineendsequence(), dwarf_lineno(), dwarf_lineaddr(), dwarf_lineoff(),
dwarf_linesrc(), dwarf_lineblock(), dwarf_lineprologueend(),
dwarf_lineepiloguebegin(), and tests for them.

Version 0.4:

Implemented dwarf_loclist().

Version 0.3:

Implemented dwarf_dieoffset(), dwarf_die_CU_offset(), dwarf_diename() and
tests.

Implemented dwarf_attrlist(), dwarf_hasattr(), dwarf_attr(), dwarf_lowpc(),
dwarf_highpc(), dwarf_bytesize(), dwarf_bitsize(), dwarf_bitoffset(),
dwarf_srclang(), dwarf_arrayorder(), dwarf_hasform(), dwarf_whatform(),
dwarf_whatattr(), dwarf_formref(), dwarf_global_formref(), dwarf_formaddr(),
dwarf_formflag(), dwarf_formudata(), dwarf_formsdata(), dwarf_formblock,
dwarf_formstring() and tests for them.

Version 0.2:

Implemented dwarf_offdie()), dwarf_tag(), dwarf_dieoffset(),
dwarf_die_CU_offset(), dwarf_diename() and tests for them.

Version 0.1:

First libdwarf functions work.

Version 0.0:

libelf and parts of libebl are done.
