Home | History | Annotate | Download | only in elfutils
      1 Version 0.97:
      2 
      3 Fix compiling with gcc 4.0.
      4 Some tests called elflint without appropriate LD_LIBRARY_PATH.
      5 
      6 Version 0.96:
      7 
      8 Fix support for platforms with lib64.
      9 
     10 Version 0.95:
     11 
     12 libebl: add ppc and ppc64 support
     13 
     14 readelf: fix minimal memory leak.
     15 
     16 Add support to compile with mudflap.
     17 
     18 Modernize configure.ac.  Move scripts in config subdir.
     19 
     20 Modernize *-po directory infrastructure.
     21 
     22 libelf: Add gelf_getlib and gelf_update_lib
     23 
     24 readelf: print liblist sections
     25 
     26 Version 0.94:
     27 
     28 Fix some minimal build problems.
     29 
     30 Version 0.93:
     31 
     32 ibdw: tons of new functionality and bug fixes.  Several interface changes.
     33 
     34 readelf: use libdw now.
     35 
     36 libdwarf: removed completely.
     37 
     38 Version 0.92:
     39 
     40 configuration changes.
     41 
     42 Version 0.91:
     43 
     44 libdw: fix memory handling.  Implement source line handling.
     45 nm: use libdw instead of libdwarf.
     46 libelf: change to GPL from OSL1 for now.
     47 
     48 Version 0.90:
     49 
     50 libebl: Recognize a few more section types and dynamic tags and return
     51 approriate strings.
     52 
     53 Version 0.89:
     54 
     55 strip: fix overwriting of symbol table in input file.
     56 
     57 Version 0.88:
     58 
     59 libebl: Add some ia64 bits.
     60 
     61 Version 0.87:
     62 
     63 Bug fixes for big endian and some 64-bit machines.
     64 
     65 Version 0.86:
     66 
     67 strip: fix handling of Alpha and s390x which use incorrect hash bucket sizes.
     68 
     69 ld: tons of changes, moving towards usability.
     70 
     71 Version 0.85:
     72 
     73 strip: update section group symbol index if the associated symbol table changed
     74 
     75 libelf: fix two problems with generating output not via mmap
     76 
     77 elflint: add probably 10-15 more tests
     78 libebl: add support for some of the new tests
     79 
     80 ld: gazillion changes
     81 
     82 Version 0.84:
     83 
     84 elflint: deal with .rel.dyn section.  Fix a problem with rela platforms.
     85 Handle PT_GNU_STACK.  Change to write messages to stdout.
     86 
     87 readelf: fix a problem with version information in the symbol table output.
     88 
     89 strip: update all version symbol table entries
     90 
     91 Version 0.83:
     92 
     93 size: fix a warning
     94 
     95 strip: last changed caused problems when the symbol table is before the
     96 relocation section.  Fixed.  This fix also improved the asymptotic
     97 behavior if many symbol table sections are present.
     98 
     99 Version 0.82:
    100 
    101 Run strip tests with the correct libelf and libebl.
    102 
    103 libelf: fix bug in verneed byte order changing code.
    104 
    105 Version 0.81:
    106 
    107 strip: Remove unused symbol table entries.  This might require updating
    108 various other sections.
    109 
    110 Version 0.80:
    111 
    112 Fix some libelf problems with ET_REL files.
    113 
    114 Version 0.79:
    115 
    116 More warning changes, mainly by jbj.
    117 
    118 libdw: yet more new code.  dwarf_child and dwarf_sibling should now actually
    119 work.
    120 
    121 Version 0.78:
    122 
    123 libdw: 10+ new functions.  get-pubnames2 works now fully.  Almost all the
    124 code needed for nm is in place.
    125 
    126 Version 0.77:
    127 
    128 cleanups to compile cleanly with gcc 3.3 and -Werror.
    129 
    130 libdw: some new code.
    131 
    132 Version 0.76:
    133 
    134 libebl: Fix last patch to recognize relocation sections.   We must not
    135 use the name.
    136 
    137 Version 0.75:
    138 
    139 libebl: .debug_ranges is a DWARF 3 debug section
    140 libebl: recognize relocation sections for debug section
    141 Patches by Jakub Jelinek.
    142 
    143 Version 0.74:
    144 
    145 Cleanups and more SPARC support by Tom Callaway <tcallaway (a] redhat.com>.
    146 
    147 Version 0.73:
    148 
    149 64-bit cleanups for the programs.
    150 
    151 Version 0.72:
    152 
    153 libelf: and yet more fun with endian tranformation at output time.
    154 
    155 Version 0.71:
    156 
    157 libelf: more fun with endian tranformation at output time.  Add test for it.
    158 
    159 Version 0.70:
    160 
    161 libelf: Two little bugs left from previous patch to handle section output
    162 order.
    163 
    164 libelf: add unlikely in some more places.
    165 
    166 Version 0.69:
    167 
    168 libelf: fix output routines to handle case where section indeces and
    169 ordre in the output file don't match correctly.  Patch by Jakub.
    170 
    171 elflint: fix test of note section content for 64-bit platforms and files
    172 with different byte order.
    173 
    174 Version 0.68:
    175 
    176 libebl: Fix SH_ENTSIZE_HASH definition (patch by Jakub)
    177 
    178 Version 0.67:
    179 
    180 libelf: correct mistake in error string handling.
    181 
    182 libelf: Implement ELF_F_PERMISSIVE.
    183 strip: Implement --permissive option.
    184 
    185 Version 0.66:
    186 
    187 strip: Implement -g option.
    188 
    189 libelf: Handle broken hash table entry sizes.
    190 
    191 libebl: New function ebl_debugscn_p.  Use it where appropriate.
    192 
    193 Version 0.65:
    194 
    195 libelf: Use correct file size for NOBITS section with ELF_F_LAYOUT set
    196 
    197 Version 0.64:
    198 
    199 libelf: Make error handling more robust.
    200 libelf: Use TLS in error handler if configured with --enable-tls
    201 
    202 tests: input files are now distributed, not uuencoded in the shell scripts
    203 
    204 libdw: implement error handling, dwarf_get_pubnames
    205 
    206 Version 0.63:
    207 
    208 Build (incomplete) libdw.
    209 
    210 Version 0.62:
    211 
    212 Get rid of libtool.
    213 
    214 Version 0.61:
    215 
    216 Fix URL of OSL.
    217 
    218 Version 0.60:
    219 
    220 libebl: Handle .gnu.warning.* sections correctly.
    221 
    222 size: Implement -t option.
    223 
    224 libebl: Add IA-64 support.
    225 libebl: Update SH relocations.
    226 libebl: Add Alpha support.
    227 libebl: Add Arm support.
    228 libebl: Add support for all currently known architecture to the loader.
    229 
    230 Version 0.59:
    231 
    232 nm: Implement -S option.  Correct portable output format.  Implement -s option.
    233 
    234 libelf: Take offset of archive into account in elf_rand.
    235 
    236 Version 0.58:
    237 
    238 strip: fix handling of ET_REL files.
    239 Add tests for strip.
    240 
    241 Version 0.57:
    242 
    243 strip: respect layout of input file
    244 
    245 Version 0.56:
    246 
    247 strip: handle files with large number of sections.
    248 
    249 Version 0.55:
    250 
    251 libelf: quite a few bug fixes by Alex Larsson.
    252 
    253 strip: implement -f option to place stripped sections into a separate
    254 file.  By Alex Larsson.
    255 
    256 Version 0.54:
    257 
    258 strip: don't let STT_SECTION symbols keeps sections from being removed
    259 
    260 elflint: local symbols are allowed in .dynsym
    261 elflint: special case .rel.dyn a bit
    262 
    263 Version 0.53:
    264 
    265 elflint: check types and flags of special sections defined in gABI
    266 
    267 libebl: add x86-64 support
    268 
    269 Version 0.52:
    270 
    271 Start improvement of debug info handling in nm.
    272 
    273 libasm: implement asm_adduleb128 and asm_addsleb128 and a test for them
    274 
    275 Version 0.51:
    276 
    277 Fix build on 64-bit platforms.
    278 
    279 Version 0.50:
    280 
    281 nm: print file/line number also for local symbols
    282 
    283 use versions scripts not libtool's useless -export-symbols option
    284 
    285 Version 0.49:
    286 
    287 Update to autoconf 2.54 and automake 1.7.
    288 
    289 elflint: check note sections
    290 
    291 libdwarf: a number of bug fixes
    292 
    293 readelf: print .debug_info section content
    294 
    295 dwarf.h: Update from draft 7
    296 
    297 Version 0.48:
    298 
    299 libcpu: beginning
    300 
    301 libelf: new function to read parts of the ELF file
    302 
    303 libebl: support for note section handling
    304 
    305 readelf: dump note sections
    306 
    307 Version 0.47:
    308 
    309 libelf: fix little new section-handling related bugs in elf_getshstrndx
    310 and elf_nextscn
    311 
    312 elflint: tests for mandatory content of dynamic section
    313 
    314 libasm: better handling of absolute symbols
    315 
    316 Version 0.46:
    317 
    318 libasm: rewrite to store Elf_Scn* instead of indices
    319 
    320 nm: finish many-section support
    321 
    322 nm: use debug in to print file/line info in sysv format
    323 
    324 libdwarf: fix a few bugs in DIE handling
    325 
    326 Version 0.45:
    327 
    328 libelf: major rewrite to keep Elf_Scn references valid until elf_end
    329 
    330 Version 0.44:
    331 
    332 libasm: Add support for bss, ABS, and COM sections.
    333 
    334 libebl: ebl_section_name takes now two index arguments to distinguish
    335 between special sections and extended sections
    336 
    337 Version 0.43:
    338 
    339 General: fix a few problem gcc 3.1 had with the code.
    340 
    341 libelf: implement {gelf,elf32,elf64}_checksum
    342 
    343 libelf: optimze DSO: fewer relocations, fewer PLTs
    344 
    345 add msg_tst test
    346 
    347 ld: use correct section header string table index; write correct index
    348 
    349 add dependencies for *.sym files
    350 
    351 Version 0.42:
    352 
    353 libelf: add elf_getshnum and elf_getshstrndx
    354 
    355 libebl: update section type name function
    356 
    357 elflint: tons of fixes wrt large number of sections.  New tests in this area.
    358 Same amount of other bug fixes.
    359 
    360 size, strip, nm: better support for large number of sections.  Including
    361 using correct section header string table
    362 
    363 libasm: correctly create data structures for large number of sections
    364 
    365 new tests asm-tst4 and asm-tst5 to check large number of sections
    366 
    367 libasm: implement section group generation
    368 
    369 elflint: more tests on section groups.  Improve performance on existing
    370 section group tests
    371 
    372 Version 0.41:
    373 
    374 ld: add undefined symbols to dynamic symbol table if --export-dynamic is
    375 not given
    376 
    377 ld: fix value of e_entry
    378 
    379 Version 0.40:
    380 
    381 elflint: print section names in error messages
    382 
    383 elflint: mustn't warn about multiple DT_NULL
    384 
    385 ld: don't emit all symbols if --export-dynamic is not given
    386 
    387 ld: correct compute symbol address in output file (section index was off by 1)
    388 
    389 ld: generate correct version info in dynsym without --export-dynamic and
    390 in symtab
    391 
    392 Version 0.39:
    393 
    394 Fix check of various e_*size entries in elflint.
    395 
    396 Handle text output in asm_newsym.
    397 
    398 Finish checks in asm-tst3.
    399 
    400 Version 0.38:
    401 
    402 Update to autoconf 2.53, automake 1.6, gettext 0.11+.
    403 
    404 Introduce *.sym files to restrict export from DSOs.
    405 
    406 Use attribute_hidden and internal_function to optimize DSO code.
    407 
    408 Add TLS definitions in elf.h and handle them in readelf.
    409 
    410 Fix bug in verdef section generation in ld.
    411 
    412 Add initial libasm code.
    413 
    414 Version 0.37:
    415 
    416 Implement better hash size optimization heuristic in ld.  It uses a formula
    417 taking number of tests into account.
    418 
    419 Lots of small bug fixes.
    420 
    421 Improve readelf output format.  Respect various sh_link/sh_info values.
    422 Correctly print versioning information for symbol tables.
    423 
    424 Version 0.36:
    425 
    426 Implement preprocessing of linker script.  Recognize -z combreloc.
    427 
    428 Version 0.35:
    429 
    430 Implement -z ignore|record for ld.
    431 
    432 Implement creating of .gnu.version_r and .gnu.version sections.  The
    433 .gnu.version does not yet contain correct info for defined and versioned
    434 symbols (means .gnu.version_d is not yet implemented).
    435 
    436 Implement gelf_update_* functions to create versioning data.
    437 
    438 Version 0.34:
    439 
    440 Add DT_RUNPATH/DT_RPATH entries to dynamic section.  Create .plt and
    441 .rel.plt sections (completely).  Add support for all four PLT related
    442 dynamic section entries.  Add callback function for PLT creation.
    443 
    444 More tests in elflint.  Add support for very strict checking which for
    445 now flags level 2 (deprecated features) usage.
    446 
    447 Version 0.33:
    448 
    449 Create dynamic symbol table, dynamic string table, and hash table to ld.
    450 
    451 Add hash table histogram support to readelf.
    452 
    453 Version 0.32:
    454 
    455 more work on elflint
    456 
    457 ld now creates the dynamic section and references it.  Start adding entries
    458 to dynamic section.
    459 
    460 Version 0.31:
    461 
    462 Start implementing elflint.
    463 
    464 Version 0.30:
    465 
    466 Fix handling of NOBITS sections in elf_getdata.
    467 
    468 Start implementing generation of executables and DSOs in ld.
    469 Generation of program header mostly done.  Address computation done.
    470 Extension of linker script syntax.
    471 
    472 Various cleanups.
    473 
    474 Implement section group handling in readelf.
    475 
    476 Version 0.29:
    477 
    478 Implement section groups.  This involved a lot of code moving.  The
    479 new code is entirely untested since gas/gcc are currently not able to
    480 create section groups.  ld works fine on files without section groups.
    481 
    482 Version 0.28:
    483 
    484 Fix problem with adding more section in elf_newscn.  The section pointers
    485 for the data buffers wasn't adjusted.
    486 
    487 Fix elf_getdata with nonzero second parameter.  Correctly handle creation
    488 of internal data buffer for machines without unaligned access.
    489 
    490 Version 0.27:
    491 
    492 Start adding support to selectively add sections.  Includes support for
    493 section groups.
    494 Add --gc-sections/--no-gc-sections options.
    495 Add general section merging support.
    496 
    497 Fix a bug in section group support in strip.
    498 
    499 Fix some potential problems with hash value in dynamic hash implementation.
    500 
    501 Version 0.26:
    502 
    503 section merging works in ld.
    504 
    505 Version 0.25:
    506 
    507 Actually create data structures from version map file and use it to hide
    508 symbols in ld.
    509 
    510 Implement -s -s for ld.
    511 
    512 Version 0.24:
    513 
    514 Improve relocation table output in readelf.  Avoid some crashes.
    515 Finish many section handling in readelf.
    516 
    517 Finish: finish implementation of ld -r.  At least some simple tests pass.
    518 
    519 Version 0.23:
    520 
    521 Fix a number of errors in ELF_C_WRITE handling.
    522 
    523 Almost finished implementation of ld -r.  The data sections are all copied.
    524 Handling of symbol tables is missing.
    525 
    526 Version 0.22:
    527 
    528 Handle DSO and archive input files correctly if -r option is given.
    529 
    530 Gracefully deal with no phdr in new file in libelf.
    531 Fix various small error handling problems.
    532 Don't mmap file for output unless the command says so.
    533 
    534 Add code to create ELF section header table to ld finalize routines.
    535 
    536 Version 0.21:
    537 
    538 Fix some problems with recursive handling of archives in libelf.
    539 
    540 Improve messages printed by nm.
    541 
    542 Add symbol binding name handling to libebl.  Fix section name handling in
    543 libebl.
    544 
    545 readelf and nm use more libebl functions.
    546 
    547 Handle XINDEX correctly in nm and string.
    548 
    549 Add first machine ld backend library (i386).
    550 Use it.  Recognize -r and --shared.  Avoid using -lxxx parameters for -r.
    551 Create ELF header in output file.  Change mode of output file according to
    552 output file type.  Reorganize callback initialization in ld.
    553 
    554 Version 0.20:
    555 
    556 Fix some memory leaks in libelf.
    557 
    558 Version 0.19:
    559 
    560 Implement reading version script.  Both inside linker scripts and via the
    561 --version-script command line parameter.  Uses the same code.
    562 What remains to be done is to implement a data structure which allows
    563 efficient matching against the version names to decide which pattern
    564 matches.
    565 
    566 Beginning of output generation and output writing functions.
    567 
    568 Version 0.18:
    569 
    570 Finish implementation for DSO input file handling.  Implement rpath, runpath,
    571 and LD_LIBRARY_PATH handling.
    572 
    573 Version 0.17:
    574 
    575 make handling of e_shnum overflow in libelf standard conforming
    576 
    577 ld now actually can handle DSOs in linker scripts.  Handling of DT_RUNPATH,
    578 DT_RPATH, -rpath, -rpath-link still remains to be implemented.
    579 
    580 fix handling of -L parameters.  Make actual use of the default_paths element.
    581 
    582 make re-definition of symbols in and from DSO compatible with existing linker
    583 
    584 Version 0.16:
    585 
    586 more work on assigning input sections to output sections.
    587 
    588 Add gelf_xlatetof and gelf_xlatetom which were accidently left out.
    589 
    590 Fix memory handling of section headers.
    591 
    592 Version 0.15:
    593 
    594 Add many-section support to ld.  Add various new command line parameters.
    595 Allow pagesize to be specified in linker script or on the command line.
    596 Collect input sections in list for the output section according to the rules
    597 specified in the linker script.
    598 
    599 Version 0.14:
    600 
    601 Fix some problems in the internal list handling which had the result
    602 that we didn't look for some of the unresolved symbols.
    603 
    604 Free some memory if we know we don't need it anymore.
    605 
    606 Optimize the list of unresolved symbols.  Throw out symbols which are
    607 meanwhile resolved.
    608 
    609 Version 0.13:
    610 
    611 Got file reading correct now.  The files are all read while parsing
    612 the parameters.  No creating of data structures to describe the linker
    613 command line.  The symbol table is built up while reading the files.
    614 DSOs are handled now.  -( -) handling is optimized.
    615 
    616 Version 0.12:
    617 
    618 Linker read linker scripts everywhere.  Handles --whole-archive.  Recognizes
    619 --dynamic and --static.  Collects defined and undefined symbols.  Recognizes
    620 conflicts.
    621 
    622 libebl now defines functions to call the callbacks.  Add generic name handling
    623 in these new functions.  Remove the code from readelf and call the new
    624 functions.
    625 
    626 Version 0.11:
    627 
    628 Start of linker.  Basic argument parsing, finding of input files,
    629 linker script reading.
    630 
    631 Version 0.10:
    632 
    633 Implement dwarf_get_fde_n(), dwarf_get_abbrev(), dwarf_get_abbrev_tag(),
    634 dwarf_get_abbrev_code(), dwarf_get_abbrev_children_flag(),
    635 dwarf_get_abbrev_entry(), dwarf_get_fde_at_pc(), and tests for it.
    636 
    637 Version 0.9:
    638 
    639 Implement dwarf_get_fde_list_eh(), dwarf_get_cie_of_fde(),
    640 dwarf_get_fde_range(), dwarf_get_cie_info(), dwarf_get_fde_instr_bytes(),
    641 and tests for them.
    642 
    643 Version 0.8:
    644 
    645 Make handling of binaries in other byte order work and add tests for it.
    646 
    647 Version 0.7:
    648 
    649 Implement dwarf_get_aranges(), dwarf_get_arange(), dwarf_get_cu_die_offset(),
    650 dwarf_get_arange_info(), and tests for them.
    651 
    652 Version 0.6:
    653 
    654 Implement dwarf_get_global(), dwarf_globname(), dwarf_global_die_offset(),
    655 dwarf_global_cu_offset(), dwarf_global_name_offsets(), and tests for them
    656 
    657 Version 0.5:
    658 
    659 Implemented dwarf_srclines(), dwarf_srcfiles(), dwarf_linebeginstatement(),
    660 dwarf_lineendsequence(), dwarf_lineno(), dwarf_lineaddr(), dwarf_lineoff(),
    661 dwarf_linesrc(), dwarf_lineblock(), dwarf_lineprologueend(),
    662 dwarf_lineepiloguebegin(), and tests for them.
    663 
    664 Version 0.4:
    665 
    666 Implemented dwarf_loclist().
    667 
    668 Version 0.3:
    669 
    670 Implemented dwarf_dieoffset(), dwarf_die_CU_offset(), dwarf_diename() and
    671 tests.
    672 
    673 Implemented dwarf_attrlist(), dwarf_hasattr(), dwarf_attr(), dwarf_lowpc(),
    674 dwarf_highpc(), dwarf_bytesize(), dwarf_bitsize(), dwarf_bitoffset(),
    675 dwarf_srclang(), dwarf_arrayorder(), dwarf_hasform(), dwarf_whatform(),
    676 dwarf_whatattr(), dwarf_formref(), dwarf_global_formref(), dwarf_formaddr(),
    677 dwarf_formflag(), dwarf_formudata(), dwarf_formsdata(), dwarf_formblock,
    678 dwarf_formstring() and tests for them.
    679 
    680 Version 0.2:
    681 
    682 Implemented dwarf_offdie()), dwarf_tag(), dwarf_dieoffset(),
    683 dwarf_die_CU_offset(), dwarf_diename() and tests for them.
    684 
    685 Version 0.1:
    686 
    687 First libdwarf functions work.
    688 
    689 Version 0.0:
    690 
    691 libelf and parts of libebl are done.
    692