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 funtions 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
approriate 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 tranformation at output time.

Version 0.71:

libelf: more fun with endian tranformation 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 indeces 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: optimze 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 accidently 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.
