diff options
author | Kim Kibum <kb0929.kim@samsung.com> | 2012-05-21 17:41:56 +0900 |
---|---|---|
committer | Kim Kibum <kb0929.kim@samsung.com> | 2012-05-21 17:41:56 +0900 |
commit | a976579f1c63224c75f12832f4466996b9b9f901 (patch) | |
tree | 301978d3724e6aa9c28e30739e60ac984055230d /NEWS | |
parent | 2924cc08916c97ace431cd8936a3525d42dbcaa8 (diff) | |
download | elfutils-a976579f1c63224c75f12832f4466996b9b9f901.tar.gz elfutils-a976579f1c63224c75f12832f4466996b9b9f901.tar.bz2 elfutils-a976579f1c63224c75f12832f4466996b9b9f901.zip |
Upload Tizen:Base source
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 1187 |
1 files changed, 1187 insertions, 0 deletions
@@ -0,0 +1,1187 @@ +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. |