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.
