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