summaryrefslogtreecommitdiffstats
path: root/src/NEWS
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-02-17 20:56:04 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-02-17 20:56:04 +0000
commitb48bfdc826ebdd316d5d8a4ff8f213391f1c710b (patch)
tree961dfef28571e02a7d969fbba9bb51991086476b /src/NEWS
parent5cb12756f3876faa52b0d4491745fc4c7adbab00 (diff)
parent41f677100e15f315f638774fbd055e497fc90069 (diff)
downloadandroid_external_elfutils-b48bfdc826ebdd316d5d8a4ff8f213391f1c710b.tar.gz
android_external_elfutils-b48bfdc826ebdd316d5d8a4ff8f213391f1c710b.tar.bz2
android_external_elfutils-b48bfdc826ebdd316d5d8a4ff8f213391f1c710b.zip
Merge "Export elfutils headers and lose the version number from the path."
Diffstat (limited to 'src/NEWS')
-rw-r--r--src/NEWS1209
1 files changed, 1209 insertions, 0 deletions
diff --git a/src/NEWS b/src/NEWS
new file mode 100644
index 00000000..aa660a85
--- /dev/null
+++ b/src/NEWS
@@ -0,0 +1,1209 @@
+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 ist 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 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.