blob: 53fe3647aef116b28ba55ddad14447b6cfdc4496 [file] [log] [blame]
Mark Wielaard79300542016-01-08 14:44:49 +01001Version 0.165
2
3elfcompress: New utility to compress or decompress ELF sections.
4
5readelf: Add -z,--decompress option.
6
7libelf: Add elf_compress, elf_compress_gnu, elf32_getchdr, elf64_getchdr
8 and gelf_getchdr.
9
10libdwelf: New function dwelf_scn_gnu_compressed_size.
11
12config: Add libelf and libdw pkg-config files.
13
14backends: sparc support for core and live backtraces.
15
16translations: Updated Polish translation.
17
Mark Wielaardd11eea42015-10-15 18:28:34 +020018Version 0.164
19
20strip, unstrip: Handle ELF files with merged strtab/shstrtab tables.
21 Handle missing SHF_INFO_LINK section flags.
22
23libelf: Use int64_t for offsets in libelf.h instead of loff_t.
24
25libdw: dwarf.h Add preliminary DWARF5 DW_LANG_Haskell.
26
27libdwfl: dwfl_standard_find_debuginfo now searches any subdir of the binary
28 path under the debuginfo root when the separate debug file couldn't
29 be found by build-id.
30 dwfl_linux_proc_attach can now be called before any Dwfl_Modules
31 have been reported.
32
33backends: Better sparc and sparc64 support.
34
35translations: Updated Ukrainian translation.
36
37Provide default-yama-scope subpackage.
38
Mark Wielaardfaf0d3d2015-06-19 13:43:58 +020039Version 0.163
40
41Bug fixes only, no new features.
42
Petr Machata7f617342015-03-18 19:42:02 +010043Version 0.162
44
45libdw: Install new header elfutils/known-dwarf.h.
Mark Wielaard027d9112015-06-10 17:44:42 +020046 dwarf.h Add preliminary DWARF5 constants DW_TAG_atomic_type,
47 DW_LANG_Fortran03, DW_LANG_Fortran08. dwarf_peel_type now also
48 handles DW_TAG_atomic_type.
Petr Machata7f617342015-03-18 19:42:02 +010049
Mark Wielaardd76d73f2015-05-19 23:08:00 +020050addr2line: Input addresses are now always interpreted as hexadecimal
51 numbers, never as octal or decimal numbers.
Mark Wielaard70a504d2015-05-19 16:21:27 +020052 New option -a, --addresses to print address before each entry.
Mark Wielaardcd2da6c2015-05-20 11:52:27 +020053 New option -C, --demangle to show demangled symbols.
Mark Wielaardb23a5b22015-05-20 14:09:46 +020054 New option --pretty-print to print all information on one line.
Mark Wielaardd76d73f2015-05-19 23:08:00 +020055
Mark Wielaard027d9112015-06-10 17:44:42 +020056ar: CVE-2014-9447 Directory traversal vulnerability in ar extraction.
57
58backends: x32 support.
59
Mark Wielaard3a36e8a2014-10-06 22:00:16 +020060Version 0.161
61
62libdw: New function dwarf_peel_type. dwarf_aggregate_size now uses
63 dwarf_peel_type to also provide the sizes of qualified types.
Petr Machatafb90bf32014-10-17 02:47:03 +020064 dwarf_getmacros will now serve either of .debug_macro and
65 .debug_macinfo transparently. New interfaces
66 dwarf_getmacros_off, dwarf_macro_getsrcfiles,
67 dwarf_macro_getparamcnt, and dwarf_macro_param are available
68 for more generalized inspection of macros and their parameters.
Mark Wielaard09dc83d2014-12-18 23:41:41 +010069 dwarf.h: Add DW_AT_GNU_deleted, DW_AT_noreturn, DW_LANG_C11,
70 DW_LANG_C_plus_plus_11 and DW_LANG_C_plus_plus_14.
Petr Machatafb90bf32014-10-17 02:47:03 +020071
Mark Wielaard22497092014-05-26 21:28:05 +020072Version 0.160
73
Mark Wielaardf18f2332014-08-15 16:03:21 +020074libdw: New functions dwarf_cu_getdwarf, dwarf_cu_die.
Mark Wielaard5efda262014-08-25 22:13:57 +020075 dwarf.h remove non-existing DW_TAG_mutable_type.
76
77libdwfl: Handle LZMA .ko.xz compressed kernel modules.
Mark Wielaard209f1492014-08-15 13:08:24 +020078
Mark Wielaard22497092014-05-26 21:28:05 +020079unstrip: New option -F, --force to combining files even if some ELF headers
80 don't seem to match.
81
Mark Wielaard5efda262014-08-25 22:13:57 +020082backends: Handle ARM THUMB functions. Add support for ppc64le ELFv2 abi.
83
Mark Wielaard531a30a2014-01-20 23:09:26 +010084Version 0.159
85
86stack: New option -d, --debugname to lookup DWARF debuginfo name for frame.
Mark Wielaard13968d92014-01-21 16:13:49 +010087 New option -i, --inlines to show inlined frames using DWARF debuginfo.
Mark Wielaard531a30a2014-01-20 23:09:26 +010088
Mark Wielaard93802972014-04-11 23:52:47 +020089libdwelf: New libdwelf.h header for libdw.so DWARF ELF Low-level Functions.
Mark Wielaardbb096d02014-05-03 00:23:06 +020090 New function dwelf_elf_gnu_debuglink, dwelf_dwarf_gnu_debugaltlink,
91 and dwelf_elf_gnu_build_id.
92
93libdw: Support for DWZ multifile forms DW_FORM_GNU_ref_alt and
94 DW_FORM_GNU_strp_alt is now enabled by default and no longer
95 experimental. Added new functions dwarf_getalt and dwarf_setalt
96 to get or set the alternative debug file used for the alt FORMs.
Mark Wielaardf05dff92014-05-18 00:28:26 +020097 The dwfl_linux_proc_find_elf callback will now find ELF from
98 process memory for (deleted) files if the Dwfl has process state
99 attached.
Mark Wielaardbb096d02014-05-03 00:23:06 +0200100
101libdwfl: The dwfl_build_id_find_debuginfo and dwfl_standard_find_debuginfo
102 functions will now try to resolve and set the alternative debug file.
Mark Wielaard93802972014-04-11 23:52:47 +0200103
Mark Wielaardf05dff92014-05-18 00:28:26 +0200104backends: Add CFI unwinding for arm. Relies on .debug_frame.
105 Add arm process initial register state compatible mode to AARCH64.
106 Add aarch64 native and core unwind support.
107
108other: All separate elfutils-robustify patches have been merged.
109 CVE-2014-0172 Check overflow before calling malloc to uncompress data.
110
Jan Kratochvil3cf491e2013-10-30 10:48:20 +0100111Version 0.158
112
113libdwfl: dwfl_core_file_report has new parameter executable.
Mark Wielaard159ac522013-12-18 11:05:54 +0100114 New functions dwfl_module_getsymtab_first_global,
115 dwfl_module_getsym_info and dwfl_module_addrinfo.
Jan Kratochvil8aa7fbb2013-12-18 14:37:49 +0100116 Added unwinder with type Dwfl_Thread_Callbacks, opaque types
117 Dwfl_Thread and Dwfl_Frame and functions dwfl_attach_state,
118 dwfl_pid, dwfl_thread_dwfl, dwfl_thread_tid, dwfl_frame_thread,
119 dwfl_thread_state_registers, dwfl_thread_state_register_pc,
Mark Wielaarde962ec32013-12-20 10:09:12 +0100120 dwfl_getthread_frames, dwfl_getthreads, dwfl_thread_getframes
121 and dwfl_frame_pc.
Jan Kratochvil3cf491e2013-10-30 10:48:20 +0100122
Mark Wielaard159ac522013-12-18 11:05:54 +0100123addr2line: New option -x to show the section an address was found in.
124
Mark Wielaarde962ec32013-12-20 10:09:12 +0100125stack: New utility that uses the new unwinder for processes and cores.
126
Mark Wielaard70db4cc2014-01-03 22:16:34 +0100127backends: Unwinder support for i386, x86_64, s390, s390x, ppc and ppc64.
128 aarch64 support.
129
Mark Wielaardf36d7272013-09-27 14:02:26 +0200130Version 0.157
131
132libdw: Add new functions dwarf_getlocations, dwarf_getlocation_attr
133 and dwarf_getlocation_die.
134
Mark Wielaardfb927572013-09-30 13:50:26 +0200135readelf: Show contents of NT_SIGINFO and NT_FILE core notes.
136
Mark Wielaardf36d7272013-09-27 14:02:26 +0200137addr2line: Support -i, --inlines output option.
138
139backends: abi_cfi hook for arm, ppc and s390.
140
Jan Kratochvil904aec22013-04-30 14:27:16 +0200141Version 0.156
142
Jan Kratochvila55b1182013-07-19 00:24:06 +0200143lib: New macro COMPAT_VERSION_NEWPROTO.
Jan Kratochvila55b1182013-07-19 00:24:06 +0200144
Jan Kratochvil934d36c2013-07-19 23:26:28 +0200145libdw: Handle GNU extension opcodes in dwarf_getlocation.
Jan Kratochvila55b1182013-07-19 00:24:06 +0200146
Jan Kratochvil934d36c2013-07-19 23:26:28 +0200147libdwfl: Fix STB_GLOBAL over STB_WEAK preference in dwfl_module_addrsym.
Jan Kratochvila55b1182013-07-19 00:24:06 +0200148 Add minisymtab support.
Jan Kratochvila55b1182013-07-19 00:24:06 +0200149 Add parameter add_p_vaddr to dwfl_report_elf.
150 Use DT_DEBUG library search first.
Jan Kratochvila55b1182013-07-19 00:24:06 +0200151
152libebl: Handle new core note types in EBL.
Jan Kratochvila55b1182013-07-19 00:24:06 +0200153
Jan Kratochvil934d36c2013-07-19 23:26:28 +0200154backends: Interpret NT_ARM_VFP.
Jan Kratochvila55b1182013-07-19 00:24:06 +0200155 Implement core file registers parsing for s390/s390x.
Jan Kratochvila55b1182013-07-19 00:24:06 +0200156
157readelf: Add --elf-section input option to inspect an embedded ELF file.
158 Add -U, --unresolved-address-offsets output control.
159 Add --debug-dump=decodedline support.
160 Accept version 8 .gdb_index section format.
Jan Kratochvila55b1182013-07-19 00:24:06 +0200161 Adjust output formatting width.
Jan Kratochvila55b1182013-07-19 00:24:06 +0200162 When highpc is in constant form print it also as address.
163 Display raw .debug_aranges. Use libdw only for decodedaranges.
Jan Kratochvila55b1182013-07-19 00:24:06 +0200164
165elflint: Add __bss_start__ to the list of allowed symbols.
166
167tests: Add configure --enable-valgrind option to run all tests under valgrind.
168 Enable automake parallel-tests for make check.
169
170translations: Updated Polish translation.
171
172Updates for Automake 1.13.
Jan Kratochvil904aec22013-04-30 14:27:16 +0200173
Mark Wielaardc4010b82012-07-24 13:20:41 +0200174Version 0.155
175
Mark Wielaard27751ed2012-08-22 09:57:36 +0200176libelf: elf*_xlatetomd now works for cross-endian ELF note data.
Mark Wielaarda2210f82012-08-21 12:22:08 +0200177 elf_getshdr now works consistently on non-mmaped ELF files after
178 calling elf_cntl(ELF_C_FDREAD).
179 Implement support for ar archives with 64-bit symbol table.
180
Mark Wielaardc4010b82012-07-24 13:20:41 +0200181libdw: dwarf.h corrected the DW_LANG_ObjC constant name (was DW_LANG_Objc).
182 Any existing sources using the old name will have to be updated.
Mark Wielaarda2210f82012-08-21 12:22:08 +0200183 Add DW_MACRO_GNU .debug_macro type encodings constants, DW_ATE_UTF
184 and DW_OP_GNU_parameter_ref to dwarf.h.
Mark Wielaardf5519fc2012-08-24 13:54:52 +0200185 Experimental support for DWZ multifile forms DW_FORM_GNU_ref_alt
186 and DW_FORM_GNU_strp_alt. Disabled by default. Use configure
187 --enable-dwz to test it.
Mark Wielaarda2210f82012-08-21 12:22:08 +0200188
189readelf: Add .debug_macro parsing support.
190 Add .gdb_index version 7 parsing support.
191 Recognize DW_OP_GNU_parameter_ref.
Mark Wielaardc4010b82012-07-24 13:20:41 +0200192
Mark Wielaard3cb9e8c2012-08-27 15:31:31 +0200193backends: Add support for Tilera TILE-Gx processor.
194
195translations: Updated Ukrainian translation.
196
Mark Wielaard54797252012-04-27 13:00:50 +0200197Version 0.154
198
Mark Wielaardd7bde9b2012-06-22 14:14:08 +0200199libelf: [g]elf[32|64]_offscn() do not match SHT_NOBITS sections at OFFSET.
200
Mark Wielaard54797252012-04-27 13:00:50 +0200201libdw: dwarf_highpc function now handles DWARF 4 DW_AT_high_pc constant form.
Mark Wielaardd7bde9b2012-06-22 14:14:08 +0200202 Fix bug using dwarf_next_unit to iterate over .debug_types.
203
204elflint: Now accepts gold linker produced executables.
Mark Wielaard54797252012-04-27 13:00:50 +0200205
Mark Wielaardde2ed972012-06-05 17:15:16 +0200206The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone
207programs. There is now also a formal CONTRIBUTING document describing how to
208submit patches.
209
Roland McGrath725aad52011-02-23 19:52:46 -0800210Version 0.153
211
212libdw: Support reading .zdebug_* DWARF sections compressed via zlib.
213
Mark Wielaard52d1f922012-01-22 19:28:20 +0100214libdwfl: Speed up dwfl_module_addrsym.
215
Ulrich Drepperb4a16cf2011-10-02 08:33:19 -0400216nm: Support C++ demangling.
217
Roland McGrathe5ba2a12011-11-05 21:08:07 -0700218ar: Support D modifier for "deterministic output" with no uid/gid/mtime info.
Roland McGrath6e063d92012-01-20 11:43:36 -0800219 The U modifier is the inverse.
Roland McGrath3284b792012-01-20 12:51:46 -0800220 elfutils can be configured with the --enable-deterministic-archives
221 option to make the D behavior the default when U is not specified.
Mark Wielaard52d1f922012-01-22 19:28:20 +0100222
Roland McGrath6e063d92012-01-20 11:43:36 -0800223ranlib: Support -D and -U flags with same meaning.
Roland McGrathe5ba2a12011-11-05 21:08:07 -0700224
Mark Wielaard52d1f922012-01-22 19:28:20 +0100225readelf: Improve output of -wline. Add support for printing SDT elf notes.
Roland McGratha77881a2012-01-23 10:34:17 -0800226 Add printing of .gdb_index section.
227 Support for typed DWARF stack, call_site and entry_value.
Mark Wielaard52d1f922012-01-22 19:28:20 +0100228
229strip: Add --reloc-debug-sections option.
230 Improved SHT_GROUP sections handling.
231
Roland McGrathf339cd62011-02-02 17:24:53 -0800232Version 0.152
233
Roland McGrath8a7b6232011-02-08 19:40:19 -0800234Various build and warning nits fixed for newest GCC and Autoconf.
235
Roland McGrathf339cd62011-02-02 17:24:53 -0800236libdwfl: Yet another prelink-related fix for another regression.
Roland McGrath788cc882011-02-11 12:38:36 -0800237 Look for Linux kernel images in files named with compression suffixes.
Roland McGrathf339cd62011-02-02 17:24:53 -0800238
Roland McGrath1fb9c912011-02-11 10:32:30 -0800239elfcmp: New flag --ignore-build-id to ignore differing build ID bits.
Roland McGrath4a14ef72011-02-11 10:42:45 -0800240 New flag -l/--verbose to print all differences.
Roland McGrath1fb9c912011-02-11 10:32:30 -0800241
Roland McGrathf6315952011-01-11 10:33:32 -0800242Version 0.151
243
244libdwfl: Fix for more prelink cases with separate debug file.
245
246strip: New flag --strip-sections to remove section headers entirely.
247
Roland McGrath65d8e4e2010-11-22 17:35:56 -0800248Version 0.150
249
250libdw: Fix for handling huge .debug_aranges section.
251
252libdwfl: Fix for handling prelinked DSO with separate debug file.
253
254findtextrel: Fix diagnostics to work with usual section ordering.
255
256libebl: i386 backend fix for multi-register integer return value location.
257
Roland McGrathde44f132010-08-24 15:38:42 -0700258Version 0.149:
259
Roland McGrath932585d2010-05-08 04:01:14 -0700260libdw: Decode new DW_OP_GNU_implicit_pointer operation;
261 new function dwarf_getlocation_implicit_pointer.
262
Roland McGrathde44f132010-08-24 15:38:42 -0700263libdwfl: New function dwfl_dwarf_line.
264
Roland McGrath5c45def2010-09-09 23:55:32 -0700265addr2line: New flag -F/--flags to print more DWARF line information details.
Roland McGrathde44f132010-08-24 15:38:42 -0700266
Roland McGrath6849dbb2010-09-09 23:26:12 -0700267strip: -g recognizes .gdb_index as a debugging section.
268
Roland McGrath1fa6bf42010-05-06 01:14:32 -0700269Version 0.148:
270
Roland McGrath2b1f0952010-06-20 17:55:50 -0700271libdw: Accept DWARF 4 format: new functions dwarf_next_unit, dwarf_offdie_types.
Roland McGrathc70cf4e2010-06-18 17:01:05 -0700272 New functions dwarf_lineisa, dwarf_linediscriminator, dwarf_lineop_index.
Roland McGrath3e4b5bb2010-06-16 03:40:56 -0700273
Roland McGrath1fa6bf42010-05-06 01:14:32 -0700274libdwfl: Fixes in core-file handling, support cores from PIEs.
275 When working from build IDs, don't open a named file that mismatches.
276
Roland McGrath2b1f0952010-06-20 17:55:50 -0700277readelf: Handle DWARF 4 formats.
Roland McGrath7fac1ce2010-06-01 15:56:58 -0700278
Roland McGrathfba8ec82010-05-03 11:42:53 -0700279Version 0.147:
280
281libdw: Fixes in CFI handling, best possible handling of bogus CFA ops.
282
283libdwfl: Ignore R_*_NONE relocs, works around old (binutils) ld -r bugs.
284
Ulrich Drepperad64d8e2010-03-04 21:51:19 -0800285Version 0.146:
286
Roland McGrath8068e062010-03-10 23:49:13 -0800287libdwfl: New function dwfl_core_file_report.
288
Roland McGrath056d6932010-02-15 16:05:58 -0800289Version 0.145:
290
291Fix build with --disable-dependency-tracking.
292
293Fix build with most recent glibc headers.
294
Roland McGrath4b0ee3b2010-02-18 14:04:45 -0800295libelf: More robust to bogus section headers.
296
Roland McGrath056d6932010-02-15 16:05:58 -0800297libdw: Fix CFI decoding.
298
299libdwfl: Fix address bias returned by CFI accessors.
Roland McGrath4b0ee3b2010-02-18 14:04:45 -0800300 Fix core file module layout identification.
Roland McGrath056d6932010-02-15 16:05:58 -0800301
302readelf: Fix CFI decoding.
303
Roland McGrathec9746f2010-01-04 22:08:45 -0800304Version 0.144:
305
Roland McGrath6fd3cd12010-01-07 19:41:04 -0800306libelf: New function elf_getphdrnum.
307 Now support using more than 65536 program headers in a file.
308
Roland McGrathebc5c882010-01-05 22:53:31 -0800309libdw: New function dwarf_aggregate_size for computing (constant) type
310 sizes, including array_type cases with nontrivial calculation.
311
Roland McGrathec9746f2010-01-04 22:08:45 -0800312readelf: Don't give errors for missing info under -a.
313 Handle Linux "VMCOREINFO" notes under -n.
314
Roland McGrathde69d522009-08-07 18:26:19 -0700315Version 0.143:
316
317libdw: Various convenience functions for individual attributes now use
318 dwarf_attr_integrate to look up indirect inherited attributes.
Roland McGrath7e0aecd2009-09-17 15:02:34 -0700319 Location expression handling now supports DW_OP_implicit_value.
Roland McGrathde69d522009-08-07 18:26:19 -0700320
Roland McGrathe5a1a812009-08-26 03:05:50 -0700321libdwfl: Support automatic decompression of files in XZ format,
322 and of Linux kernel images made with bzip2 or LZMA (as well as gzip).
Roland McGrathd6ccdc12009-08-26 00:23:01 -0700323
Ulrich Drepperf1894932009-06-13 15:55:42 -0700324Version 0.142:
325
326libelf: Add elf_getshdrnum alias for elf_getshnum and elf_getshdrstrndx alias
Ulrich Drepperb4a16cf2011-10-02 08:33:19 -0400327 for elf_getshstrndx and deprecate original names. Sun screwed up
328 their implementation and asked for a solution.
Ulrich Drepperf1894932009-06-13 15:55:42 -0700329
Ulrich Drepper70c442c2009-07-08 00:53:24 -0700330libebl: Add support for STB_GNU_UNIQUE.
331
Ulrich Drepper96d950e2009-07-14 10:42:01 -0700332elflint: Add support for STB_GNU_UNIQUE.
333
Roland McGrath5dbccdb2009-06-28 14:48:02 -0700334readelf: Add -N option, speeds up DWARF printing without address->name lookups.
335
Roland McGrath409fe102009-07-23 11:32:47 -0700336libdw: Add support for decoding DWARF CFI into location description form.
337 Handle some new DWARF 3 expression operations previously omitted.
338 Basic handling of some new encodings slated for DWARF 4.
339
Roland McGrath54eb8902009-04-14 03:18:10 -0700340Version 0.141:
341
Roland McGratheb9ba472009-04-14 18:44:45 -0700342libebl: sparc backend fixes;
343 some more arm backend support
Roland McGrathd86e1832009-04-20 00:49:33 -0700344
Roland McGrath54eb8902009-04-14 03:18:10 -0700345libdwfl: fix dwfl_module_build_id for prelinked DSO case;
346 fixes in core file support;
347 dwfl_module_getsym interface improved for non-address symbols
Roland McGrathd86e1832009-04-20 00:49:33 -0700348
Roland McGrath54eb8902009-04-14 03:18:10 -0700349strip: fix infinite loop on strange inputs with -f
350
Roland McGrathd86e1832009-04-20 00:49:33 -0700351addr2line: take -j/--section=NAME option for binutils compatibility
352 (same effect as '(NAME)0x123' syntax already supported)
353
Ulrich Drepper8a3b0fa2009-02-16 11:02:37 -0800354Version 0.140:
355
356libelf: Fix regression in creation of section header
357
358libdwfl: Less strict behavior if DWARF reader ist just used to display data
359
Ulrich Drepper3bf57592009-01-01 18:52:05 -0800360Version 0.139:
361
362libcpu: Add Intel SSE4 disassembler support
363
Ulrich Drepper05d2b202009-01-16 17:58:54 -0800364readelf: Implement call frame information and exception handling dumping.
Ulrich Drepperb4a16cf2011-10-02 08:33:19 -0400365 Add -e option. Enable it implicitly for -a.
Ulrich Drepperac194d02009-01-06 00:30:01 -0800366
Ulrich Drepper3a52c7a2009-01-16 21:11:49 -0800367elflint: Check PT_GNU_EH_FRAME program header entry.
368
Roland McGrathd666b002009-01-06 02:14:26 -0800369libdwfl: Support automatic gzip/bzip2 decompression of ELF files.
370
Roland McGrathd8ca9bd2008-12-24 01:09:18 -0800371Version 0.138:
372
373Install <elfutils/version.h> header file for applications to use in source
374version compatibility checks.
375
376libebl: backend fixes for i386 TLS relocs; backend support for NT_386_IOPERM
377
378libcpu: disassembler fixes
379
380libdwfl: bug fixes
381
382libelf: bug fixes
383
384nm: bug fixes for handling corrupt input files
385
Ulrich Drepperbb48a272008-08-27 03:01:47 +0000386Version 0.137:
387
388Minor fixes for unreleased 0.136 release.
389
Roland McGrathb4d6f0f2008-08-25 22:55:17 +0000390Version 0.136:
391
392libdwfl: bug fixes; new "segment" interfaces;
393 all the libdwfl-based tools now support --core=COREFILE option
394
Roland McGrathb37d2532008-05-07 18:38:35 +0000395Version 0.135:
396
397libdwfl: bug fixes
398
399strip: changed handling of ET_REL files wrt symbol tables and relocs
400
Roland McGrath60982e62008-04-05 00:40:51 +0000401Version 0.134:
402
403elflint: backend improvements for sparc, alpha
404
405libdwfl, libelf: bug fixes
406
Roland McGrath47c5c352008-02-29 10:17:16 +0000407Version 0.133:
408
409readelf, elflint, libebl: SHT_GNU_ATTRIBUTE section handling (readelf -A)
410
411readelf: core note handling for NT_386_TLS, NT_PPC_SPE, Alpha NT_AUXV
412
413libdwfl: bug fixes and optimization in relocation handling
414
415elfcmp: bug fix for non-allocated section handling
416
Ulrich Drepper1c5928d2008-03-01 18:34:56 +0000417ld: implement newer features of binutils linker.
418
Ulrich Drepper28a0c612008-01-21 18:57:48 +0000419Version 0.132:
420
421libcpu: Implement x86 and x86-64 disassembler.
422libasm: Add interface for disassembler.
423
424all programs: add debugging of branch prediction.
425
426libelf: new function elf_scnshndx.
427
Roland McGrath478a9602007-11-08 00:59:30 +0000428Version 0.131:
429
430libdw: DW_FORM_ref_addr support; dwarf_formref entry point now deprecated;
431 bug fixes for oddly-formatted DWARF
432
433libdwfl: bug fixes in offline archive support, symbol table handling;
434 apply partial relocations for dwfl_module_address_section on ET_REL
435
436libebl: powerpc backend support for Altivec registers
437
Roland McGrathc76f0b02007-09-27 07:31:33 +0000438Version 0.130:
439
440readelf: -p option can take an argument like -x for one section,
Roland McGrath59ea7f32007-10-04 08:50:09 +0000441 or no argument (as before) for all SHF_STRINGS sections;
Ulrich Drepperb597dfa2007-10-16 05:21:27 +0000442 new option --archive-index (or -c);
443 improved -n output for core files, on many machines
Roland McGrath59ea7f32007-10-04 08:50:09 +0000444
445libelf: new function elf_getdata_rawchunk, replaces gelf_rawchunk;
446 new functions gelf_getnote, gelf_getauxv, gelf_update_auxv
447
448readelf, elflint: handle SHT_NOTE sections without requiring phdrs
449
Ulrich Drepperb597dfa2007-10-16 05:21:27 +0000450elflint: stricter checks on debug sections
451
Roland McGrath59ea7f32007-10-04 08:50:09 +0000452libdwfl: new functions dwfl_build_id_find_elf, dwfl_build_id_find_debuginfo,
453 dwfl_module_build_id, dwfl_module_report_build_id;
454 support dynamic symbol tables found via phdrs;
455 dwfl_standard_find_debuginfo now uses build IDs when available
456
457unstrip: new option --list (or -n)
Roland McGrathc76f0b02007-09-27 07:31:33 +0000458
Ulrich Drepperb597dfa2007-10-16 05:21:27 +0000459libebl: backend improvements for sparc, alpha, powerpc
460
Roland McGrath60fc84c2007-08-03 21:59:15 +0000461Version 0.129:
462
463readelf: new options --hex-dump (or -x), --strings (or -p)
464
465addr2line: new option --symbols (or -S)
466
Roland McGrath4be15242007-04-25 03:09:33 +0000467Version 0.128:
468
469new program: unstrip
470
471elfcmp: new option --hash-inexact
472
Ulrich Dreppera1090f82007-03-30 19:16:14 +0000473Version 0.127:
Ulrich Drepper6258e742007-03-13 06:22:40 +0000474
Roland McGrath43da9892007-04-16 23:13:37 +0000475libdw: new function dwarf_getsrcdirs
476
Ulrich Drepperf527aa82007-04-19 04:15:00 +0000477libdwfl: new functions dwfl_module_addrsym, dwfl_report_begin_add,
478 dwfl_module_address_section
Ulrich Drepper6258e742007-03-13 06:22:40 +0000479
Ulrich Drepperce0bdb62007-02-05 07:13:52 +0000480Version 0.126:
481
482new program: ar
483
Ulrich Drepper56bc0b82006-12-18 22:38:08 +0000484Version 0.125:
485
486elflint: Compare DT_GNU_HASH tests.
487
488move archives into -static RPMs
489
490libelf, elflint: better support for core file handling
491
Roland McGrathc373d852006-10-10 00:25:21 +0000492Version 0.124:
493
494libebl: sparc backend support for return value location
495
496libebl, libdwfl: backend register name support extended with more info
497
498libelf, libdw: bug fixes for unaligned accesses on machines that care
499
500readelf, elflint: trivial bugs fixed
501
Roland McGrath1dee3602006-08-15 01:57:03 +0000502Version 0.123:
503
504libebl: Backend build fixes, thanks to Stepan Kasal.
505
506libebl: ia64 backend support for register names, return value location
507
508libdwfl: Handle truncated linux kernel module section names.
509
510libdwfl: Look for linux kernel "vmlinux" files with ".debug" suffix.
511
512elflint: Fix checks to permit --hash-style=gnu format.
513
Ulrich Drepper28ed8952006-07-07 03:43:47 +0000514Version 0.122:
515
Ulrich Dreppercc415622006-07-12 19:42:23 +0000516libebl: add function to test for relative relocation
Ulrich Drepper28ed8952006-07-07 03:43:47 +0000517
518elflint: fix and extend DT_RELCOUNT/DT_RELACOUNT checks
519
520elflint, readelf: add support for DT_GNU_HASH
521libelf: add elf_gnu_hash
522
523elflint, readelf: add support for 64-bit SysV-style hash tables
524
Ulrich Dreppercc415622006-07-12 19:42:23 +0000525libdwfl: new functions dwfl_module_getsymtab, dwfl_module_getsym.
526
Ulrich Drepperd9a87122006-05-28 08:00:33 +0000527Version 0.121:
528
529libelf: bug fixes for rewriting existing files when using mmap.
530
531make all installed headers usable in C++ code.
532
533readelf: better output format.
534
Ulrich Drepper6ca46002006-06-12 22:40:23 +0000535elflint: fix tests of dynamic section content.
536
537ld: Implement --as-needed, --execstack, PT_GNU_STACK. Many small patches.
538
Ulrich Drepperd9a87122006-05-28 08:00:33 +0000539libdw, libdwfl: handle files without aranges info.
540
Ulrich Drepper361df7d2006-04-04 21:38:57 +0000541Version 0.120:
542
543Bug fixes.
544
545dwarf.h updated for DWARF 3.0 final specification.
546
547libdwfl: New function dwfl_version.
548
Ulrich Drepper82c345d2006-04-04 22:07:54 +0000549The license is now GPL for most files. The libelf, libebl, libdw,
550and libdwfl libraries have additional exceptions. Add reference to
551OIN.
552
tailor808b4122006-01-13 18:50:48 +0000553Version 0.119:
554
555bug fixes
556
Ulrich Drepper607e0542005-12-04 15:51:06 +0000557Version 0.118:
558
559elflint: more tests.
560
Roland McGrath994b4892005-12-05 22:46:21 +0000561libdwfl: New function dwfl_module_register_names.
562
563libebl: New backend hook for register names.
564
Roland McGrath37ecca72005-11-18 01:42:03 +0000565Version 0.117:
566
567libdwfl: New function dwfl_module_return_value_location.
568
569libebl: Backend improvements for several CPUs.
570
Roland McGrath07d4f2f2005-10-28 06:56:24 +0000571Version 0.116:
572
573libdw: New functions dwarf_ranges, dwarf_entrypc, dwarf_diecu,
Roland McGrath6724c902005-10-28 07:07:19 +0000574 dwarf_entry_breakpoints. Removed Dwarf_Func type and functions
575 dwarf_func_name, dwarf_func_lowpc, dwarf_func_highpc,
576 dwarf_func_entrypc, dwarf_func_die; dwarf_getfuncs callback now uses
577 Dwarf_Die, and dwarf_func_file, dwarf_func_line, dwarf_func_col
578 replaced by dwarf_decl_file, dwarf_decl_line, dwarf_decl_column;
579 dwarf_func_inline, dwarf_func_inline_instances now take Dwarf_Die.
580 Type Dwarf_Loc renamed to Dwarf_Op; dwarf_getloclist,
581 dwarf_addrloclists renamed dwarf_getlocation, dwarf_getlocation_addr.
Roland McGrath07d4f2f2005-10-28 06:56:24 +0000582
Roland McGrathc94e47d2005-08-27 10:37:20 +0000583Version 0.115:
584
Ulrich Drepperfbe998a2005-08-29 16:27:10 +0000585libelf: speed-ups of non-mmap reading.
586
587strings: New program.
588
589Implement --enable-gcov option for configure.
590
Roland McGrathc94e47d2005-08-27 10:37:20 +0000591libdw: New function dwarf_getscopes_die.
592
Ulrich Drepper5d832292005-08-15 21:36:27 +0000593Version 0.114:
594
595libelf: new function elf_getaroff
596
Roland McGratha5c26432005-08-18 23:41:56 +0000597libdw: Added dwarf_func_die, dwarf_func_inline, dwarf_func_inline_instances.
598
Roland McGrath7c777292005-08-24 18:53:53 +0000599libdwfl: New functions dwfl_report_offline, dwfl_offline_section_address,
600 dwfl_linux_kernel_report_offline.
601
Ulrich Drepper5d832292005-08-15 21:36:27 +0000602ranlib: new program
603
Ulrich Drepper637963b2005-08-07 05:33:07 +0000604Version 0.113:
605
606elflint: relax a bit. Allow version definitions for defined symbols against
607DSO versions also for symbols in nobits sections. Allow .rodata section
608to have STRINGS and MERGE flag set.
609
Roland McGrath1c83bf12005-08-11 07:03:55 +0000610strip: add some more compatibility with binutils.
611
Ulrich Drepperc911c9e2005-08-02 16:07:42 +0000612Version 0.112:
613
614elfcmp: some more relaxation.
615
Ulrich Drepperdbace232005-08-06 01:37:23 +0000616elflint: many more tests, especially regarding to symbol versioning.
Ulrich Drepper41de4882005-08-03 00:02:56 +0000617
618libelf: Add elfXX_offscn and gelf_offscn.
619
Ulrich Dreppera38998e2005-08-03 02:05:39 +0000620libasm: asm_begin interface changes.
621
622libebl: Add three new interfaces to directly access machine, class, and
623data encoding information.
624
Ulrich Drepper8a687742005-08-03 02:24:12 +0000625objdump: New program. Just the beginning.
626
Ulrich Drepper70189152005-07-28 21:31:36 +0000627Version 0.111:
628
629libdw: now contains all of libdwfl. The latter is not installed anymore.
630
631elfcmp: little usability tweak, name and index of differing section is printed.
632
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000633Version 0.110:
634
Roland McGrath1c83bf12005-08-11 07:03:55 +0000635libelf: fix a number of problems with elf_update
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000636
637elfcmp: fix a few bugs. Compare gaps.
638
639Fix a few PLT problems and mudflap build issues.
640
641libebl: Don't expose Ebl structure definition in libebl.h. It's now private.
642
643Version 0.109:
644
645libebl: Check for matching modules.
646
647elflint: Check that copy relocations only happen for OBJECT or NOTYPE symbols.
648
649elfcmp: New program.
650
651libdwfl: New library.
652
653Version 0.108:
654
655strip: fix bug introduced in last change
656
657libdw: records returned by dwarf_getsrclines are now sorted by address
658
659Version 0.107:
660
661readelf: improve DWARF output format
662
663strip: support Linux kernel modules
664
665Version 0.106:
666
667libdw: Updated dwarf.h from DWARF3 spec
668libdw: add new funtions dwarf_func_entrypc, dwarf_func_file, dwarf_func_line,
669dwarf_func_col, dwarf_getsrc_file
670
671Version 0.105:
672
673addr2line: New program
674
675libdw: add new functions: dwarf_addrdie, dwarf_macro_*, dwarf_getfuncs,
676dwarf_func_*.
677
678findtextrel: use dwarf_addrdie
679
680Version 0.104:
681
682findtextrel: New program.
683
684Version 0.103:
685
686libdw: Fix using libdw.h with gcc < 4 and C++ code. Compiler bug.
687
688Version 0.102:
689
690More Makefile and spec file cleanups.
691
692Version 0.101:
693
694Remove most gettext autoconf handling.
695
696Add more warnings
697
698Fix resulting problems. One actual bug found and fixed this way
699
700Version 0.100:
701
702libebl: Fix x86-64 relocations.
703
704Add -Wunused -Wextra warnings.
705
706Some cleanups resulting from those additional warnings.
707
708Lots of Makefile cleanup.
709
710Version 0.99:
711
712libelf: add gelf_checksum prototype to <libelf.h>
713
714libelf: fix elf*_checksum handling of NOBITS sections
715
716Finish mudflap support.
717
718Fix three bugs found by mudflap.
719
720ld: add as_needed support
721
722Version 0.98:
723
724readelf: in section to segment mapping, indicate read-only sections.
725
726elflint: more relaxation for GNU ld
727
728Version 0.97:
729
730Fix compiling with gcc 4.0.
731Some tests called elflint without appropriate LD_LIBRARY_PATH.
732
733Version 0.96:
734
735Fix support for platforms with lib64.
736
737Version 0.95:
738
739libebl: add ppc and ppc64 support
740
741readelf: fix minimal memory leak.
742
743Add support to compile with mudflap.
744
745Modernize configure.ac. Move scripts in config subdir.
746
747Modernize *-po directory infrastructure.
748
749libelf: Add gelf_getlib and gelf_update_lib
750
751readelf: print liblist sections
752
753Version 0.94:
754
755Fix some minimal build problems.
756
757Version 0.93:
758
759ibdw: tons of new functionality and bug fixes. Several interface changes.
760
761readelf: use libdw now.
762
763libdwarf: removed completely.
764
765Version 0.92:
766
767configuration changes.
768
769Version 0.91:
770
771libdw: fix memory handling. Implement source line handling.
772nm: use libdw instead of libdwarf.
773libelf: change to GPL from OSL1 for now.
774
775Version 0.90:
776
777libebl: Recognize a few more section types and dynamic tags and return
778approriate strings.
779
780Version 0.89:
781
782strip: fix overwriting of symbol table in input file.
783
784Version 0.88:
785
786libebl: Add some ia64 bits.
787
788Version 0.87:
789
790Bug fixes for big endian and some 64-bit machines.
791
792Version 0.86:
793
794strip: fix handling of Alpha and s390x which use incorrect hash bucket sizes.
795
796ld: tons of changes, moving towards usability.
797
798Version 0.85:
799
800strip: update section group symbol index if the associated symbol table changed
801
802libelf: fix two problems with generating output not via mmap
803
804elflint: add probably 10-15 more tests
805libebl: add support for some of the new tests
806
807ld: gazillion changes
808
809Version 0.84:
810
811elflint: deal with .rel.dyn section. Fix a problem with rela platforms.
812Handle PT_GNU_STACK. Change to write messages to stdout.
813
814readelf: fix a problem with version information in the symbol table output.
815
816strip: update all version symbol table entries
817
818Version 0.83:
819
820size: fix a warning
821
822strip: last changed caused problems when the symbol table is before the
823relocation section. Fixed. This fix also improved the asymptotic
824behavior if many symbol table sections are present.
825
826Version 0.82:
827
828Run strip tests with the correct libelf and libebl.
829
830libelf: fix bug in verneed byte order changing code.
831
832Version 0.81:
833
834strip: Remove unused symbol table entries. This might require updating
835various other sections.
836
837Version 0.80:
838
839Fix some libelf problems with ET_REL files.
840
841Version 0.79:
842
843More warning changes, mainly by jbj.
844
845libdw: yet more new code. dwarf_child and dwarf_sibling should now actually
846work.
847
848Version 0.78:
849
850libdw: 10+ new functions. get-pubnames2 works now fully. Almost all the
851code needed for nm is in place.
852
853Version 0.77:
854
855cleanups to compile cleanly with gcc 3.3 and -Werror.
856
857libdw: some new code.
858
859Version 0.76:
860
861libebl: Fix last patch to recognize relocation sections. We must not
862use the name.
863
864Version 0.75:
865
866libebl: .debug_ranges is a DWARF 3 debug section
867libebl: recognize relocation sections for debug section
868Patches by Jakub Jelinek.
869
870Version 0.74:
871
872Cleanups and more SPARC support by Tom Callaway <tcallaway@redhat.com>.
873
874Version 0.73:
875
87664-bit cleanups for the programs.
877
878Version 0.72:
879
880libelf: and yet more fun with endian tranformation at output time.
881
882Version 0.71:
883
884libelf: more fun with endian tranformation at output time. Add test for it.
885
886Version 0.70:
887
888libelf: Two little bugs left from previous patch to handle section output
889order.
890
891libelf: add unlikely in some more places.
892
893Version 0.69:
894
895libelf: fix output routines to handle case where section indeces and
896ordre in the output file don't match correctly. Patch by Jakub.
897
898elflint: fix test of note section content for 64-bit platforms and files
899with different byte order.
900
901Version 0.68:
902
903libebl: Fix SH_ENTSIZE_HASH definition (patch by Jakub)
904
905Version 0.67:
906
907libelf: correct mistake in error string handling.
908
909libelf: Implement ELF_F_PERMISSIVE.
910strip: Implement --permissive option.
911
912Version 0.66:
913
914strip: Implement -g option.
915
916libelf: Handle broken hash table entry sizes.
917
918libebl: New function ebl_debugscn_p. Use it where appropriate.
919
920Version 0.65:
921
922libelf: Use correct file size for NOBITS section with ELF_F_LAYOUT set
923
924Version 0.64:
925
926libelf: Make error handling more robust.
927libelf: Use TLS in error handler if configured with --enable-tls
928
929tests: input files are now distributed, not uuencoded in the shell scripts
930
931libdw: implement error handling, dwarf_get_pubnames
932
933Version 0.63:
934
935Build (incomplete) libdw.
936
937Version 0.62:
938
939Get rid of libtool.
940
941Version 0.61:
942
943Fix URL of OSL.
944
945Version 0.60:
946
947libebl: Handle .gnu.warning.* sections correctly.
948
949size: Implement -t option.
950
951libebl: Add IA-64 support.
952libebl: Update SH relocations.
953libebl: Add Alpha support.
954libebl: Add Arm support.
955libebl: Add support for all currently known architecture to the loader.
956
957Version 0.59:
958
959nm: Implement -S option. Correct portable output format. Implement -s option.
960
961libelf: Take offset of archive into account in elf_rand.
962
963Version 0.58:
964
965strip: fix handling of ET_REL files.
966Add tests for strip.
967
968Version 0.57:
969
970strip: respect layout of input file
971
972Version 0.56:
973
974strip: handle files with large number of sections.
975
976Version 0.55:
977
978libelf: quite a few bug fixes by Alex Larsson.
979
980strip: implement -f option to place stripped sections into a separate
981file. By Alex Larsson.
982
983Version 0.54:
984
985strip: don't let STT_SECTION symbols keeps sections from being removed
986
987elflint: local symbols are allowed in .dynsym
988elflint: special case .rel.dyn a bit
989
990Version 0.53:
991
992elflint: check types and flags of special sections defined in gABI
993
994libebl: add x86-64 support
995
996Version 0.52:
997
998Start improvement of debug info handling in nm.
999
1000libasm: implement asm_adduleb128 and asm_addsleb128 and a test for them
1001
1002Version 0.51:
1003
1004Fix build on 64-bit platforms.
1005
1006Version 0.50:
1007
1008nm: print file/line number also for local symbols
1009
1010use versions scripts not libtool's useless -export-symbols option
1011
1012Version 0.49:
1013
1014Update to autoconf 2.54 and automake 1.7.
1015
1016elflint: check note sections
1017
1018libdwarf: a number of bug fixes
1019
1020readelf: print .debug_info section content
1021
1022dwarf.h: Update from draft 7
1023
1024Version 0.48:
1025
1026libcpu: beginning
1027
1028libelf: new function to read parts of the ELF file
1029
1030libebl: support for note section handling
1031
1032readelf: dump note sections
1033
1034Version 0.47:
1035
1036libelf: fix little new section-handling related bugs in elf_getshstrndx
1037and elf_nextscn
1038
1039elflint: tests for mandatory content of dynamic section
1040
1041libasm: better handling of absolute symbols
1042
1043Version 0.46:
1044
1045libasm: rewrite to store Elf_Scn* instead of indices
1046
1047nm: finish many-section support
1048
1049nm: use debug in to print file/line info in sysv format
1050
1051libdwarf: fix a few bugs in DIE handling
1052
1053Version 0.45:
1054
1055libelf: major rewrite to keep Elf_Scn references valid until elf_end
1056
1057Version 0.44:
1058
1059libasm: Add support for bss, ABS, and COM sections.
1060
1061libebl: ebl_section_name takes now two index arguments to distinguish
1062between special sections and extended sections
1063
1064Version 0.43:
1065
1066General: fix a few problem gcc 3.1 had with the code.
1067
1068libelf: implement {gelf,elf32,elf64}_checksum
1069
1070libelf: optimze DSO: fewer relocations, fewer PLTs
1071
1072add msg_tst test
1073
1074ld: use correct section header string table index; write correct index
1075
1076add dependencies for *.sym files
1077
1078Version 0.42:
1079
1080libelf: add elf_getshnum and elf_getshstrndx
1081
1082libebl: update section type name function
1083
1084elflint: tons of fixes wrt large number of sections. New tests in this area.
1085Same amount of other bug fixes.
1086
1087size, strip, nm: better support for large number of sections. Including
1088using correct section header string table
1089
1090libasm: correctly create data structures for large number of sections
1091
1092new tests asm-tst4 and asm-tst5 to check large number of sections
1093
1094libasm: implement section group generation
1095
1096elflint: more tests on section groups. Improve performance on existing
1097section group tests
1098
1099Version 0.41:
1100
1101ld: add undefined symbols to dynamic symbol table if --export-dynamic is
1102not given
1103
1104ld: fix value of e_entry
1105
1106Version 0.40:
1107
1108elflint: print section names in error messages
1109
1110elflint: mustn't warn about multiple DT_NULL
1111
1112ld: don't emit all symbols if --export-dynamic is not given
1113
1114ld: correct compute symbol address in output file (section index was off by 1)
1115
1116ld: generate correct version info in dynsym without --export-dynamic and
1117in symtab
1118
1119Version 0.39:
1120
1121Fix check of various e_*size entries in elflint.
1122
1123Handle text output in asm_newsym.
1124
1125Finish checks in asm-tst3.
1126
1127Version 0.38:
1128
1129Update to autoconf 2.53, automake 1.6, gettext 0.11+.
1130
1131Introduce *.sym files to restrict export from DSOs.
1132
1133Use attribute_hidden and internal_function to optimize DSO code.
1134
1135Add TLS definitions in elf.h and handle them in readelf.
1136
1137Fix bug in verdef section generation in ld.
1138
1139Add initial libasm code.
1140
1141Version 0.37:
1142
1143Implement better hash size optimization heuristic in ld. It uses a formula
1144taking number of tests into account.
1145
1146Lots of small bug fixes.
1147
1148Improve readelf output format. Respect various sh_link/sh_info values.
1149Correctly print versioning information for symbol tables.
1150
1151Version 0.36:
1152
1153Implement preprocessing of linker script. Recognize -z combreloc.
1154
1155Version 0.35:
1156
1157Implement -z ignore|record for ld.
1158
1159Implement creating of .gnu.version_r and .gnu.version sections. The
1160.gnu.version does not yet contain correct info for defined and versioned
1161symbols (means .gnu.version_d is not yet implemented).
1162
1163Implement gelf_update_* functions to create versioning data.
1164
1165Version 0.34:
1166
1167Add DT_RUNPATH/DT_RPATH entries to dynamic section. Create .plt and
1168.rel.plt sections (completely). Add support for all four PLT related
1169dynamic section entries. Add callback function for PLT creation.
1170
1171More tests in elflint. Add support for very strict checking which for
1172now flags level 2 (deprecated features) usage.
1173
1174Version 0.33:
1175
1176Create dynamic symbol table, dynamic string table, and hash table to ld.
1177
1178Add hash table histogram support to readelf.
1179
1180Version 0.32:
1181
1182more work on elflint
1183
1184ld now creates the dynamic section and references it. Start adding entries
1185to dynamic section.
1186
1187Version 0.31:
1188
1189Start implementing elflint.
1190
1191Version 0.30:
1192
1193Fix handling of NOBITS sections in elf_getdata.
1194
1195Start implementing generation of executables and DSOs in ld.
1196Generation of program header mostly done. Address computation done.
1197Extension of linker script syntax.
1198
1199Various cleanups.
1200
1201Implement section group handling in readelf.
1202
1203Version 0.29:
1204
1205Implement section groups. This involved a lot of code moving. The
1206new code is entirely untested since gas/gcc are currently not able to
1207create section groups. ld works fine on files without section groups.
1208
1209Version 0.28:
1210
1211Fix problem with adding more section in elf_newscn. The section pointers
1212for the data buffers wasn't adjusted.
1213
1214Fix elf_getdata with nonzero second parameter. Correctly handle creation
1215of internal data buffer for machines without unaligned access.
1216
1217Version 0.27:
1218
1219Start adding support to selectively add sections. Includes support for
1220section groups.
1221Add --gc-sections/--no-gc-sections options.
1222Add general section merging support.
1223
1224Fix a bug in section group support in strip.
1225
1226Fix some potential problems with hash value in dynamic hash implementation.
1227
1228Version 0.26:
1229
1230section merging works in ld.
1231
1232Version 0.25:
1233
1234Actually create data structures from version map file and use it to hide
1235symbols in ld.
1236
1237Implement -s -s for ld.
1238
1239Version 0.24:
1240
1241Improve relocation table output in readelf. Avoid some crashes.
1242Finish many section handling in readelf.
1243
1244Finish: finish implementation of ld -r. At least some simple tests pass.
1245
1246Version 0.23:
1247
1248Fix a number of errors in ELF_C_WRITE handling.
1249
1250Almost finished implementation of ld -r. The data sections are all copied.
1251Handling of symbol tables is missing.
1252
1253Version 0.22:
1254
1255Handle DSO and archive input files correctly if -r option is given.
1256
1257Gracefully deal with no phdr in new file in libelf.
1258Fix various small error handling problems.
1259Don't mmap file for output unless the command says so.
1260
1261Add code to create ELF section header table to ld finalize routines.
1262
1263Version 0.21:
1264
1265Fix some problems with recursive handling of archives in libelf.
1266
1267Improve messages printed by nm.
1268
1269Add symbol binding name handling to libebl. Fix section name handling in
1270libebl.
1271
1272readelf and nm use more libebl functions.
1273
1274Handle XINDEX correctly in nm and string.
1275
1276Add first machine ld backend library (i386).
1277Use it. Recognize -r and --shared. Avoid using -lxxx parameters for -r.
1278Create ELF header in output file. Change mode of output file according to
1279output file type. Reorganize callback initialization in ld.
1280
1281Version 0.20:
1282
1283Fix some memory leaks in libelf.
1284
1285Version 0.19:
1286
1287Implement reading version script. Both inside linker scripts and via the
1288--version-script command line parameter. Uses the same code.
1289What remains to be done is to implement a data structure which allows
1290efficient matching against the version names to decide which pattern
1291matches.
1292
1293Beginning of output generation and output writing functions.
1294
1295Version 0.18:
1296
1297Finish implementation for DSO input file handling. Implement rpath, runpath,
1298and LD_LIBRARY_PATH handling.
1299
1300Version 0.17:
1301
1302make handling of e_shnum overflow in libelf standard conforming
1303
1304ld now actually can handle DSOs in linker scripts. Handling of DT_RUNPATH,
1305DT_RPATH, -rpath, -rpath-link still remains to be implemented.
1306
1307fix handling of -L parameters. Make actual use of the default_paths element.
1308
1309make re-definition of symbols in and from DSO compatible with existing linker
1310
1311Version 0.16:
1312
1313more work on assigning input sections to output sections.
1314
1315Add gelf_xlatetof and gelf_xlatetom which were accidently left out.
1316
1317Fix memory handling of section headers.
1318
1319Version 0.15:
1320
1321Add many-section support to ld. Add various new command line parameters.
1322Allow pagesize to be specified in linker script or on the command line.
1323Collect input sections in list for the output section according to the rules
1324specified in the linker script.
1325
1326Version 0.14:
1327
1328Fix some problems in the internal list handling which had the result
1329that we didn't look for some of the unresolved symbols.
1330
1331Free some memory if we know we don't need it anymore.
1332
1333Optimize the list of unresolved symbols. Throw out symbols which are
1334meanwhile resolved.
1335
1336Version 0.13:
1337
1338Got file reading correct now. The files are all read while parsing
1339the parameters. No creating of data structures to describe the linker
1340command line. The symbol table is built up while reading the files.
1341DSOs are handled now. -( -) handling is optimized.
1342
1343Version 0.12:
1344
1345Linker read linker scripts everywhere. Handles --whole-archive. Recognizes
1346--dynamic and --static. Collects defined and undefined symbols. Recognizes
1347conflicts.
1348
1349libebl now defines functions to call the callbacks. Add generic name handling
1350in these new functions. Remove the code from readelf and call the new
1351functions.
1352
1353Version 0.11:
1354
1355Start of linker. Basic argument parsing, finding of input files,
1356linker script reading.
1357
1358Version 0.10:
1359
1360Implement dwarf_get_fde_n(), dwarf_get_abbrev(), dwarf_get_abbrev_tag(),
1361dwarf_get_abbrev_code(), dwarf_get_abbrev_children_flag(),
1362dwarf_get_abbrev_entry(), dwarf_get_fde_at_pc(), and tests for it.
1363
1364Version 0.9:
1365
1366Implement dwarf_get_fde_list_eh(), dwarf_get_cie_of_fde(),
1367dwarf_get_fde_range(), dwarf_get_cie_info(), dwarf_get_fde_instr_bytes(),
1368and tests for them.
1369
1370Version 0.8:
1371
1372Make handling of binaries in other byte order work and add tests for it.
1373
1374Version 0.7:
1375
1376Implement dwarf_get_aranges(), dwarf_get_arange(), dwarf_get_cu_die_offset(),
1377dwarf_get_arange_info(), and tests for them.
1378
1379Version 0.6:
1380
1381Implement dwarf_get_global(), dwarf_globname(), dwarf_global_die_offset(),
1382dwarf_global_cu_offset(), dwarf_global_name_offsets(), and tests for them
1383
1384Version 0.5:
1385
1386Implemented dwarf_srclines(), dwarf_srcfiles(), dwarf_linebeginstatement(),
1387dwarf_lineendsequence(), dwarf_lineno(), dwarf_lineaddr(), dwarf_lineoff(),
1388dwarf_linesrc(), dwarf_lineblock(), dwarf_lineprologueend(),
1389dwarf_lineepiloguebegin(), and tests for them.
1390
1391Version 0.4:
1392
1393Implemented dwarf_loclist().
1394
1395Version 0.3:
1396
1397Implemented dwarf_dieoffset(), dwarf_die_CU_offset(), dwarf_diename() and
1398tests.
1399
1400Implemented dwarf_attrlist(), dwarf_hasattr(), dwarf_attr(), dwarf_lowpc(),
1401dwarf_highpc(), dwarf_bytesize(), dwarf_bitsize(), dwarf_bitoffset(),
1402dwarf_srclang(), dwarf_arrayorder(), dwarf_hasform(), dwarf_whatform(),
1403dwarf_whatattr(), dwarf_formref(), dwarf_global_formref(), dwarf_formaddr(),
1404dwarf_formflag(), dwarf_formudata(), dwarf_formsdata(), dwarf_formblock,
1405dwarf_formstring() and tests for them.
1406
1407Version 0.2:
1408
1409Implemented dwarf_offdie()), dwarf_tag(), dwarf_dieoffset(),
1410dwarf_die_CU_offset(), dwarf_diename() and tests for them.
1411
1412Version 0.1:
1413
1414First libdwarf functions work.
1415
1416Version 0.0:
1417
1418libelf and parts of libebl are done.