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