blob: c0f60bcafe96572a680c8661072969bac1bdfa1f [file] [log] [blame]
Roland McGrath54eb8902009-04-14 03:18:10 -07001Version 0.141:
2
Roland McGratheb9ba472009-04-14 18:44:45 -07003libebl: sparc backend fixes;
4 some more arm backend support
Roland McGrathd86e1832009-04-20 00:49:33 -07005
Roland McGrath54eb8902009-04-14 03:18:10 -07006libdwfl: fix dwfl_module_build_id for prelinked DSO case;
7 fixes in core file support;
8 dwfl_module_getsym interface improved for non-address symbols
Roland McGrathd86e1832009-04-20 00:49:33 -07009
Roland McGrath54eb8902009-04-14 03:18:10 -070010strip: fix infinite loop on strange inputs with -f
11
Roland McGrathd86e1832009-04-20 00:49:33 -070012addr2line: take -j/--section=NAME option for binutils compatibility
13 (same effect as '(NAME)0x123' syntax already supported)
14
Ulrich Drepper8a3b0fa2009-02-16 11:02:37 -080015Version 0.140:
16
17libelf: Fix regression in creation of section header
18
19libdwfl: Less strict behavior if DWARF reader ist just used to display data
20
Ulrich Drepper3bf57592009-01-01 18:52:05 -080021Version 0.139:
22
23libcpu: Add Intel SSE4 disassembler support
24
Ulrich Drepper05d2b202009-01-16 17:58:54 -080025readelf: Implement call frame information and exception handling dumping.
26 Add -e option. Enable it implicitly for -a.
Ulrich Drepperac194d02009-01-06 00:30:01 -080027
Ulrich Drepper3a52c7a2009-01-16 21:11:49 -080028elflint: Check PT_GNU_EH_FRAME program header entry.
29
Roland McGrathd666b002009-01-06 02:14:26 -080030libdwfl: Support automatic gzip/bzip2 decompression of ELF files.
31
Roland McGrathd8ca9bd2008-12-24 01:09:18 -080032Version 0.138:
33
34Install <elfutils/version.h> header file for applications to use in source
35version compatibility checks.
36
37libebl: backend fixes for i386 TLS relocs; backend support for NT_386_IOPERM
38
39libcpu: disassembler fixes
40
41libdwfl: bug fixes
42
43libelf: bug fixes
44
45nm: bug fixes for handling corrupt input files
46
Ulrich Drepperbb48a272008-08-27 03:01:47 +000047Version 0.137:
48
49Minor fixes for unreleased 0.136 release.
50
Roland McGrathb4d6f0f2008-08-25 22:55:17 +000051Version 0.136:
52
53libdwfl: bug fixes; new "segment" interfaces;
54 all the libdwfl-based tools now support --core=COREFILE option
55
Roland McGrathb37d2532008-05-07 18:38:35 +000056Version 0.135:
57
58libdwfl: bug fixes
59
60strip: changed handling of ET_REL files wrt symbol tables and relocs
61
Roland McGrath60982e62008-04-05 00:40:51 +000062Version 0.134:
63
64elflint: backend improvements for sparc, alpha
65
66libdwfl, libelf: bug fixes
67
Roland McGrath47c5c352008-02-29 10:17:16 +000068Version 0.133:
69
70readelf, elflint, libebl: SHT_GNU_ATTRIBUTE section handling (readelf -A)
71
72readelf: core note handling for NT_386_TLS, NT_PPC_SPE, Alpha NT_AUXV
73
74libdwfl: bug fixes and optimization in relocation handling
75
76elfcmp: bug fix for non-allocated section handling
77
Ulrich Drepper1c5928d2008-03-01 18:34:56 +000078ld: implement newer features of binutils linker.
79
Ulrich Drepper28a0c612008-01-21 18:57:48 +000080Version 0.132:
81
82libcpu: Implement x86 and x86-64 disassembler.
83libasm: Add interface for disassembler.
84
85all programs: add debugging of branch prediction.
86
87libelf: new function elf_scnshndx.
88
Roland McGrath478a9602007-11-08 00:59:30 +000089Version 0.131:
90
91libdw: DW_FORM_ref_addr support; dwarf_formref entry point now deprecated;
92 bug fixes for oddly-formatted DWARF
93
94libdwfl: bug fixes in offline archive support, symbol table handling;
95 apply partial relocations for dwfl_module_address_section on ET_REL
96
97libebl: powerpc backend support for Altivec registers
98
Roland McGrathc76f0b02007-09-27 07:31:33 +000099Version 0.130:
100
101readelf: -p option can take an argument like -x for one section,
Roland McGrath59ea7f32007-10-04 08:50:09 +0000102 or no argument (as before) for all SHF_STRINGS sections;
Ulrich Drepperb597dfa2007-10-16 05:21:27 +0000103 new option --archive-index (or -c);
104 improved -n output for core files, on many machines
Roland McGrath59ea7f32007-10-04 08:50:09 +0000105
106libelf: new function elf_getdata_rawchunk, replaces gelf_rawchunk;
107 new functions gelf_getnote, gelf_getauxv, gelf_update_auxv
108
109readelf, elflint: handle SHT_NOTE sections without requiring phdrs
110
Ulrich Drepperb597dfa2007-10-16 05:21:27 +0000111elflint: stricter checks on debug sections
112
Roland McGrath59ea7f32007-10-04 08:50:09 +0000113libdwfl: new functions dwfl_build_id_find_elf, dwfl_build_id_find_debuginfo,
114 dwfl_module_build_id, dwfl_module_report_build_id;
115 support dynamic symbol tables found via phdrs;
116 dwfl_standard_find_debuginfo now uses build IDs when available
117
118unstrip: new option --list (or -n)
Roland McGrathc76f0b02007-09-27 07:31:33 +0000119
Ulrich Drepperb597dfa2007-10-16 05:21:27 +0000120libebl: backend improvements for sparc, alpha, powerpc
121
Roland McGrath60fc84c2007-08-03 21:59:15 +0000122Version 0.129:
123
124readelf: new options --hex-dump (or -x), --strings (or -p)
125
126addr2line: new option --symbols (or -S)
127
Roland McGrath4be15242007-04-25 03:09:33 +0000128Version 0.128:
129
130new program: unstrip
131
132elfcmp: new option --hash-inexact
133
Ulrich Dreppera1090f82007-03-30 19:16:14 +0000134Version 0.127:
Ulrich Drepper6258e742007-03-13 06:22:40 +0000135
Roland McGrath43da9892007-04-16 23:13:37 +0000136libdw: new function dwarf_getsrcdirs
137
Ulrich Drepperf527aa82007-04-19 04:15:00 +0000138libdwfl: new functions dwfl_module_addrsym, dwfl_report_begin_add,
139 dwfl_module_address_section
Ulrich Drepper6258e742007-03-13 06:22:40 +0000140
Ulrich Drepperce0bdb62007-02-05 07:13:52 +0000141Version 0.126:
142
143new program: ar
144
Ulrich Drepper56bc0b82006-12-18 22:38:08 +0000145Version 0.125:
146
147elflint: Compare DT_GNU_HASH tests.
148
149move archives into -static RPMs
150
151libelf, elflint: better support for core file handling
152
Roland McGrathc373d852006-10-10 00:25:21 +0000153Version 0.124:
154
155libebl: sparc backend support for return value location
156
157libebl, libdwfl: backend register name support extended with more info
158
159libelf, libdw: bug fixes for unaligned accesses on machines that care
160
161readelf, elflint: trivial bugs fixed
162
Roland McGrath1dee3602006-08-15 01:57:03 +0000163Version 0.123:
164
165libebl: Backend build fixes, thanks to Stepan Kasal.
166
167libebl: ia64 backend support for register names, return value location
168
169libdwfl: Handle truncated linux kernel module section names.
170
171libdwfl: Look for linux kernel "vmlinux" files with ".debug" suffix.
172
173elflint: Fix checks to permit --hash-style=gnu format.
174
Ulrich Drepper28ed8952006-07-07 03:43:47 +0000175Version 0.122:
176
Ulrich Dreppercc415622006-07-12 19:42:23 +0000177libebl: add function to test for relative relocation
Ulrich Drepper28ed8952006-07-07 03:43:47 +0000178
179elflint: fix and extend DT_RELCOUNT/DT_RELACOUNT checks
180
181elflint, readelf: add support for DT_GNU_HASH
182libelf: add elf_gnu_hash
183
184elflint, readelf: add support for 64-bit SysV-style hash tables
185
Ulrich Dreppercc415622006-07-12 19:42:23 +0000186libdwfl: new functions dwfl_module_getsymtab, dwfl_module_getsym.
187
Ulrich Drepperd9a87122006-05-28 08:00:33 +0000188Version 0.121:
189
190libelf: bug fixes for rewriting existing files when using mmap.
191
192make all installed headers usable in C++ code.
193
194readelf: better output format.
195
Ulrich Drepper6ca46002006-06-12 22:40:23 +0000196elflint: fix tests of dynamic section content.
197
198ld: Implement --as-needed, --execstack, PT_GNU_STACK. Many small patches.
199
Ulrich Drepperd9a87122006-05-28 08:00:33 +0000200libdw, libdwfl: handle files without aranges info.
201
Ulrich Drepper361df7d2006-04-04 21:38:57 +0000202Version 0.120:
203
204Bug fixes.
205
206dwarf.h updated for DWARF 3.0 final specification.
207
208libdwfl: New function dwfl_version.
209
Ulrich Drepper82c345d2006-04-04 22:07:54 +0000210The license is now GPL for most files. The libelf, libebl, libdw,
211and libdwfl libraries have additional exceptions. Add reference to
212OIN.
213
tailor808b4122006-01-13 18:50:48 +0000214Version 0.119:
215
216bug fixes
217
Ulrich Drepper607e0542005-12-04 15:51:06 +0000218Version 0.118:
219
220elflint: more tests.
221
Roland McGrath994b4892005-12-05 22:46:21 +0000222libdwfl: New function dwfl_module_register_names.
223
224libebl: New backend hook for register names.
225
Roland McGrath37ecca72005-11-18 01:42:03 +0000226Version 0.117:
227
228libdwfl: New function dwfl_module_return_value_location.
229
230libebl: Backend improvements for several CPUs.
231
Roland McGrath07d4f2f2005-10-28 06:56:24 +0000232Version 0.116:
233
234libdw: New functions dwarf_ranges, dwarf_entrypc, dwarf_diecu,
Roland McGrath6724c902005-10-28 07:07:19 +0000235 dwarf_entry_breakpoints. Removed Dwarf_Func type and functions
236 dwarf_func_name, dwarf_func_lowpc, dwarf_func_highpc,
237 dwarf_func_entrypc, dwarf_func_die; dwarf_getfuncs callback now uses
238 Dwarf_Die, and dwarf_func_file, dwarf_func_line, dwarf_func_col
239 replaced by dwarf_decl_file, dwarf_decl_line, dwarf_decl_column;
240 dwarf_func_inline, dwarf_func_inline_instances now take Dwarf_Die.
241 Type Dwarf_Loc renamed to Dwarf_Op; dwarf_getloclist,
242 dwarf_addrloclists renamed dwarf_getlocation, dwarf_getlocation_addr.
Roland McGrath07d4f2f2005-10-28 06:56:24 +0000243
Roland McGrathc94e47d2005-08-27 10:37:20 +0000244Version 0.115:
245
Ulrich Drepperfbe998a2005-08-29 16:27:10 +0000246libelf: speed-ups of non-mmap reading.
247
248strings: New program.
249
250Implement --enable-gcov option for configure.
251
Roland McGrathc94e47d2005-08-27 10:37:20 +0000252libdw: New function dwarf_getscopes_die.
253
Ulrich Drepper5d832292005-08-15 21:36:27 +0000254Version 0.114:
255
256libelf: new function elf_getaroff
257
Roland McGratha5c26432005-08-18 23:41:56 +0000258libdw: Added dwarf_func_die, dwarf_func_inline, dwarf_func_inline_instances.
259
Roland McGrath7c777292005-08-24 18:53:53 +0000260libdwfl: New functions dwfl_report_offline, dwfl_offline_section_address,
261 dwfl_linux_kernel_report_offline.
262
Ulrich Drepper5d832292005-08-15 21:36:27 +0000263ranlib: new program
264
Ulrich Drepper637963b2005-08-07 05:33:07 +0000265Version 0.113:
266
267elflint: relax a bit. Allow version definitions for defined symbols against
268DSO versions also for symbols in nobits sections. Allow .rodata section
269to have STRINGS and MERGE flag set.
270
Roland McGrath1c83bf12005-08-11 07:03:55 +0000271strip: add some more compatibility with binutils.
272
Ulrich Drepperc911c9e2005-08-02 16:07:42 +0000273Version 0.112:
274
275elfcmp: some more relaxation.
276
Ulrich Drepperdbace232005-08-06 01:37:23 +0000277elflint: many more tests, especially regarding to symbol versioning.
Ulrich Drepper41de4882005-08-03 00:02:56 +0000278
279libelf: Add elfXX_offscn and gelf_offscn.
280
Ulrich Dreppera38998e2005-08-03 02:05:39 +0000281libasm: asm_begin interface changes.
282
283libebl: Add three new interfaces to directly access machine, class, and
284data encoding information.
285
Ulrich Drepper8a687742005-08-03 02:24:12 +0000286objdump: New program. Just the beginning.
287
Ulrich Drepper70189152005-07-28 21:31:36 +0000288Version 0.111:
289
290libdw: now contains all of libdwfl. The latter is not installed anymore.
291
292elfcmp: little usability tweak, name and index of differing section is printed.
293
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000294Version 0.110:
295
Roland McGrath1c83bf12005-08-11 07:03:55 +0000296libelf: fix a number of problems with elf_update
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000297
298elfcmp: fix a few bugs. Compare gaps.
299
300Fix a few PLT problems and mudflap build issues.
301
302libebl: Don't expose Ebl structure definition in libebl.h. It's now private.
303
304Version 0.109:
305
306libebl: Check for matching modules.
307
308elflint: Check that copy relocations only happen for OBJECT or NOTYPE symbols.
309
310elfcmp: New program.
311
312libdwfl: New library.
313
314Version 0.108:
315
316strip: fix bug introduced in last change
317
318libdw: records returned by dwarf_getsrclines are now sorted by address
319
320Version 0.107:
321
322readelf: improve DWARF output format
323
324strip: support Linux kernel modules
325
326Version 0.106:
327
328libdw: Updated dwarf.h from DWARF3 spec
329libdw: add new funtions dwarf_func_entrypc, dwarf_func_file, dwarf_func_line,
330dwarf_func_col, dwarf_getsrc_file
331
332Version 0.105:
333
334addr2line: New program
335
336libdw: add new functions: dwarf_addrdie, dwarf_macro_*, dwarf_getfuncs,
337dwarf_func_*.
338
339findtextrel: use dwarf_addrdie
340
341Version 0.104:
342
343findtextrel: New program.
344
345Version 0.103:
346
347libdw: Fix using libdw.h with gcc < 4 and C++ code. Compiler bug.
348
349Version 0.102:
350
351More Makefile and spec file cleanups.
352
353Version 0.101:
354
355Remove most gettext autoconf handling.
356
357Add more warnings
358
359Fix resulting problems. One actual bug found and fixed this way
360
361Version 0.100:
362
363libebl: Fix x86-64 relocations.
364
365Add -Wunused -Wextra warnings.
366
367Some cleanups resulting from those additional warnings.
368
369Lots of Makefile cleanup.
370
371Version 0.99:
372
373libelf: add gelf_checksum prototype to <libelf.h>
374
375libelf: fix elf*_checksum handling of NOBITS sections
376
377Finish mudflap support.
378
379Fix three bugs found by mudflap.
380
381ld: add as_needed support
382
383Version 0.98:
384
385readelf: in section to segment mapping, indicate read-only sections.
386
387elflint: more relaxation for GNU ld
388
389Version 0.97:
390
391Fix compiling with gcc 4.0.
392Some tests called elflint without appropriate LD_LIBRARY_PATH.
393
394Version 0.96:
395
396Fix support for platforms with lib64.
397
398Version 0.95:
399
400libebl: add ppc and ppc64 support
401
402readelf: fix minimal memory leak.
403
404Add support to compile with mudflap.
405
406Modernize configure.ac. Move scripts in config subdir.
407
408Modernize *-po directory infrastructure.
409
410libelf: Add gelf_getlib and gelf_update_lib
411
412readelf: print liblist sections
413
414Version 0.94:
415
416Fix some minimal build problems.
417
418Version 0.93:
419
420ibdw: tons of new functionality and bug fixes. Several interface changes.
421
422readelf: use libdw now.
423
424libdwarf: removed completely.
425
426Version 0.92:
427
428configuration changes.
429
430Version 0.91:
431
432libdw: fix memory handling. Implement source line handling.
433nm: use libdw instead of libdwarf.
434libelf: change to GPL from OSL1 for now.
435
436Version 0.90:
437
438libebl: Recognize a few more section types and dynamic tags and return
439approriate strings.
440
441Version 0.89:
442
443strip: fix overwriting of symbol table in input file.
444
445Version 0.88:
446
447libebl: Add some ia64 bits.
448
449Version 0.87:
450
451Bug fixes for big endian and some 64-bit machines.
452
453Version 0.86:
454
455strip: fix handling of Alpha and s390x which use incorrect hash bucket sizes.
456
457ld: tons of changes, moving towards usability.
458
459Version 0.85:
460
461strip: update section group symbol index if the associated symbol table changed
462
463libelf: fix two problems with generating output not via mmap
464
465elflint: add probably 10-15 more tests
466libebl: add support for some of the new tests
467
468ld: gazillion changes
469
470Version 0.84:
471
472elflint: deal with .rel.dyn section. Fix a problem with rela platforms.
473Handle PT_GNU_STACK. Change to write messages to stdout.
474
475readelf: fix a problem with version information in the symbol table output.
476
477strip: update all version symbol table entries
478
479Version 0.83:
480
481size: fix a warning
482
483strip: last changed caused problems when the symbol table is before the
484relocation section. Fixed. This fix also improved the asymptotic
485behavior if many symbol table sections are present.
486
487Version 0.82:
488
489Run strip tests with the correct libelf and libebl.
490
491libelf: fix bug in verneed byte order changing code.
492
493Version 0.81:
494
495strip: Remove unused symbol table entries. This might require updating
496various other sections.
497
498Version 0.80:
499
500Fix some libelf problems with ET_REL files.
501
502Version 0.79:
503
504More warning changes, mainly by jbj.
505
506libdw: yet more new code. dwarf_child and dwarf_sibling should now actually
507work.
508
509Version 0.78:
510
511libdw: 10+ new functions. get-pubnames2 works now fully. Almost all the
512code needed for nm is in place.
513
514Version 0.77:
515
516cleanups to compile cleanly with gcc 3.3 and -Werror.
517
518libdw: some new code.
519
520Version 0.76:
521
522libebl: Fix last patch to recognize relocation sections. We must not
523use the name.
524
525Version 0.75:
526
527libebl: .debug_ranges is a DWARF 3 debug section
528libebl: recognize relocation sections for debug section
529Patches by Jakub Jelinek.
530
531Version 0.74:
532
533Cleanups and more SPARC support by Tom Callaway <tcallaway@redhat.com>.
534
535Version 0.73:
536
53764-bit cleanups for the programs.
538
539Version 0.72:
540
541libelf: and yet more fun with endian tranformation at output time.
542
543Version 0.71:
544
545libelf: more fun with endian tranformation at output time. Add test for it.
546
547Version 0.70:
548
549libelf: Two little bugs left from previous patch to handle section output
550order.
551
552libelf: add unlikely in some more places.
553
554Version 0.69:
555
556libelf: fix output routines to handle case where section indeces and
557ordre in the output file don't match correctly. Patch by Jakub.
558
559elflint: fix test of note section content for 64-bit platforms and files
560with different byte order.
561
562Version 0.68:
563
564libebl: Fix SH_ENTSIZE_HASH definition (patch by Jakub)
565
566Version 0.67:
567
568libelf: correct mistake in error string handling.
569
570libelf: Implement ELF_F_PERMISSIVE.
571strip: Implement --permissive option.
572
573Version 0.66:
574
575strip: Implement -g option.
576
577libelf: Handle broken hash table entry sizes.
578
579libebl: New function ebl_debugscn_p. Use it where appropriate.
580
581Version 0.65:
582
583libelf: Use correct file size for NOBITS section with ELF_F_LAYOUT set
584
585Version 0.64:
586
587libelf: Make error handling more robust.
588libelf: Use TLS in error handler if configured with --enable-tls
589
590tests: input files are now distributed, not uuencoded in the shell scripts
591
592libdw: implement error handling, dwarf_get_pubnames
593
594Version 0.63:
595
596Build (incomplete) libdw.
597
598Version 0.62:
599
600Get rid of libtool.
601
602Version 0.61:
603
604Fix URL of OSL.
605
606Version 0.60:
607
608libebl: Handle .gnu.warning.* sections correctly.
609
610size: Implement -t option.
611
612libebl: Add IA-64 support.
613libebl: Update SH relocations.
614libebl: Add Alpha support.
615libebl: Add Arm support.
616libebl: Add support for all currently known architecture to the loader.
617
618Version 0.59:
619
620nm: Implement -S option. Correct portable output format. Implement -s option.
621
622libelf: Take offset of archive into account in elf_rand.
623
624Version 0.58:
625
626strip: fix handling of ET_REL files.
627Add tests for strip.
628
629Version 0.57:
630
631strip: respect layout of input file
632
633Version 0.56:
634
635strip: handle files with large number of sections.
636
637Version 0.55:
638
639libelf: quite a few bug fixes by Alex Larsson.
640
641strip: implement -f option to place stripped sections into a separate
642file. By Alex Larsson.
643
644Version 0.54:
645
646strip: don't let STT_SECTION symbols keeps sections from being removed
647
648elflint: local symbols are allowed in .dynsym
649elflint: special case .rel.dyn a bit
650
651Version 0.53:
652
653elflint: check types and flags of special sections defined in gABI
654
655libebl: add x86-64 support
656
657Version 0.52:
658
659Start improvement of debug info handling in nm.
660
661libasm: implement asm_adduleb128 and asm_addsleb128 and a test for them
662
663Version 0.51:
664
665Fix build on 64-bit platforms.
666
667Version 0.50:
668
669nm: print file/line number also for local symbols
670
671use versions scripts not libtool's useless -export-symbols option
672
673Version 0.49:
674
675Update to autoconf 2.54 and automake 1.7.
676
677elflint: check note sections
678
679libdwarf: a number of bug fixes
680
681readelf: print .debug_info section content
682
683dwarf.h: Update from draft 7
684
685Version 0.48:
686
687libcpu: beginning
688
689libelf: new function to read parts of the ELF file
690
691libebl: support for note section handling
692
693readelf: dump note sections
694
695Version 0.47:
696
697libelf: fix little new section-handling related bugs in elf_getshstrndx
698and elf_nextscn
699
700elflint: tests for mandatory content of dynamic section
701
702libasm: better handling of absolute symbols
703
704Version 0.46:
705
706libasm: rewrite to store Elf_Scn* instead of indices
707
708nm: finish many-section support
709
710nm: use debug in to print file/line info in sysv format
711
712libdwarf: fix a few bugs in DIE handling
713
714Version 0.45:
715
716libelf: major rewrite to keep Elf_Scn references valid until elf_end
717
718Version 0.44:
719
720libasm: Add support for bss, ABS, and COM sections.
721
722libebl: ebl_section_name takes now two index arguments to distinguish
723between special sections and extended sections
724
725Version 0.43:
726
727General: fix a few problem gcc 3.1 had with the code.
728
729libelf: implement {gelf,elf32,elf64}_checksum
730
731libelf: optimze DSO: fewer relocations, fewer PLTs
732
733add msg_tst test
734
735ld: use correct section header string table index; write correct index
736
737add dependencies for *.sym files
738
739Version 0.42:
740
741libelf: add elf_getshnum and elf_getshstrndx
742
743libebl: update section type name function
744
745elflint: tons of fixes wrt large number of sections. New tests in this area.
746Same amount of other bug fixes.
747
748size, strip, nm: better support for large number of sections. Including
749using correct section header string table
750
751libasm: correctly create data structures for large number of sections
752
753new tests asm-tst4 and asm-tst5 to check large number of sections
754
755libasm: implement section group generation
756
757elflint: more tests on section groups. Improve performance on existing
758section group tests
759
760Version 0.41:
761
762ld: add undefined symbols to dynamic symbol table if --export-dynamic is
763not given
764
765ld: fix value of e_entry
766
767Version 0.40:
768
769elflint: print section names in error messages
770
771elflint: mustn't warn about multiple DT_NULL
772
773ld: don't emit all symbols if --export-dynamic is not given
774
775ld: correct compute symbol address in output file (section index was off by 1)
776
777ld: generate correct version info in dynsym without --export-dynamic and
778in symtab
779
780Version 0.39:
781
782Fix check of various e_*size entries in elflint.
783
784Handle text output in asm_newsym.
785
786Finish checks in asm-tst3.
787
788Version 0.38:
789
790Update to autoconf 2.53, automake 1.6, gettext 0.11+.
791
792Introduce *.sym files to restrict export from DSOs.
793
794Use attribute_hidden and internal_function to optimize DSO code.
795
796Add TLS definitions in elf.h and handle them in readelf.
797
798Fix bug in verdef section generation in ld.
799
800Add initial libasm code.
801
802Version 0.37:
803
804Implement better hash size optimization heuristic in ld. It uses a formula
805taking number of tests into account.
806
807Lots of small bug fixes.
808
809Improve readelf output format. Respect various sh_link/sh_info values.
810Correctly print versioning information for symbol tables.
811
812Version 0.36:
813
814Implement preprocessing of linker script. Recognize -z combreloc.
815
816Version 0.35:
817
818Implement -z ignore|record for ld.
819
820Implement creating of .gnu.version_r and .gnu.version sections. The
821.gnu.version does not yet contain correct info for defined and versioned
822symbols (means .gnu.version_d is not yet implemented).
823
824Implement gelf_update_* functions to create versioning data.
825
826Version 0.34:
827
828Add DT_RUNPATH/DT_RPATH entries to dynamic section. Create .plt and
829.rel.plt sections (completely). Add support for all four PLT related
830dynamic section entries. Add callback function for PLT creation.
831
832More tests in elflint. Add support for very strict checking which for
833now flags level 2 (deprecated features) usage.
834
835Version 0.33:
836
837Create dynamic symbol table, dynamic string table, and hash table to ld.
838
839Add hash table histogram support to readelf.
840
841Version 0.32:
842
843more work on elflint
844
845ld now creates the dynamic section and references it. Start adding entries
846to dynamic section.
847
848Version 0.31:
849
850Start implementing elflint.
851
852Version 0.30:
853
854Fix handling of NOBITS sections in elf_getdata.
855
856Start implementing generation of executables and DSOs in ld.
857Generation of program header mostly done. Address computation done.
858Extension of linker script syntax.
859
860Various cleanups.
861
862Implement section group handling in readelf.
863
864Version 0.29:
865
866Implement section groups. This involved a lot of code moving. The
867new code is entirely untested since gas/gcc are currently not able to
868create section groups. ld works fine on files without section groups.
869
870Version 0.28:
871
872Fix problem with adding more section in elf_newscn. The section pointers
873for the data buffers wasn't adjusted.
874
875Fix elf_getdata with nonzero second parameter. Correctly handle creation
876of internal data buffer for machines without unaligned access.
877
878Version 0.27:
879
880Start adding support to selectively add sections. Includes support for
881section groups.
882Add --gc-sections/--no-gc-sections options.
883Add general section merging support.
884
885Fix a bug in section group support in strip.
886
887Fix some potential problems with hash value in dynamic hash implementation.
888
889Version 0.26:
890
891section merging works in ld.
892
893Version 0.25:
894
895Actually create data structures from version map file and use it to hide
896symbols in ld.
897
898Implement -s -s for ld.
899
900Version 0.24:
901
902Improve relocation table output in readelf. Avoid some crashes.
903Finish many section handling in readelf.
904
905Finish: finish implementation of ld -r. At least some simple tests pass.
906
907Version 0.23:
908
909Fix a number of errors in ELF_C_WRITE handling.
910
911Almost finished implementation of ld -r. The data sections are all copied.
912Handling of symbol tables is missing.
913
914Version 0.22:
915
916Handle DSO and archive input files correctly if -r option is given.
917
918Gracefully deal with no phdr in new file in libelf.
919Fix various small error handling problems.
920Don't mmap file for output unless the command says so.
921
922Add code to create ELF section header table to ld finalize routines.
923
924Version 0.21:
925
926Fix some problems with recursive handling of archives in libelf.
927
928Improve messages printed by nm.
929
930Add symbol binding name handling to libebl. Fix section name handling in
931libebl.
932
933readelf and nm use more libebl functions.
934
935Handle XINDEX correctly in nm and string.
936
937Add first machine ld backend library (i386).
938Use it. Recognize -r and --shared. Avoid using -lxxx parameters for -r.
939Create ELF header in output file. Change mode of output file according to
940output file type. Reorganize callback initialization in ld.
941
942Version 0.20:
943
944Fix some memory leaks in libelf.
945
946Version 0.19:
947
948Implement reading version script. Both inside linker scripts and via the
949--version-script command line parameter. Uses the same code.
950What remains to be done is to implement a data structure which allows
951efficient matching against the version names to decide which pattern
952matches.
953
954Beginning of output generation and output writing functions.
955
956Version 0.18:
957
958Finish implementation for DSO input file handling. Implement rpath, runpath,
959and LD_LIBRARY_PATH handling.
960
961Version 0.17:
962
963make handling of e_shnum overflow in libelf standard conforming
964
965ld now actually can handle DSOs in linker scripts. Handling of DT_RUNPATH,
966DT_RPATH, -rpath, -rpath-link still remains to be implemented.
967
968fix handling of -L parameters. Make actual use of the default_paths element.
969
970make re-definition of symbols in and from DSO compatible with existing linker
971
972Version 0.16:
973
974more work on assigning input sections to output sections.
975
976Add gelf_xlatetof and gelf_xlatetom which were accidently left out.
977
978Fix memory handling of section headers.
979
980Version 0.15:
981
982Add many-section support to ld. Add various new command line parameters.
983Allow pagesize to be specified in linker script or on the command line.
984Collect input sections in list for the output section according to the rules
985specified in the linker script.
986
987Version 0.14:
988
989Fix some problems in the internal list handling which had the result
990that we didn't look for some of the unresolved symbols.
991
992Free some memory if we know we don't need it anymore.
993
994Optimize the list of unresolved symbols. Throw out symbols which are
995meanwhile resolved.
996
997Version 0.13:
998
999Got file reading correct now. The files are all read while parsing
1000the parameters. No creating of data structures to describe the linker
1001command line. The symbol table is built up while reading the files.
1002DSOs are handled now. -( -) handling is optimized.
1003
1004Version 0.12:
1005
1006Linker read linker scripts everywhere. Handles --whole-archive. Recognizes
1007--dynamic and --static. Collects defined and undefined symbols. Recognizes
1008conflicts.
1009
1010libebl now defines functions to call the callbacks. Add generic name handling
1011in these new functions. Remove the code from readelf and call the new
1012functions.
1013
1014Version 0.11:
1015
1016Start of linker. Basic argument parsing, finding of input files,
1017linker script reading.
1018
1019Version 0.10:
1020
1021Implement dwarf_get_fde_n(), dwarf_get_abbrev(), dwarf_get_abbrev_tag(),
1022dwarf_get_abbrev_code(), dwarf_get_abbrev_children_flag(),
1023dwarf_get_abbrev_entry(), dwarf_get_fde_at_pc(), and tests for it.
1024
1025Version 0.9:
1026
1027Implement dwarf_get_fde_list_eh(), dwarf_get_cie_of_fde(),
1028dwarf_get_fde_range(), dwarf_get_cie_info(), dwarf_get_fde_instr_bytes(),
1029and tests for them.
1030
1031Version 0.8:
1032
1033Make handling of binaries in other byte order work and add tests for it.
1034
1035Version 0.7:
1036
1037Implement dwarf_get_aranges(), dwarf_get_arange(), dwarf_get_cu_die_offset(),
1038dwarf_get_arange_info(), and tests for them.
1039
1040Version 0.6:
1041
1042Implement dwarf_get_global(), dwarf_globname(), dwarf_global_die_offset(),
1043dwarf_global_cu_offset(), dwarf_global_name_offsets(), and tests for them
1044
1045Version 0.5:
1046
1047Implemented dwarf_srclines(), dwarf_srcfiles(), dwarf_linebeginstatement(),
1048dwarf_lineendsequence(), dwarf_lineno(), dwarf_lineaddr(), dwarf_lineoff(),
1049dwarf_linesrc(), dwarf_lineblock(), dwarf_lineprologueend(),
1050dwarf_lineepiloguebegin(), and tests for them.
1051
1052Version 0.4:
1053
1054Implemented dwarf_loclist().
1055
1056Version 0.3:
1057
1058Implemented dwarf_dieoffset(), dwarf_die_CU_offset(), dwarf_diename() and
1059tests.
1060
1061Implemented dwarf_attrlist(), dwarf_hasattr(), dwarf_attr(), dwarf_lowpc(),
1062dwarf_highpc(), dwarf_bytesize(), dwarf_bitsize(), dwarf_bitoffset(),
1063dwarf_srclang(), dwarf_arrayorder(), dwarf_hasform(), dwarf_whatform(),
1064dwarf_whatattr(), dwarf_formref(), dwarf_global_formref(), dwarf_formaddr(),
1065dwarf_formflag(), dwarf_formudata(), dwarf_formsdata(), dwarf_formblock,
1066dwarf_formstring() and tests for them.
1067
1068Version 0.2:
1069
1070Implemented dwarf_offdie()), dwarf_tag(), dwarf_dieoffset(),
1071dwarf_die_CU_offset(), dwarf_diename() and tests for them.
1072
1073Version 0.1:
1074
1075First libdwarf functions work.
1076
1077Version 0.0:
1078
1079libelf and parts of libebl are done.