blob: e4b2402fb09fb2201fdbc4da22566676ad3247f4 [file] [log] [blame]
Roland McGrath725aad52011-02-23 19:52:46 -08001Version 0.153
2
3libdw: Support reading .zdebug_* DWARF sections compressed via zlib.
4
Roland McGrathf339cd62011-02-02 17:24:53 -08005Version 0.152
6
Roland McGrath8a7b6232011-02-08 19:40:19 -08007Various build and warning nits fixed for newest GCC and Autoconf.
8
Roland McGrathf339cd62011-02-02 17:24:53 -08009libdwfl: Yet another prelink-related fix for another regression.
Roland McGrath788cc882011-02-11 12:38:36 -080010 Look for Linux kernel images in files named with compression suffixes.
Roland McGrathf339cd62011-02-02 17:24:53 -080011
Roland McGrath1fb9c912011-02-11 10:32:30 -080012elfcmp: New flag --ignore-build-id to ignore differing build ID bits.
Roland McGrath4a14ef72011-02-11 10:42:45 -080013 New flag -l/--verbose to print all differences.
Roland McGrath1fb9c912011-02-11 10:32:30 -080014
Roland McGrathf6315952011-01-11 10:33:32 -080015Version 0.151
16
17libdwfl: Fix for more prelink cases with separate debug file.
18
19strip: New flag --strip-sections to remove section headers entirely.
20
Roland McGrath65d8e4e2010-11-22 17:35:56 -080021Version 0.150
22
23libdw: Fix for handling huge .debug_aranges section.
24
25libdwfl: Fix for handling prelinked DSO with separate debug file.
26
27findtextrel: Fix diagnostics to work with usual section ordering.
28
29libebl: i386 backend fix for multi-register integer return value location.
30
Roland McGrathde44f132010-08-24 15:38:42 -070031Version 0.149:
32
Roland McGrath932585d2010-05-08 04:01:14 -070033libdw: Decode new DW_OP_GNU_implicit_pointer operation;
34 new function dwarf_getlocation_implicit_pointer.
35
Roland McGrathde44f132010-08-24 15:38:42 -070036libdwfl: New function dwfl_dwarf_line.
37
Roland McGrath5c45def2010-09-09 23:55:32 -070038addr2line: New flag -F/--flags to print more DWARF line information details.
Roland McGrathde44f132010-08-24 15:38:42 -070039
Roland McGrath6849dbb2010-09-09 23:26:12 -070040strip: -g recognizes .gdb_index as a debugging section.
41
Roland McGrath1fa6bf42010-05-06 01:14:32 -070042Version 0.148:
43
Roland McGrath2b1f0952010-06-20 17:55:50 -070044libdw: Accept DWARF 4 format: new functions dwarf_next_unit, dwarf_offdie_types.
Roland McGrathc70cf4e2010-06-18 17:01:05 -070045 New functions dwarf_lineisa, dwarf_linediscriminator, dwarf_lineop_index.
Roland McGrath3e4b5bb2010-06-16 03:40:56 -070046
Roland McGrath1fa6bf42010-05-06 01:14:32 -070047libdwfl: Fixes in core-file handling, support cores from PIEs.
48 When working from build IDs, don't open a named file that mismatches.
49
Roland McGrath2b1f0952010-06-20 17:55:50 -070050readelf: Handle DWARF 4 formats.
Roland McGrath7fac1ce2010-06-01 15:56:58 -070051
Roland McGrathfba8ec82010-05-03 11:42:53 -070052Version 0.147:
53
54libdw: Fixes in CFI handling, best possible handling of bogus CFA ops.
55
56libdwfl: Ignore R_*_NONE relocs, works around old (binutils) ld -r bugs.
57
Ulrich Drepperad64d8e2010-03-04 21:51:19 -080058Version 0.146:
59
Roland McGrath8068e062010-03-10 23:49:13 -080060libdwfl: New function dwfl_core_file_report.
61
Roland McGrath056d6932010-02-15 16:05:58 -080062Version 0.145:
63
64Fix build with --disable-dependency-tracking.
65
66Fix build with most recent glibc headers.
67
Roland McGrath4b0ee3b2010-02-18 14:04:45 -080068libelf: More robust to bogus section headers.
69
Roland McGrath056d6932010-02-15 16:05:58 -080070libdw: Fix CFI decoding.
71
72libdwfl: Fix address bias returned by CFI accessors.
Roland McGrath4b0ee3b2010-02-18 14:04:45 -080073 Fix core file module layout identification.
Roland McGrath056d6932010-02-15 16:05:58 -080074
75readelf: Fix CFI decoding.
76
Roland McGrathec9746f2010-01-04 22:08:45 -080077Version 0.144:
78
Roland McGrath6fd3cd12010-01-07 19:41:04 -080079libelf: New function elf_getphdrnum.
80 Now support using more than 65536 program headers in a file.
81
Roland McGrathebc5c882010-01-05 22:53:31 -080082libdw: New function dwarf_aggregate_size for computing (constant) type
83 sizes, including array_type cases with nontrivial calculation.
84
Roland McGrathec9746f2010-01-04 22:08:45 -080085readelf: Don't give errors for missing info under -a.
86 Handle Linux "VMCOREINFO" notes under -n.
87
Roland McGrathde69d522009-08-07 18:26:19 -070088Version 0.143:
89
90libdw: Various convenience functions for individual attributes now use
91 dwarf_attr_integrate to look up indirect inherited attributes.
Roland McGrath7e0aecd2009-09-17 15:02:34 -070092 Location expression handling now supports DW_OP_implicit_value.
Roland McGrathde69d522009-08-07 18:26:19 -070093
Roland McGrathe5a1a812009-08-26 03:05:50 -070094libdwfl: Support automatic decompression of files in XZ format,
95 and of Linux kernel images made with bzip2 or LZMA (as well as gzip).
Roland McGrathd6ccdc12009-08-26 00:23:01 -070096
Ulrich Drepperf1894932009-06-13 15:55:42 -070097Version 0.142:
98
99libelf: Add elf_getshdrnum alias for elf_getshnum and elf_getshdrstrndx alias
100 for elf_getshstrndx and deprecate original names. Sun screwed up
101 their implementation and asked for a solution.
102
Ulrich Drepper70c442c2009-07-08 00:53:24 -0700103libebl: Add support for STB_GNU_UNIQUE.
104
Ulrich Drepper96d950e2009-07-14 10:42:01 -0700105elflint: Add support for STB_GNU_UNIQUE.
106
Roland McGrath5dbccdb2009-06-28 14:48:02 -0700107readelf: Add -N option, speeds up DWARF printing without address->name lookups.
108
Roland McGrath409fe102009-07-23 11:32:47 -0700109libdw: Add support for decoding DWARF CFI into location description form.
110 Handle some new DWARF 3 expression operations previously omitted.
111 Basic handling of some new encodings slated for DWARF 4.
112
Roland McGrath54eb8902009-04-14 03:18:10 -0700113Version 0.141:
114
Roland McGratheb9ba472009-04-14 18:44:45 -0700115libebl: sparc backend fixes;
116 some more arm backend support
Roland McGrathd86e1832009-04-20 00:49:33 -0700117
Roland McGrath54eb8902009-04-14 03:18:10 -0700118libdwfl: fix dwfl_module_build_id for prelinked DSO case;
119 fixes in core file support;
120 dwfl_module_getsym interface improved for non-address symbols
Roland McGrathd86e1832009-04-20 00:49:33 -0700121
Roland McGrath54eb8902009-04-14 03:18:10 -0700122strip: fix infinite loop on strange inputs with -f
123
Roland McGrathd86e1832009-04-20 00:49:33 -0700124addr2line: take -j/--section=NAME option for binutils compatibility
125 (same effect as '(NAME)0x123' syntax already supported)
126
Ulrich Drepper8a3b0fa2009-02-16 11:02:37 -0800127Version 0.140:
128
129libelf: Fix regression in creation of section header
130
131libdwfl: Less strict behavior if DWARF reader ist just used to display data
132
Ulrich Drepper3bf57592009-01-01 18:52:05 -0800133Version 0.139:
134
135libcpu: Add Intel SSE4 disassembler support
136
Ulrich Drepper05d2b202009-01-16 17:58:54 -0800137readelf: Implement call frame information and exception handling dumping.
138 Add -e option. Enable it implicitly for -a.
Ulrich Drepperac194d02009-01-06 00:30:01 -0800139
Ulrich Drepper3a52c7a2009-01-16 21:11:49 -0800140elflint: Check PT_GNU_EH_FRAME program header entry.
141
Roland McGrathd666b002009-01-06 02:14:26 -0800142libdwfl: Support automatic gzip/bzip2 decompression of ELF files.
143
Roland McGrathd8ca9bd2008-12-24 01:09:18 -0800144Version 0.138:
145
146Install <elfutils/version.h> header file for applications to use in source
147version compatibility checks.
148
149libebl: backend fixes for i386 TLS relocs; backend support for NT_386_IOPERM
150
151libcpu: disassembler fixes
152
153libdwfl: bug fixes
154
155libelf: bug fixes
156
157nm: bug fixes for handling corrupt input files
158
Ulrich Drepperbb48a272008-08-27 03:01:47 +0000159Version 0.137:
160
161Minor fixes for unreleased 0.136 release.
162
Roland McGrathb4d6f0f2008-08-25 22:55:17 +0000163Version 0.136:
164
165libdwfl: bug fixes; new "segment" interfaces;
166 all the libdwfl-based tools now support --core=COREFILE option
167
Roland McGrathb37d2532008-05-07 18:38:35 +0000168Version 0.135:
169
170libdwfl: bug fixes
171
172strip: changed handling of ET_REL files wrt symbol tables and relocs
173
Roland McGrath60982e62008-04-05 00:40:51 +0000174Version 0.134:
175
176elflint: backend improvements for sparc, alpha
177
178libdwfl, libelf: bug fixes
179
Roland McGrath47c5c352008-02-29 10:17:16 +0000180Version 0.133:
181
182readelf, elflint, libebl: SHT_GNU_ATTRIBUTE section handling (readelf -A)
183
184readelf: core note handling for NT_386_TLS, NT_PPC_SPE, Alpha NT_AUXV
185
186libdwfl: bug fixes and optimization in relocation handling
187
188elfcmp: bug fix for non-allocated section handling
189
Ulrich Drepper1c5928d2008-03-01 18:34:56 +0000190ld: implement newer features of binutils linker.
191
Ulrich Drepper28a0c612008-01-21 18:57:48 +0000192Version 0.132:
193
194libcpu: Implement x86 and x86-64 disassembler.
195libasm: Add interface for disassembler.
196
197all programs: add debugging of branch prediction.
198
199libelf: new function elf_scnshndx.
200
Roland McGrath478a9602007-11-08 00:59:30 +0000201Version 0.131:
202
203libdw: DW_FORM_ref_addr support; dwarf_formref entry point now deprecated;
204 bug fixes for oddly-formatted DWARF
205
206libdwfl: bug fixes in offline archive support, symbol table handling;
207 apply partial relocations for dwfl_module_address_section on ET_REL
208
209libebl: powerpc backend support for Altivec registers
210
Roland McGrathc76f0b02007-09-27 07:31:33 +0000211Version 0.130:
212
213readelf: -p option can take an argument like -x for one section,
Roland McGrath59ea7f32007-10-04 08:50:09 +0000214 or no argument (as before) for all SHF_STRINGS sections;
Ulrich Drepperb597dfa2007-10-16 05:21:27 +0000215 new option --archive-index (or -c);
216 improved -n output for core files, on many machines
Roland McGrath59ea7f32007-10-04 08:50:09 +0000217
218libelf: new function elf_getdata_rawchunk, replaces gelf_rawchunk;
219 new functions gelf_getnote, gelf_getauxv, gelf_update_auxv
220
221readelf, elflint: handle SHT_NOTE sections without requiring phdrs
222
Ulrich Drepperb597dfa2007-10-16 05:21:27 +0000223elflint: stricter checks on debug sections
224
Roland McGrath59ea7f32007-10-04 08:50:09 +0000225libdwfl: new functions dwfl_build_id_find_elf, dwfl_build_id_find_debuginfo,
226 dwfl_module_build_id, dwfl_module_report_build_id;
227 support dynamic symbol tables found via phdrs;
228 dwfl_standard_find_debuginfo now uses build IDs when available
229
230unstrip: new option --list (or -n)
Roland McGrathc76f0b02007-09-27 07:31:33 +0000231
Ulrich Drepperb597dfa2007-10-16 05:21:27 +0000232libebl: backend improvements for sparc, alpha, powerpc
233
Roland McGrath60fc84c2007-08-03 21:59:15 +0000234Version 0.129:
235
236readelf: new options --hex-dump (or -x), --strings (or -p)
237
238addr2line: new option --symbols (or -S)
239
Roland McGrath4be15242007-04-25 03:09:33 +0000240Version 0.128:
241
242new program: unstrip
243
244elfcmp: new option --hash-inexact
245
Ulrich Dreppera1090f82007-03-30 19:16:14 +0000246Version 0.127:
Ulrich Drepper6258e742007-03-13 06:22:40 +0000247
Roland McGrath43da9892007-04-16 23:13:37 +0000248libdw: new function dwarf_getsrcdirs
249
Ulrich Drepperf527aa82007-04-19 04:15:00 +0000250libdwfl: new functions dwfl_module_addrsym, dwfl_report_begin_add,
251 dwfl_module_address_section
Ulrich Drepper6258e742007-03-13 06:22:40 +0000252
Ulrich Drepperce0bdb62007-02-05 07:13:52 +0000253Version 0.126:
254
255new program: ar
256
Ulrich Drepper56bc0b82006-12-18 22:38:08 +0000257Version 0.125:
258
259elflint: Compare DT_GNU_HASH tests.
260
261move archives into -static RPMs
262
263libelf, elflint: better support for core file handling
264
Roland McGrathc373d852006-10-10 00:25:21 +0000265Version 0.124:
266
267libebl: sparc backend support for return value location
268
269libebl, libdwfl: backend register name support extended with more info
270
271libelf, libdw: bug fixes for unaligned accesses on machines that care
272
273readelf, elflint: trivial bugs fixed
274
Roland McGrath1dee3602006-08-15 01:57:03 +0000275Version 0.123:
276
277libebl: Backend build fixes, thanks to Stepan Kasal.
278
279libebl: ia64 backend support for register names, return value location
280
281libdwfl: Handle truncated linux kernel module section names.
282
283libdwfl: Look for linux kernel "vmlinux" files with ".debug" suffix.
284
285elflint: Fix checks to permit --hash-style=gnu format.
286
Ulrich Drepper28ed8952006-07-07 03:43:47 +0000287Version 0.122:
288
Ulrich Dreppercc415622006-07-12 19:42:23 +0000289libebl: add function to test for relative relocation
Ulrich Drepper28ed8952006-07-07 03:43:47 +0000290
291elflint: fix and extend DT_RELCOUNT/DT_RELACOUNT checks
292
293elflint, readelf: add support for DT_GNU_HASH
294libelf: add elf_gnu_hash
295
296elflint, readelf: add support for 64-bit SysV-style hash tables
297
Ulrich Dreppercc415622006-07-12 19:42:23 +0000298libdwfl: new functions dwfl_module_getsymtab, dwfl_module_getsym.
299
Ulrich Drepperd9a87122006-05-28 08:00:33 +0000300Version 0.121:
301
302libelf: bug fixes for rewriting existing files when using mmap.
303
304make all installed headers usable in C++ code.
305
306readelf: better output format.
307
Ulrich Drepper6ca46002006-06-12 22:40:23 +0000308elflint: fix tests of dynamic section content.
309
310ld: Implement --as-needed, --execstack, PT_GNU_STACK. Many small patches.
311
Ulrich Drepperd9a87122006-05-28 08:00:33 +0000312libdw, libdwfl: handle files without aranges info.
313
Ulrich Drepper361df7d2006-04-04 21:38:57 +0000314Version 0.120:
315
316Bug fixes.
317
318dwarf.h updated for DWARF 3.0 final specification.
319
320libdwfl: New function dwfl_version.
321
Ulrich Drepper82c345d2006-04-04 22:07:54 +0000322The license is now GPL for most files. The libelf, libebl, libdw,
323and libdwfl libraries have additional exceptions. Add reference to
324OIN.
325
tailor808b4122006-01-13 18:50:48 +0000326Version 0.119:
327
328bug fixes
329
Ulrich Drepper607e0542005-12-04 15:51:06 +0000330Version 0.118:
331
332elflint: more tests.
333
Roland McGrath994b4892005-12-05 22:46:21 +0000334libdwfl: New function dwfl_module_register_names.
335
336libebl: New backend hook for register names.
337
Roland McGrath37ecca72005-11-18 01:42:03 +0000338Version 0.117:
339
340libdwfl: New function dwfl_module_return_value_location.
341
342libebl: Backend improvements for several CPUs.
343
Roland McGrath07d4f2f2005-10-28 06:56:24 +0000344Version 0.116:
345
346libdw: New functions dwarf_ranges, dwarf_entrypc, dwarf_diecu,
Roland McGrath6724c902005-10-28 07:07:19 +0000347 dwarf_entry_breakpoints. Removed Dwarf_Func type and functions
348 dwarf_func_name, dwarf_func_lowpc, dwarf_func_highpc,
349 dwarf_func_entrypc, dwarf_func_die; dwarf_getfuncs callback now uses
350 Dwarf_Die, and dwarf_func_file, dwarf_func_line, dwarf_func_col
351 replaced by dwarf_decl_file, dwarf_decl_line, dwarf_decl_column;
352 dwarf_func_inline, dwarf_func_inline_instances now take Dwarf_Die.
353 Type Dwarf_Loc renamed to Dwarf_Op; dwarf_getloclist,
354 dwarf_addrloclists renamed dwarf_getlocation, dwarf_getlocation_addr.
Roland McGrath07d4f2f2005-10-28 06:56:24 +0000355
Roland McGrathc94e47d2005-08-27 10:37:20 +0000356Version 0.115:
357
Ulrich Drepperfbe998a2005-08-29 16:27:10 +0000358libelf: speed-ups of non-mmap reading.
359
360strings: New program.
361
362Implement --enable-gcov option for configure.
363
Roland McGrathc94e47d2005-08-27 10:37:20 +0000364libdw: New function dwarf_getscopes_die.
365
Ulrich Drepper5d832292005-08-15 21:36:27 +0000366Version 0.114:
367
368libelf: new function elf_getaroff
369
Roland McGratha5c26432005-08-18 23:41:56 +0000370libdw: Added dwarf_func_die, dwarf_func_inline, dwarf_func_inline_instances.
371
Roland McGrath7c777292005-08-24 18:53:53 +0000372libdwfl: New functions dwfl_report_offline, dwfl_offline_section_address,
373 dwfl_linux_kernel_report_offline.
374
Ulrich Drepper5d832292005-08-15 21:36:27 +0000375ranlib: new program
376
Ulrich Drepper637963b2005-08-07 05:33:07 +0000377Version 0.113:
378
379elflint: relax a bit. Allow version definitions for defined symbols against
380DSO versions also for symbols in nobits sections. Allow .rodata section
381to have STRINGS and MERGE flag set.
382
Roland McGrath1c83bf12005-08-11 07:03:55 +0000383strip: add some more compatibility with binutils.
384
Ulrich Drepperc911c9e2005-08-02 16:07:42 +0000385Version 0.112:
386
387elfcmp: some more relaxation.
388
Ulrich Drepperdbace232005-08-06 01:37:23 +0000389elflint: many more tests, especially regarding to symbol versioning.
Ulrich Drepper41de4882005-08-03 00:02:56 +0000390
391libelf: Add elfXX_offscn and gelf_offscn.
392
Ulrich Dreppera38998e2005-08-03 02:05:39 +0000393libasm: asm_begin interface changes.
394
395libebl: Add three new interfaces to directly access machine, class, and
396data encoding information.
397
Ulrich Drepper8a687742005-08-03 02:24:12 +0000398objdump: New program. Just the beginning.
399
Ulrich Drepper70189152005-07-28 21:31:36 +0000400Version 0.111:
401
402libdw: now contains all of libdwfl. The latter is not installed anymore.
403
404elfcmp: little usability tweak, name and index of differing section is printed.
405
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000406Version 0.110:
407
Roland McGrath1c83bf12005-08-11 07:03:55 +0000408libelf: fix a number of problems with elf_update
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000409
410elfcmp: fix a few bugs. Compare gaps.
411
412Fix a few PLT problems and mudflap build issues.
413
414libebl: Don't expose Ebl structure definition in libebl.h. It's now private.
415
416Version 0.109:
417
418libebl: Check for matching modules.
419
420elflint: Check that copy relocations only happen for OBJECT or NOTYPE symbols.
421
422elfcmp: New program.
423
424libdwfl: New library.
425
426Version 0.108:
427
428strip: fix bug introduced in last change
429
430libdw: records returned by dwarf_getsrclines are now sorted by address
431
432Version 0.107:
433
434readelf: improve DWARF output format
435
436strip: support Linux kernel modules
437
438Version 0.106:
439
440libdw: Updated dwarf.h from DWARF3 spec
441libdw: add new funtions dwarf_func_entrypc, dwarf_func_file, dwarf_func_line,
442dwarf_func_col, dwarf_getsrc_file
443
444Version 0.105:
445
446addr2line: New program
447
448libdw: add new functions: dwarf_addrdie, dwarf_macro_*, dwarf_getfuncs,
449dwarf_func_*.
450
451findtextrel: use dwarf_addrdie
452
453Version 0.104:
454
455findtextrel: New program.
456
457Version 0.103:
458
459libdw: Fix using libdw.h with gcc < 4 and C++ code. Compiler bug.
460
461Version 0.102:
462
463More Makefile and spec file cleanups.
464
465Version 0.101:
466
467Remove most gettext autoconf handling.
468
469Add more warnings
470
471Fix resulting problems. One actual bug found and fixed this way
472
473Version 0.100:
474
475libebl: Fix x86-64 relocations.
476
477Add -Wunused -Wextra warnings.
478
479Some cleanups resulting from those additional warnings.
480
481Lots of Makefile cleanup.
482
483Version 0.99:
484
485libelf: add gelf_checksum prototype to <libelf.h>
486
487libelf: fix elf*_checksum handling of NOBITS sections
488
489Finish mudflap support.
490
491Fix three bugs found by mudflap.
492
493ld: add as_needed support
494
495Version 0.98:
496
497readelf: in section to segment mapping, indicate read-only sections.
498
499elflint: more relaxation for GNU ld
500
501Version 0.97:
502
503Fix compiling with gcc 4.0.
504Some tests called elflint without appropriate LD_LIBRARY_PATH.
505
506Version 0.96:
507
508Fix support for platforms with lib64.
509
510Version 0.95:
511
512libebl: add ppc and ppc64 support
513
514readelf: fix minimal memory leak.
515
516Add support to compile with mudflap.
517
518Modernize configure.ac. Move scripts in config subdir.
519
520Modernize *-po directory infrastructure.
521
522libelf: Add gelf_getlib and gelf_update_lib
523
524readelf: print liblist sections
525
526Version 0.94:
527
528Fix some minimal build problems.
529
530Version 0.93:
531
532ibdw: tons of new functionality and bug fixes. Several interface changes.
533
534readelf: use libdw now.
535
536libdwarf: removed completely.
537
538Version 0.92:
539
540configuration changes.
541
542Version 0.91:
543
544libdw: fix memory handling. Implement source line handling.
545nm: use libdw instead of libdwarf.
546libelf: change to GPL from OSL1 for now.
547
548Version 0.90:
549
550libebl: Recognize a few more section types and dynamic tags and return
551approriate strings.
552
553Version 0.89:
554
555strip: fix overwriting of symbol table in input file.
556
557Version 0.88:
558
559libebl: Add some ia64 bits.
560
561Version 0.87:
562
563Bug fixes for big endian and some 64-bit machines.
564
565Version 0.86:
566
567strip: fix handling of Alpha and s390x which use incorrect hash bucket sizes.
568
569ld: tons of changes, moving towards usability.
570
571Version 0.85:
572
573strip: update section group symbol index if the associated symbol table changed
574
575libelf: fix two problems with generating output not via mmap
576
577elflint: add probably 10-15 more tests
578libebl: add support for some of the new tests
579
580ld: gazillion changes
581
582Version 0.84:
583
584elflint: deal with .rel.dyn section. Fix a problem with rela platforms.
585Handle PT_GNU_STACK. Change to write messages to stdout.
586
587readelf: fix a problem with version information in the symbol table output.
588
589strip: update all version symbol table entries
590
591Version 0.83:
592
593size: fix a warning
594
595strip: last changed caused problems when the symbol table is before the
596relocation section. Fixed. This fix also improved the asymptotic
597behavior if many symbol table sections are present.
598
599Version 0.82:
600
601Run strip tests with the correct libelf and libebl.
602
603libelf: fix bug in verneed byte order changing code.
604
605Version 0.81:
606
607strip: Remove unused symbol table entries. This might require updating
608various other sections.
609
610Version 0.80:
611
612Fix some libelf problems with ET_REL files.
613
614Version 0.79:
615
616More warning changes, mainly by jbj.
617
618libdw: yet more new code. dwarf_child and dwarf_sibling should now actually
619work.
620
621Version 0.78:
622
623libdw: 10+ new functions. get-pubnames2 works now fully. Almost all the
624code needed for nm is in place.
625
626Version 0.77:
627
628cleanups to compile cleanly with gcc 3.3 and -Werror.
629
630libdw: some new code.
631
632Version 0.76:
633
634libebl: Fix last patch to recognize relocation sections. We must not
635use the name.
636
637Version 0.75:
638
639libebl: .debug_ranges is a DWARF 3 debug section
640libebl: recognize relocation sections for debug section
641Patches by Jakub Jelinek.
642
643Version 0.74:
644
645Cleanups and more SPARC support by Tom Callaway <tcallaway@redhat.com>.
646
647Version 0.73:
648
64964-bit cleanups for the programs.
650
651Version 0.72:
652
653libelf: and yet more fun with endian tranformation at output time.
654
655Version 0.71:
656
657libelf: more fun with endian tranformation at output time. Add test for it.
658
659Version 0.70:
660
661libelf: Two little bugs left from previous patch to handle section output
662order.
663
664libelf: add unlikely in some more places.
665
666Version 0.69:
667
668libelf: fix output routines to handle case where section indeces and
669ordre in the output file don't match correctly. Patch by Jakub.
670
671elflint: fix test of note section content for 64-bit platforms and files
672with different byte order.
673
674Version 0.68:
675
676libebl: Fix SH_ENTSIZE_HASH definition (patch by Jakub)
677
678Version 0.67:
679
680libelf: correct mistake in error string handling.
681
682libelf: Implement ELF_F_PERMISSIVE.
683strip: Implement --permissive option.
684
685Version 0.66:
686
687strip: Implement -g option.
688
689libelf: Handle broken hash table entry sizes.
690
691libebl: New function ebl_debugscn_p. Use it where appropriate.
692
693Version 0.65:
694
695libelf: Use correct file size for NOBITS section with ELF_F_LAYOUT set
696
697Version 0.64:
698
699libelf: Make error handling more robust.
700libelf: Use TLS in error handler if configured with --enable-tls
701
702tests: input files are now distributed, not uuencoded in the shell scripts
703
704libdw: implement error handling, dwarf_get_pubnames
705
706Version 0.63:
707
708Build (incomplete) libdw.
709
710Version 0.62:
711
712Get rid of libtool.
713
714Version 0.61:
715
716Fix URL of OSL.
717
718Version 0.60:
719
720libebl: Handle .gnu.warning.* sections correctly.
721
722size: Implement -t option.
723
724libebl: Add IA-64 support.
725libebl: Update SH relocations.
726libebl: Add Alpha support.
727libebl: Add Arm support.
728libebl: Add support for all currently known architecture to the loader.
729
730Version 0.59:
731
732nm: Implement -S option. Correct portable output format. Implement -s option.
733
734libelf: Take offset of archive into account in elf_rand.
735
736Version 0.58:
737
738strip: fix handling of ET_REL files.
739Add tests for strip.
740
741Version 0.57:
742
743strip: respect layout of input file
744
745Version 0.56:
746
747strip: handle files with large number of sections.
748
749Version 0.55:
750
751libelf: quite a few bug fixes by Alex Larsson.
752
753strip: implement -f option to place stripped sections into a separate
754file. By Alex Larsson.
755
756Version 0.54:
757
758strip: don't let STT_SECTION symbols keeps sections from being removed
759
760elflint: local symbols are allowed in .dynsym
761elflint: special case .rel.dyn a bit
762
763Version 0.53:
764
765elflint: check types and flags of special sections defined in gABI
766
767libebl: add x86-64 support
768
769Version 0.52:
770
771Start improvement of debug info handling in nm.
772
773libasm: implement asm_adduleb128 and asm_addsleb128 and a test for them
774
775Version 0.51:
776
777Fix build on 64-bit platforms.
778
779Version 0.50:
780
781nm: print file/line number also for local symbols
782
783use versions scripts not libtool's useless -export-symbols option
784
785Version 0.49:
786
787Update to autoconf 2.54 and automake 1.7.
788
789elflint: check note sections
790
791libdwarf: a number of bug fixes
792
793readelf: print .debug_info section content
794
795dwarf.h: Update from draft 7
796
797Version 0.48:
798
799libcpu: beginning
800
801libelf: new function to read parts of the ELF file
802
803libebl: support for note section handling
804
805readelf: dump note sections
806
807Version 0.47:
808
809libelf: fix little new section-handling related bugs in elf_getshstrndx
810and elf_nextscn
811
812elflint: tests for mandatory content of dynamic section
813
814libasm: better handling of absolute symbols
815
816Version 0.46:
817
818libasm: rewrite to store Elf_Scn* instead of indices
819
820nm: finish many-section support
821
822nm: use debug in to print file/line info in sysv format
823
824libdwarf: fix a few bugs in DIE handling
825
826Version 0.45:
827
828libelf: major rewrite to keep Elf_Scn references valid until elf_end
829
830Version 0.44:
831
832libasm: Add support for bss, ABS, and COM sections.
833
834libebl: ebl_section_name takes now two index arguments to distinguish
835between special sections and extended sections
836
837Version 0.43:
838
839General: fix a few problem gcc 3.1 had with the code.
840
841libelf: implement {gelf,elf32,elf64}_checksum
842
843libelf: optimze DSO: fewer relocations, fewer PLTs
844
845add msg_tst test
846
847ld: use correct section header string table index; write correct index
848
849add dependencies for *.sym files
850
851Version 0.42:
852
853libelf: add elf_getshnum and elf_getshstrndx
854
855libebl: update section type name function
856
857elflint: tons of fixes wrt large number of sections. New tests in this area.
858Same amount of other bug fixes.
859
860size, strip, nm: better support for large number of sections. Including
861using correct section header string table
862
863libasm: correctly create data structures for large number of sections
864
865new tests asm-tst4 and asm-tst5 to check large number of sections
866
867libasm: implement section group generation
868
869elflint: more tests on section groups. Improve performance on existing
870section group tests
871
872Version 0.41:
873
874ld: add undefined symbols to dynamic symbol table if --export-dynamic is
875not given
876
877ld: fix value of e_entry
878
879Version 0.40:
880
881elflint: print section names in error messages
882
883elflint: mustn't warn about multiple DT_NULL
884
885ld: don't emit all symbols if --export-dynamic is not given
886
887ld: correct compute symbol address in output file (section index was off by 1)
888
889ld: generate correct version info in dynsym without --export-dynamic and
890in symtab
891
892Version 0.39:
893
894Fix check of various e_*size entries in elflint.
895
896Handle text output in asm_newsym.
897
898Finish checks in asm-tst3.
899
900Version 0.38:
901
902Update to autoconf 2.53, automake 1.6, gettext 0.11+.
903
904Introduce *.sym files to restrict export from DSOs.
905
906Use attribute_hidden and internal_function to optimize DSO code.
907
908Add TLS definitions in elf.h and handle them in readelf.
909
910Fix bug in verdef section generation in ld.
911
912Add initial libasm code.
913
914Version 0.37:
915
916Implement better hash size optimization heuristic in ld. It uses a formula
917taking number of tests into account.
918
919Lots of small bug fixes.
920
921Improve readelf output format. Respect various sh_link/sh_info values.
922Correctly print versioning information for symbol tables.
923
924Version 0.36:
925
926Implement preprocessing of linker script. Recognize -z combreloc.
927
928Version 0.35:
929
930Implement -z ignore|record for ld.
931
932Implement creating of .gnu.version_r and .gnu.version sections. The
933.gnu.version does not yet contain correct info for defined and versioned
934symbols (means .gnu.version_d is not yet implemented).
935
936Implement gelf_update_* functions to create versioning data.
937
938Version 0.34:
939
940Add DT_RUNPATH/DT_RPATH entries to dynamic section. Create .plt and
941.rel.plt sections (completely). Add support for all four PLT related
942dynamic section entries. Add callback function for PLT creation.
943
944More tests in elflint. Add support for very strict checking which for
945now flags level 2 (deprecated features) usage.
946
947Version 0.33:
948
949Create dynamic symbol table, dynamic string table, and hash table to ld.
950
951Add hash table histogram support to readelf.
952
953Version 0.32:
954
955more work on elflint
956
957ld now creates the dynamic section and references it. Start adding entries
958to dynamic section.
959
960Version 0.31:
961
962Start implementing elflint.
963
964Version 0.30:
965
966Fix handling of NOBITS sections in elf_getdata.
967
968Start implementing generation of executables and DSOs in ld.
969Generation of program header mostly done. Address computation done.
970Extension of linker script syntax.
971
972Various cleanups.
973
974Implement section group handling in readelf.
975
976Version 0.29:
977
978Implement section groups. This involved a lot of code moving. The
979new code is entirely untested since gas/gcc are currently not able to
980create section groups. ld works fine on files without section groups.
981
982Version 0.28:
983
984Fix problem with adding more section in elf_newscn. The section pointers
985for the data buffers wasn't adjusted.
986
987Fix elf_getdata with nonzero second parameter. Correctly handle creation
988of internal data buffer for machines without unaligned access.
989
990Version 0.27:
991
992Start adding support to selectively add sections. Includes support for
993section groups.
994Add --gc-sections/--no-gc-sections options.
995Add general section merging support.
996
997Fix a bug in section group support in strip.
998
999Fix some potential problems with hash value in dynamic hash implementation.
1000
1001Version 0.26:
1002
1003section merging works in ld.
1004
1005Version 0.25:
1006
1007Actually create data structures from version map file and use it to hide
1008symbols in ld.
1009
1010Implement -s -s for ld.
1011
1012Version 0.24:
1013
1014Improve relocation table output in readelf. Avoid some crashes.
1015Finish many section handling in readelf.
1016
1017Finish: finish implementation of ld -r. At least some simple tests pass.
1018
1019Version 0.23:
1020
1021Fix a number of errors in ELF_C_WRITE handling.
1022
1023Almost finished implementation of ld -r. The data sections are all copied.
1024Handling of symbol tables is missing.
1025
1026Version 0.22:
1027
1028Handle DSO and archive input files correctly if -r option is given.
1029
1030Gracefully deal with no phdr in new file in libelf.
1031Fix various small error handling problems.
1032Don't mmap file for output unless the command says so.
1033
1034Add code to create ELF section header table to ld finalize routines.
1035
1036Version 0.21:
1037
1038Fix some problems with recursive handling of archives in libelf.
1039
1040Improve messages printed by nm.
1041
1042Add symbol binding name handling to libebl. Fix section name handling in
1043libebl.
1044
1045readelf and nm use more libebl functions.
1046
1047Handle XINDEX correctly in nm and string.
1048
1049Add first machine ld backend library (i386).
1050Use it. Recognize -r and --shared. Avoid using -lxxx parameters for -r.
1051Create ELF header in output file. Change mode of output file according to
1052output file type. Reorganize callback initialization in ld.
1053
1054Version 0.20:
1055
1056Fix some memory leaks in libelf.
1057
1058Version 0.19:
1059
1060Implement reading version script. Both inside linker scripts and via the
1061--version-script command line parameter. Uses the same code.
1062What remains to be done is to implement a data structure which allows
1063efficient matching against the version names to decide which pattern
1064matches.
1065
1066Beginning of output generation and output writing functions.
1067
1068Version 0.18:
1069
1070Finish implementation for DSO input file handling. Implement rpath, runpath,
1071and LD_LIBRARY_PATH handling.
1072
1073Version 0.17:
1074
1075make handling of e_shnum overflow in libelf standard conforming
1076
1077ld now actually can handle DSOs in linker scripts. Handling of DT_RUNPATH,
1078DT_RPATH, -rpath, -rpath-link still remains to be implemented.
1079
1080fix handling of -L parameters. Make actual use of the default_paths element.
1081
1082make re-definition of symbols in and from DSO compatible with existing linker
1083
1084Version 0.16:
1085
1086more work on assigning input sections to output sections.
1087
1088Add gelf_xlatetof and gelf_xlatetom which were accidently left out.
1089
1090Fix memory handling of section headers.
1091
1092Version 0.15:
1093
1094Add many-section support to ld. Add various new command line parameters.
1095Allow pagesize to be specified in linker script or on the command line.
1096Collect input sections in list for the output section according to the rules
1097specified in the linker script.
1098
1099Version 0.14:
1100
1101Fix some problems in the internal list handling which had the result
1102that we didn't look for some of the unresolved symbols.
1103
1104Free some memory if we know we don't need it anymore.
1105
1106Optimize the list of unresolved symbols. Throw out symbols which are
1107meanwhile resolved.
1108
1109Version 0.13:
1110
1111Got file reading correct now. The files are all read while parsing
1112the parameters. No creating of data structures to describe the linker
1113command line. The symbol table is built up while reading the files.
1114DSOs are handled now. -( -) handling is optimized.
1115
1116Version 0.12:
1117
1118Linker read linker scripts everywhere. Handles --whole-archive. Recognizes
1119--dynamic and --static. Collects defined and undefined symbols. Recognizes
1120conflicts.
1121
1122libebl now defines functions to call the callbacks. Add generic name handling
1123in these new functions. Remove the code from readelf and call the new
1124functions.
1125
1126Version 0.11:
1127
1128Start of linker. Basic argument parsing, finding of input files,
1129linker script reading.
1130
1131Version 0.10:
1132
1133Implement dwarf_get_fde_n(), dwarf_get_abbrev(), dwarf_get_abbrev_tag(),
1134dwarf_get_abbrev_code(), dwarf_get_abbrev_children_flag(),
1135dwarf_get_abbrev_entry(), dwarf_get_fde_at_pc(), and tests for it.
1136
1137Version 0.9:
1138
1139Implement dwarf_get_fde_list_eh(), dwarf_get_cie_of_fde(),
1140dwarf_get_fde_range(), dwarf_get_cie_info(), dwarf_get_fde_instr_bytes(),
1141and tests for them.
1142
1143Version 0.8:
1144
1145Make handling of binaries in other byte order work and add tests for it.
1146
1147Version 0.7:
1148
1149Implement dwarf_get_aranges(), dwarf_get_arange(), dwarf_get_cu_die_offset(),
1150dwarf_get_arange_info(), and tests for them.
1151
1152Version 0.6:
1153
1154Implement dwarf_get_global(), dwarf_globname(), dwarf_global_die_offset(),
1155dwarf_global_cu_offset(), dwarf_global_name_offsets(), and tests for them
1156
1157Version 0.5:
1158
1159Implemented dwarf_srclines(), dwarf_srcfiles(), dwarf_linebeginstatement(),
1160dwarf_lineendsequence(), dwarf_lineno(), dwarf_lineaddr(), dwarf_lineoff(),
1161dwarf_linesrc(), dwarf_lineblock(), dwarf_lineprologueend(),
1162dwarf_lineepiloguebegin(), and tests for them.
1163
1164Version 0.4:
1165
1166Implemented dwarf_loclist().
1167
1168Version 0.3:
1169
1170Implemented dwarf_dieoffset(), dwarf_die_CU_offset(), dwarf_diename() and
1171tests.
1172
1173Implemented dwarf_attrlist(), dwarf_hasattr(), dwarf_attr(), dwarf_lowpc(),
1174dwarf_highpc(), dwarf_bytesize(), dwarf_bitsize(), dwarf_bitoffset(),
1175dwarf_srclang(), dwarf_arrayorder(), dwarf_hasform(), dwarf_whatform(),
1176dwarf_whatattr(), dwarf_formref(), dwarf_global_formref(), dwarf_formaddr(),
1177dwarf_formflag(), dwarf_formudata(), dwarf_formsdata(), dwarf_formblock,
1178dwarf_formstring() and tests for them.
1179
1180Version 0.2:
1181
1182Implemented dwarf_offdie()), dwarf_tag(), dwarf_dieoffset(),
1183dwarf_die_CU_offset(), dwarf_diename() and tests for them.
1184
1185Version 0.1:
1186
1187First libdwarf functions work.
1188
1189Version 0.0:
1190
1191libelf and parts of libebl are done.