blob: 9a0774d0ee14edfc3c897d206d6307ecfa5cd283 [file] [log] [blame]
Ulrich Drepperfdc93e12009-01-17 11:47:10 -080012009-01-17 Ulrich Drepper <drepper@redhat.com>
2
Ulrich Drepper935edde2009-01-17 16:06:42 -08003 * readelf.c (print_debug_exception_table): Show target of ar_disp
4 field.
5
6 * elflint.c (check_program_header): Add most consistency checks for
7 PT_GNU_EH_FRAME entry.
8
Ulrich Drepperfdc93e12009-01-17 11:47:10 -08009 * addr2line.c: Use ARGP_PROGRAM_VERSION_HOOK_DEF and
10 ARGP_PROGRAM_BUG_ADDRESS_DEF.
11 * ar.c: Likewise.
12 * elfcmp.c: Likewise.
13 * elflint.c: Likewise.
14 * findtextrel.c: Likewise.
15 * ld.c: Likewise.
16 * nm.c: Likewise.
17 * objdump.c: Likewise.
18 * ranlib.c: Likewise.
19 * readelf.c: Likewise.
Ulrich Drepper935edde2009-01-17 16:06:42 -080020
Ulrich Drepperfdc93e12009-01-17 11:47:10 -080021 * size.c: Likewise.
22 * strings.c: Likewise.
23 * strip.c: Likewise.
24 * unstrip.c: Likewise.
25
Ulrich Drepperb006fbf2009-01-16 03:08:25 -0800262009-01-16 Ulrich Drepper <drepper@redhat.com>
27
Ulrich Drepper3a52c7a2009-01-16 21:11:49 -080028 * elflint.c (check_program_header): Check that PT_GNU_EH_FRAME entry
29 matches .eh_frame_hdr section, if it is available. Also check that
30 the segment is allocated, not writable, not executable.
31
Ulrich Drepperb006fbf2009-01-16 03:08:25 -080032 * readelf.c: Add -e option. Dump exception and unwind related
33 sections. Add -e to -a.
Ulrich Drepper05d2b202009-01-16 17:58:54 -080034 (print_encoding_base): Handle DW_EH_PE_omit.
Ulrich Drepperb006fbf2009-01-16 03:08:25 -080035 (print_debug_exception_table): Beginning of support.
36 (print_debug): Hook up print_debug_exception_table for
37 .gcc_except_table sections.
38
39 * readelf.c (print_debug_frame_section): Some fixes for last change.
40
Ulrich Drepper351bf202009-01-15 20:18:40 -0800412009-01-15 Ulrich Drepper <drepper@redhat.com>
42
43 * readelf.c (print_encoding): Now a toplevel function.
44 (print_relinfo): Likewise.
45 (print_encoding_base): Broken out of print_debug_frame_section.
46 (print_debug_frame_section): Print different header for .eh_frame
47 sections. Fix recognition of matching CIEs in .debug_frame sections.
48 Print absolute offset for PC-relative FDE locations. Don't print
49 table header for FDEs if the table is empty.
50 (read_encoded): New function.
51 (print_debug_frame_hdr_section): New function.
52 (print_debug): Hook up print_debug_frame_hdr_section for .eh_frame_hdr
53 sections.
54
55 * readelf.c (handle_relocs_rel): Print section number.
56 (print_debug_abbrev_section): Likewise.
57 (print_debug_aranges_section): Likewise.
58 (print_debug_ranges_section): Likewise.
59 (print_debug_info_section): Likewise.
60 (print_debug_line_section): Likewise.
61 (print_debug_loc_section): Likewise.
62 (print_debug_macinfo_section): Likewise.
63 (print_debug_pubnames_section): Likewise.
64 (print_debug_str_section): Likewise.
65
Ulrich Drepper8b394632009-01-10 18:29:56 -0800662009-01-10 Ulrich Drepper <drepper@redhat.com>
67
68 * strings.c (read_block): Fix typo in error message string.
69
Ulrich Drepper87cf5832009-01-07 20:39:21 -0800702009-01-07 Ulrich Drepper <drepper@redhat.com>
71
72 * ld.c (ld_new_searchdir): Fix adding to search path list.
73
Ulrich Drepperac194d02009-01-06 00:30:01 -0800742009-01-06 Ulrich Drepper <drepper@redhat.com>
75
76 * readelf.c: Implement call frame debug section dumping.
77
Ulrich Drepper44173ed2009-01-01 19:00:41 -0800782009-01-01 Ulrich Drepper <drepper@redhat.com>
79
80 * addr2line.c: Update copyright year.
81 * ar.c: Likewise.
82 * elfcmp.c: Likewise.
83 * elflint.c: Likewise.
84 * findtextrel.c: Likewise.
85 * ld.c: Likewise.
86 * nm.c: Likewise.
87 * objdump.c: Likewise.
88 * ranlib.c: Likewise.
89 * readelf.c: Likewise.
90 * size.c: Likewise.
91 * strings.c: Likewise.
92 * strip.c: Likewise.
93 * unstrip.c: Likewise.
94
Roland McGrath468fe4d2008-12-11 21:00:12 -0800952008-12-11 Roland McGrath <roland@redhat.com>
96
97 * nm.c (sym_name): New function.
98 (show_symbols_sysv): Use it in place of elf_strptr.
99 (show_symbols_bsd, show_symbols_posix): Likewise.
100 Fixes RHBZ#476136.
101
102 * nm.c (show_symbols_sysv): Use an alloca'd backup section name when
103 elf_strptr fails.
104
Roland McGratha845f682008-12-03 03:41:58 +00001052008-12-02 Roland McGrath <roland@redhat.com>
106
107 * readelf.c (count_dwflmod, process_file): Don't presume encoding of
108 nonzero OFFSET argument to dwfl_getmodules.
109
Roland McGrath1d8bb252008-08-07 08:39:41 +00001102008-08-07 Roland McGrath <roland@redhat.com>
111
112 * addr2line.c (main): Pass string to handle_address.
113 (see_one_module): New function, subroutine of handle_address.
114 (find_symbol): Likewise.
115 (handle_address): Take string argument rather than address.
116 Convert plain number, or handle strings like "(section)+offset"
117 or "symbol+offset".
118
1192008-08-01 Roland McGrath <roland@redhat.com>
120
121 * readelf.c (handle_core_item): Handle 'B' type for 1-origin bitset.
122 For 'b' and 'B', print <x-y,z> or ~<x,y-z> rather than 1/0 string.
123
124 * readelf.c (convert): Take new argument SIZE.
125 (handle_core_register, handle_core_item): Update callers.
126 (handle_core_item): Take new arg REPEATED_SIZE.
127 (handle_core_items): Special case for a singleton item,
128 let handle_core_item handle repeats if it wants to.
129
130 * readelf.c (handle_core_items): Give abridged output
131 for identical groups repeated more than twice.
132
1332008-07-04 Roland McGrath <roland@redhat.com>
134
135 * readelf.c (handle_core_items): Handle ELF_T_ADDR.
136
Roland McGrath521c47d2008-04-11 07:01:58 +00001372008-04-10 Roland McGrath <roland@redhat.com>
138
139 * strip.c (handle_elf): Don't keep sections that kept symbol tables
140 refer to. Instead, just be sure to preserve the original symbol
141 table in the debug file so those symbols go with their sections and
142 can be elided from the stripped version of the symbol table.
143
144 * strip.c (handle_elf): When a discarded section kept in the debug
145 file refers to a nondiscard section via sh_link/sh_info, preserve
146 that nondiscarded section unmodified in the debug file as well.
147 Skip adjustment of discarded sections symbol table references when
148 that symbol table is copied in this way.
149
150 * elflint.c (check_symtab): Don't crash from missing symbol names
151 after diagnosing bogus strtab.
152
153 * strip.c (handle_elf): Cosmetic cleanup in special section contents
154 adjustment for symtab changes.
155
Roland McGrath13b69602008-04-01 02:30:05 +00001562008-03-31 Roland McGrath <roland@redhat.com>
157
158 * elflint.c (check_sections): Add checks on SHF_EXECINSTR sections:
159 must be SHT_PROGBITS, must not be SHF_WRITE. Let backend hook
160 excuse a special section.
161
1622008-03-27 Roland McGrath <roland@redhat.com>
163
164 * elflint.c (check_sections): Check that executability and writability
165 of sections is reflected in segment p_flags.
166
Roland McGrathd11f9cb2008-03-26 20:51:59 +00001672008-03-26 Roland McGrath <roland@redhat.com>
168
169 * elflint.c (check_program_header): Accept PT_GNU_RELRO p_flags
170 that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really
171 is valid in RELRO.
172
Roland McGrath47c5c352008-02-29 10:17:16 +00001732008-02-29 Roland McGrath <roland@redhat.com>
174
175 * readelf.c (print_attributes): Add a cast.
176 * elflint.c (check_attributes): Likewise.
177
178 * unaligned.h (add_8ubyte_unaligned): Cast PTR argument for parity
179 with [UNALIGNED_ACCESS_CLASS == BYTE_ORDER] definition.
180 (add_4ubyte_unaligned, add_2ubyte_unaligned): Likewise.
181
Ulrich Drepper834de6f2008-02-23 06:50:01 +00001822008-02-03 Ulrich Drepper <drepper@redhat.com>
183
184 * i386_ld.c (elf_i386_count_relocations): Implement R_386_TLS_GD
185 when linked into executable.
186 (elf_i386_create_relocations): Likewise.
187
Roland McGrath059c83e2008-02-21 06:19:39 +00001882008-02-20 Roland McGrath <roland@redhat.com>
189
190 * readelf.c (print_attributes): New function.
191 (process_elf_file): Call it under -A.
192
193 * elflint.c (check_attributes): Implement it for real.
194
1952008-02-19 Roland McGrath <roland@redhat.com>
196
197 * elflint.c (special_sections): Handle .gnu.attributes section.
198 (check_sections): Likewise.
199 (check_attributes): New function.
200
2012008-02-10 Roland McGrath <roland@redhat.com>
202
203 * elfcmp.c (main): Ignore sh_offset differences in non-SHF_ALLOC
204 sections and ET_REL files.
205
Ulrich Drepper712d78e2008-02-02 10:01:53 +00002062008-02-02 Ulrich Drepper <drepper@redhat.com>
207
208 * elf32-i386.script: Add .eh_frame_hdr, .tdata, and .tbss sections.
209 * i386_ld.c (elf_i386_count_relocations): Handle R_386_TLS_LDO_32
210 and R_386_TLS_LE.
211 (elf_i386_create_relocations): Likewise.
212 * ld.h (struct ld_state): Add need_tls, tls_start, and tls_tcb
213 elements.
214 * ldgeneric.c (add_section): If TLS section is used, set need_tls flag.
215 (ld_generic_create_outfile): Add PT_TLS entry to program header.
216 Fix generation of PT_GNU_STACK entry.
217
Ulrich Drepperc54785a2008-02-01 18:05:21 +00002182008-02-01 Ulrich Drepper <drepper@redhat.com>
219
Ulrich Drepper7cd1bf72008-02-01 23:52:59 +0000220 * ld.c (replace_args): Prevent loop over replacements if the parameter
221 is only two characters long.
222
Ulrich Drepperc54785a2008-02-01 18:05:21 +0000223 * ld.c: Recognize sha1 argument for --build-id parameter.
224 * ldgeneric.c (create_build_id_section): Handle sha1.
225 (compute_hash_sum): New function. Broken out of compute_build_id.
226 Take hash function and context as parameters.
227 (compute_build_id): Use compute_hash_sum for md5 and the new sha1
228 implementation.
229
Ulrich Drepper89759c72008-01-31 19:44:12 +00002302008-01-31 Ulrich Drepper <drepper@redhat.com>
231
232 * elf32-i386.script: Add .note.ABI-tag and .note.gnu.build-id sections.
233 * ld.c: Recognize --build-id command line parameter.
234 * ld.h: Define scn_dot_note_gnu_build_id.
235 (struct ld_state): Add build_id and buildidscnidx elements.
236 * ldgeneric.c: Implement --build-id command line parameter.
237 * ldlex.l (ID): Recognize - as valid character after the first one.
238
Ulrich Drepper5530ec52008-01-29 10:42:07 +00002392008-01-29 Ulrich Drepper <drepper@redhat.com>
240
Ulrich Drepperb61c4cc2008-01-30 07:16:28 +0000241 * ld.c (replace_args): New function.
242 (main): Use it to rewrite old-style parameters.
243
Ulrich Dreppered9b6cb2008-01-30 06:33:33 +0000244 * elf32-i386.script: Add .gnu.hash section.
245 * ldgeneric.c (optimal_bucket_size): A tiny bit more efficient.
246 (fillin_special_symbol): Initialize st_size.
247 (sortfct_hashval): New function.
248 (create_gnu_hash): New function.
249 (create_hash): New function.
250 (ld_generic_create_outfile): Use the new functions to create the
251 hash tables.
252
Ulrich Drepper5530ec52008-01-29 10:42:07 +0000253 * elflint.c (check_gnu_hash): Fix index value printed in error message.
254
Ulrich Drepper0e864dd2008-01-25 00:18:42 +00002552008-01-24 Ulrich Drepper <drepper@redhat.com>
256
257 * elflint.c (check_group): Check that signature symbol for section
258 group is not an empty string.
259 * ldgeneric.c: Remove magic assignment of indeces in the dynsym
260 section. Start implementation of --hash-style.
261 * i386_ld.c: Likewise.
262 * ld.c: Recognize --hash-style.
263 * ld.h (struct scninfo): Add comdat_group.
264 Add additional parameter to finalize_plt callback.
265
Ulrich Drepper5449a6b2008-01-22 15:49:39 +00002662008-01-22 Ulrich Drepper <drepper@redhat.com>
267
268 * ld.h (struct callbacks): Add initialize_gotplt.
269 (struct scnhead): Add scn_dot_gotplt.
270 (struct ld_state): Add gotpltscnidx.
271 * i386_ld.c (elf_i386_initialize_plt): Minor optimization.
272 (elf_i386_initialize_pltrel): Likewise.
273 (elf_i386_initialize_got): There is now a separate .got.plt, so
274 don't do the PLT-related work here. Initialize d_type.
275 (elf_i386_initialize_gotplt): New function.
276 (elf_i386_plt0): Use ud2a after indirect jump.
277 (elf_i386_pic_plt0_entry): Likewise.
278 (elf_i386_finalize_plt): Reference now .got.plt.
279 (elf_i386_count_relocations): For GOT entries which need no relocation
280 don't bump nrel_got.
281 (elf_i386_create_relocations): Also get .got.plt. Rewrite R-386_GOT32
282 handling for split .got/.got.plt.
283 (elf_i386_ld_init): Initialize callbacks.initialize_gotplt.
284 * elf32-i386.script: Sort sections for security. There are no .got
285 input sections. Add .got.plt.
286 * ldgeneric.c (ld_generic_generate_sections): Add .got.plt section.
287 (ld_generic_create_outfile): Initialize .got.plt section.
288 Use .got.plt address for _GLOBAL_OFFSET_TABLE_ symbol and DT_PLTGOT.
289
Ulrich Drepperd9488292008-01-20 16:43:15 +00002902008-01-19 Ulrich Drepper <drepper@redhat.com>
291
292 * i386_ld.c (elf_i386_count_relocations): PLT relocations for undefined
293 symbols are not carried over into statically linked output files.
294 Add dummy entries for more TLS relocations.
295
296 * ld.c (options): Add long names for -( and -).
297
298 * ldgeneric.c (check_definition): For newly found definitions don't
299 mark section as used if symbol is absolute.
300 (extract_from_archive): Only assign archive sequence number the first
301 time the archive is handled. Update ld_state.last_archive_used
302 if any symbol was used. Remove nround variable.
303 (file_process2): When using symbol from an archive, update
304 ld_state.group_start_archive, ld_state.archives, and
305 ld_state.tailarchives.
306 (ld_generic_file_process): If group is not handled anymore, after
307 freeing ELF handles for the archives, clear ld_state.archives and
308 *nextp. Fix wrong logic in recognizing first iteration of group
309 loop. When clearing flags, also clear ld_state.group_start_archive.
310
Ulrich Drepper5eee1222008-01-11 10:12:18 +00003112008-01-11 Ulrich Drepper <drepper@redhat.com>
312
313 * objdump.c (show_disasm): Adjust disassembler format string for
314 removal of %e.
315
Ulrich Dreppere219f1c2008-01-09 05:49:49 +00003162008-01-04 Roland McGrath <roland@redhat.com>
317
Roland McGrath059c83e2008-02-21 06:19:39 +0000318 * readelf.c (handle_core_items): Take new arg DESCSZ; if nonzero,
319 a size greater than the items cover means multiple sets of items.
320 (handle_core_note): Update caller.
321
3222008-01-04 Roland McGrath <roland@redhat.com>
323
Ulrich Dreppere219f1c2008-01-09 05:49:49 +0000324 * strip.c (handle_elf): Move SHDRIDX defn to silence gcc warning.
325
3262008-01-03 Roland McGrath <roland@redhat.com>
327
328 * ld.h (linked_from_dso_p): Use __attribute__ ((__gnu_inline__)).
329
330 * elflint.c (check_dynamic): Remove duplicate initializer.
331
Ulrich Drepperad024af2008-01-02 17:42:52 +00003322008-01-02 Ulrich Drepper <drepper@redhat.com>
333
334 * addr2line.c: Update copyright year.
335 * ar.c: Likewise.
336 * elfcmp.c: Likewise.
337 * elflint.c: Likewise.
338 * findtextrel.c: Likewise.
339 * ld.c: Likewise.
340 * nm.c: Likewise.
341 * objdump.c: Likewise.
342 * ranlib.c: Likewise.
343 * readelf.c: Likewise.
344 * size.c: Likewise.
345 * strings.c: Likewise.
346 * strip.c: Likewise.
347 * unstrip.c: Likewise.
348
Ulrich Drepper3cbdd382008-01-02 17:44:39 +00003492007-12-30 Ulrich Drepper <drepper@redhat.com>
350
351 * objdump (show_disasm): Use %e after third parameter.
352
3532007-12-21 Ulrich Drepper <drepper@redhat.com>
354
355 * strip.c: Fix wrong parenthesis in a few branch predictions.
356 * strings.c: Likewise.
357
3582007-12-20 Ulrich Drepper <drepper@redhat.com>
359
360 * Makefile.am (DEFS): Add DEBUGPRED.
361 * addr2line.c: Include debugpred.h.
362 * ar.c: Likewise.
363 * elfcmp.c: Likewise.
364 * elflint.c: Likewise.
365 * findtextrel.c: Likewise.
366 * nm.c: Likewise.
367 * objdump.c: Likewise.
368 * ranlib.c: Likewise.
369 * readelf.c: Likewise.
370 * size.c: Likewise.
371 * strings.c: Likewise.
372 * strip.c: Likewise.
373 * unstrip.c: Likewise.
374 * debugpred.h: New file.
375
376 * readelf.c (handle_relocs_rel): Use elf_scnshndx.
377 (handle_relocs_rela): Likewise.
378
379 * readelf.c: Add lots of likely/unlikely.
380
381 * elflint.c: Minor cleanups.
382
Roland McGrath1a2e8f42007-12-15 23:39:34 +00003832007-11-19 Roland McGrath <roland@redhat.com>
384
385 * readelf.c (print_ops): Handle all bad op codes gracefully.
386 Print their numbers instead of just ???.
387
Roland McGrath07a696e2007-11-09 22:44:26 +00003882007-11-09 Roland McGrath <roland@redhat.com>
389
390 * readelf.c (attr_callback): Handle DW_AT_data_location.
Roland McGrath1a2e8f42007-12-15 23:39:34 +0000391 Handle block forms to mean a DWARF expression for DW_AT_allocated,
392 DW_AT_associated, DW_AT_bit_size, DW_AT_bit_offset, DW_AT_bit_stride,
393 DW_AT_byte_size, DW_AT_byte_stride, DW_AT_count, DW_AT_lower_bound,
394 DW_AT_upper_bound.
Roland McGrath07a696e2007-11-09 22:44:26 +0000395
Roland McGrathe4c22ea2007-10-23 13:07:39 +00003962007-10-20 Roland McGrath <roland@redhat.com>
397
398 * unstrip.c (options): Update -R description.
399 (struct symbol): Put symbol details a union with a size_t pointer
400 `duplicate'.
401 (compare_symbols_output): Use null ->name as marker for discard
402 symbols, not zero *->map.
403 (copy_elided_sections): Record forwarding pointers for discarded
404 duplicates and fill SYMNDX_MAP elements through them.
405
406 * readelf.c (process_file): Set offline_next_address to 0 at start.
407 (struct process_dwflmod_args): New type.
408 (process_dwflmod): Take args in it, pass fd to process_elf_file.
409 (process_file): Update caller; dup FD for passing to libdwfl.
410 (process_elf_file): Take new arg FD. For ET_REL file when
411 displaying data affected by libdwfl relocation, open a new Elf handle.
412
4132007-10-17 Roland McGrath <roland@redhat.com>
414
415 * readelf.c (print_debug_line_section): For invalid data inside a
416 unit with plausible length, keep printing at the next unit boundary.
417
418 * readelf.c (attr_callback): Use dwarf_formref_die, not dwarf_formref.
419
4202007-10-16 Roland McGrath <roland@redhat.com>
421
422 * readelf.c (hex_dump): Fix rounding error in whitespace calculation.
423
Ulrich Drepperb597dfa2007-10-16 05:21:27 +00004242007-10-15 Roland McGrath <roland@redhat.com>
425
426 * make-debug-archive.in: New file.
427 * Makefile.am (EXTRA_DIST): Add it.
428 (make-debug-archive): New target.
429 (bin_SCRIPTS, CLEANFILES): Add it.
430
4312007-10-10 Roland McGrath <roland@redhat.com>
432
433 * elflint.c (special_sections): Add new attrflag value exact_or_gnuld.
434 Use it to check MERGE|STRINGS for .debug_str.
435 (check_sections): Handle exact_or_gnuld.
436
4372007-10-08 Roland McGrath <roland@redhat.com>
438
439 * readelf.c (handle_core_item): Handle 'T'|0x80 to indicate
440 64-bit struct timeval with 32-bit tv_usec.
441
4422007-10-07 Roland McGrath <roland@redhat.com>
443
444 * readelf.c (check_archive_index): New function.
445 (process_file): Call it. Change signature to take only fd and name.
446 Use libdwfl to open the file, then iterate on its modules (multiple
447 for an archive) to print file name and call process_elf_file.
448 (main): Update caller. Let process_file do elf_begin.
449 (count_dwflmod, process_dwflmod, find_no_debuginfo): New functions.
450 (process_elf_file): Take only Dwfl_Module * argument.
451 Don't print the file name here.
452 (print_debug_*_section): Take Dwfl_Module * argument.
453 (print_debug): Likewise. Update caller.
454 (format_dwarf_addr): New function.
455 (print_debug_ranges_section): Use it.
456 (attr_callback): Likewise.
457 (print_debug_line_section, print_debug_loc_section): Likewise.
458
459 * readelf.c (print_debug_ranges_section): Translate all strings.
460 (print_debug_loc_section): Likewise.
461
462 * unstrip.c (copy_elided_sections): Initialize SEC.
463
464 * ar.c (do_oper_insert): Put trailing / on short names.
465
466 * arlib.h (MAX_AR_NAME_LEN): Decrease by one.
467
468 * arlib2.c (arlib_add_long_name): Adjust for header size.
469
470 * arlib.c (arlib_finalize): Pad long name table to keep size even.
471
472 * ar.c (do_oper_insert): Use write_retry for padding write.
473
474 * ar.c (do_oper_insert): Initialize CUR_OFF in no_old case.
475 Unconditionally set FOUND[CNT]->elf when setting ->mem.
476 (remember_long_name): New function.
477 (do_oper_insert): Call it. Correctly use length of basename,
478 not original name. Don't store long name twice for new member.
479
4802007-10-06 Roland McGrath <roland@redhat.com>
481
482 * elflint.c (check_note): Skip empty segment.
483 (check_note_section): Skip empty section.
484
485 * unstrip.c (options, parse_opt, struct arg_info): Grok -R/--relocate.
486 (handle_output_dir_module, handle_implicit_modules): Pass it down.
487 (handle_dwfl_module): When set, use ET_REL already loaded by Dwfl.
488 (compare_alloc_sections): Take new arg REL, ignore address if true.
489 (compare_sections): Likewise, pass it down.
490 (compare_sections_rel, compare_sections_nonrel): New functions.
491 (find_alloc_sections_prelink, copy_elided_sections): Use them
492 instead of compare_sections.
493 (sections_match): New function, broken out of ...
494 (find_alloc_section): ... here.
495 (copy_elided_sections): Reorganize section match-up logic.
496 Use sections_match for SHF_ALLOC in ET_REL.
497 For ET_REL, let the nonzero sh_addr from the debug file dominate.
498
499 * unstrip.c (add_new_section_symbols): Take new arg REL.
500 When true, do not update section symbol values.
501 (collect_symbols): Likewise. Update section symbols with address
502 of chosen output section, not original section.
503 (check_symtab_section_symbols, copy_elided_sections): Update callers.
504
505 * unstrip.c (compare_alloc_sections): At the same address, preserve
506 original section order.
507
508 * elflint.c (special_sections): Don't require MERGE|STRINGS for
509 .debug_str, it didn't always have them with older tools.
510
511 * elflint.c (check_symtab, check_one_reloc): Ignore sh_addr in ET_REL.
512
5132007-10-05 Roland McGrath <roland@redhat.com>
514
515 * elflint.c (check_symtab): Allow SHN_UNDEF _GLOBAL_OFFSET_TABLE_ in
516 ET_REL file.
517
518 * elflint.c (check_symtab): For _GLOBAL_OFFSET_TABLE_, diagnose
519 SHN_UNDEF as "bad section". Use shndx value in messages.
520
521 * elflint.c (special_sections): Add ".debug_str". Decrement namelen
522 for ".debug" so it matches as a prefix.
523 (IS_KNOWN_SPECIAL): New macro.
524 (check_sections): Use it for ".plt" match. Cite wrong SHT_NOBITS
525 type even under -d, for a .debug* or .shstrtab section.
526
527 * readelf.c (print_ops): Use hex for address operand.
528
5292007-10-04 Roland McGrath <roland@redhat.com>
530
531 * unstrip.c (copy_elided_sections): Initialize NDX_SECTION element for
532 .gnu_debuglink section to SHN_UNDEF. Drop STT_SECTION symbols for
533 sections mapped to SHN_UNDEF.
534
Ulrich Drepper3fc3d7b2007-10-04 18:40:28 +00005352007-10-04 Ulrich Drepper <drepper@redhat.com>
536
537 * readelf.c (dump_archive_index): Avoid warning about uninitialized
538 variable with older glibc versions.
539 Add some branch prediction.
540
Roland McGrath59ea7f32007-10-04 08:50:09 +00005412007-10-04 Roland McGrath <roland@redhat.com>
542
543 * readelf.c (print_archive_index): New variable.
544 (options, parse_opt): Accept -c/--archive-index to set it.
545 (dump_archive_index): New function.
546 (process_file): Take new arg WILL_PRINT_ARCHIVE_INDEX.
547 Call dump_archive_index on archives if set.
548 (main): Update caller.
549 (any_control_option): Give it file scope, moved out of ...
550 (parse_opt): ... here.
551
5522007-10-03 Roland McGrath <roland@redhat.com>
553
554 * unstrip.c (struct arg_info): Add `list' flag.
555 (options, parse_opt): Grok -n/--list to set it.
556 (list_module): New function.
557 (handle_implicit_modules): Call it under -n.
558
559 * elflint.c (check_note_section): New function.
560 (check_sections): Call it for SHT_NOTE.
561
562 * readelf.c (handle_notes): Use sections when available.
563
564 * elflint.c (check_note_data): New function, broken out of ...
565 (check_note): ... here. Call it and elf_getdata_rawchunk.
566
567 * readelf.c (handle_auxv_note): Take offset as argument, not buffer.
568 Use elf_getdata_rawchunk and gelf_getauxv.
569 (handle_notes_data): New function, broken out of ...
570 (handle_notes): ... here. Call it and elf_getdata_rawchunk.
571
Roland McGrath241ac022007-10-01 18:21:46 +00005722007-10-01 Roland McGrath <roland@redhat.com>
573
Roland McGrathac0a16c2007-10-01 18:50:35 +0000574 * readelf.c (hex_dump): Fix transposed subtraction generating spaces.
575
Roland McGrath241ac022007-10-01 18:21:46 +0000576 * readelf.c (hex_dump): Fix line header to be hex instead of decimal.
577
Roland McGrathc76f0b02007-09-27 07:31:33 +00005782007-09-10 Roland McGrath <roland@redhat.com>
579
580 * readelf.c (options): Give -p optional argument, alias --string-dump.
581 (string_sections, string_sections_tail): New static variables.
582 (parse_opt): Set them when -p has an argument.
583 (print_string_section): New function, broken out of ...
584 (print_strings): ... here. Call it.
585 (dump_data_section): New function, broken out of ...
586 (dump_data): ... here. Call it.
587 (for_each_section_argument): New function, broken out of ...
588 (dump_data): ... here. Call it.
589 (dump_strings): New function.
590
5912007-08-31 Roland McGrath <roland@redhat.com>
592
593 * readelf.c (print_strings): Typo fix.
594
Roland McGrathcb6d8652007-08-23 08:10:54 +00005952007-08-23 Roland McGrath <roland@redhat.com>
596
597 * readelf.c (printf_with_wrap): Function removed.
598 (REGISTER_WRAP_COLUMN): New macro.
599 (handle_core_register): Use print_core_item instead.
600 (struct register_info): New type.
601 (compare_registers, compare_register_sets): New functions.
602 (register_bitpos, compare_sets_by_info): New functions.
603 (handle_core_registers): Use those to segregate and sort registers
604 for display.
605
606 * readelf.c (ITEM_WRAP_COLUMN): New macro.
607 (print_core_item): New function.
608 (handle_core_item): Use it instead of printf_with_wrap.
609 (compare_core_items, compare_core_item_groups): New functions.
610 (handle_core_items): Use them. Sort by group and force line breaks
611 between groups.
612
613 * readelf.c (handle_core_registers, handle_core_items): New functions,
614 broken out of ...
615 (handle_core_note): ... here. Call them.
616
6172007-08-22 Roland McGrath <roland@redhat.com>
618
619 * unstrip.c (new_shstrtab): New function, broken out of ...
620 (copy_elided_sections): ... here.
621
6222007-08-20 Roland McGrath <roland@redhat.com>
623
624 Avoid local function trampolines in nm binary.
625 * nm.c (sort_by_address): Move to a static function instead of local
626 inside show_symbols.
627 (sort_by_name_strtab): New static variable.
628 (sort_by_name): Use it. Move to a static function instead of local
629 inside show_symbols.
630 (show_symbols): Set sort_by_name_strtab.
631
6322007-08-19 Roland McGrath <roland@redhat.com>
633
634 * readelf.c (handle_auxv_note): New function.
635 (handle_notes): Call it.
636
637 * readelf.c (printf_with_wrap, convert): New functions.
638 (handle_core_item, (handle_core_register): New functions.
639 (handle_notes): Call those with details from ebl_core_note.
640
Roland McGrath099dd522007-08-13 22:58:36 +00006412007-08-12 Roland McGrath <roland@redhat.com>
642
643 * elflint.c (check_note): Accept type 0 with name "Linux".
644
645 * elflint.c (special_sections): Accept SHF_ALLOC for ".note".
646
647 * elflint.c (section_flags_string): Return "none" for 0, not "".
648
Roland McGrathd8221722007-08-11 21:18:09 +00006492007-08-11 Roland McGrath <roland@redhat.com>
650
651 * elflint.c (check_note): Accept NT_GNU_HWCAP, NT_GNU_BUILD_ID.
652
Ulrich Drepperc98bcc72007-08-04 17:06:14 +00006532007-08-04 Ulrich Drepper <drepper@redhat.com>
654
655 * readelf.c (hex_dump): Use isprint to determine whether to print
656 character itself or full stop character.
657 (dump_data): No need to check endp for NULL after strtol call.
658
Roland McGrath60fc84c2007-08-03 21:59:15 +00006592007-08-03 Roland McGrath <roland@redhat.com>
660
661 * readelf.c (print_string_sections): New variable.
662 (options, parse_opt): Handle --strings/-p to set it.
663 (print_strings): New function.
664 (process_elf_file): Call it under -p.
665
666 * readelf.c (options): Add hidden aliases --segments, --sections,
667 as taken by binutils readelf.
668
6692007-08-01 Roland McGrath <roland@redhat.com>
670
671 * readelf.c (dump_data_sections, dump_data_sections_tail):
672 New variables.
673 (options, parse_opt): Handle --hex-dump/-x, set them.
674 (hex_dump): New function.
675 (dump_data): New function, call it.
676 (process_elf_file): Call it.
677
6782007-07-25 Roland McGrath <roland@redhat.com>
679
680 * addr2line.c (show_symbols): New variable.
681 (print_addrsym): New function.
682 (handle_address): Call it.
683 (options, parse_opt): Handle -S/--symbols.
684
Ulrich Drepperb0243862007-06-06 00:09:36 +00006852007-06-05 Ulrich Drepper <drepper@redhat.com>
686
687 * addr2line.c: Update for latest autoconf header.
688 * ar.c: Likewise.
689 * elfcmp.c: Likewise.
690 * elflint.c: Likewise.
691 * findtextrel.c: Likewise.
692 * ld.c: Likewise.
693 * ldgeneric.c: Likewise.
694 * nm.c: Likewise.
695 * objdump.c: Likewise.
696 * ranlib.c: Likewise.
697 * readelf.c: Likewise.
698 * size.c: Likewise.
699 * strings.c: Likewise.
700 * strip.c: Likewise.
701 * unstrip.c: Likewise.
702
Roland McGrath9aa8ef72007-05-18 08:59:43 +00007032007-05-18 Roland McGrath <roland@redhat.com>
704
705 * unstrip.c (copy_elided_sections): Match up non-NOBITS sections with
706 stripped file, so as not to duplicate a section copied in both.
707
708 * strip.c (handle_elf): Keep SHT_NOTE section copies in the debug file.
709
7102007-05-17 Roland McGrath <roland@redhat.com>
711
712 * unstrip.c (copy_elided_sections): Don't call gelf_newphdr for 0.
713
714 * unstrip.c (handle_file): Tweak BIAS != 0 warning.
715
716 * unstrip.c (handle_file): Take new arg CREATE_DIRS. If set,
717 call make_directories here.
718 (handle_explicit_files): Take new arg CREATE_DIRS, pass it down.
719 (handle_dwfl_module): Likewise.
720 (handle_implicit_modules): Update callers.
721 (handle_output_dir_module): Likewise. Don't do make_directories here.
722
723 * unstrip.c (get_section_name): New function, broken out of ...
724 (copy_elided_sections): here. Update callers.
725 (find_alloc_section): Broken out of ...
726 (copy_elided_sections): ... here. Update caller.
727 (symtab_count_leading_section_symbols): Take new arg NEWSYMDATA,
728 update STT_SECTION symbols' st_value fields as a side effect.
729 (check_symtab_section_symbols): Update caller.
730 (add_new_section_symbols): Set st_value in symbols added.
731 (collect_symbols): Reset S->value for STT_SECTION symbols recorded.
732 Take new arg SPLIT_BSS. Adjust S->shndx recorded for symbols moved
733 from .bss to .dynbss.
734 (find_alloc_sections_prelink): New function. Associate debug file
735 allocated SHT_NOBITS shdrs with stripped moved by prelink via
736 .gnu.prelink_undo information.
737 (copy_elided_sections): Call it when we couldn't find every allocated
738 section. Don't use a debug file non-NOBITS section if SHF_ALLOC.
739 Take STRIPPED_EHDR arg instead of E_TYPE and PHNUM.
740 (handle_file): Update callers.
741
742 * unstrip.c (copy_elided_sections): Ignore unfound unallocated section
743 named ".comment".
744
745 * elflint.c (check_sections): Fix association of segments with
746 sections when p_memsz > p_filesz.
747
7482007-04-29 Roland McGrath <roland@redhat.com>
749
750 * addr2line.c (options, main): Tweak argp group settings to fix
751 usage output.
752
7532007-04-28 Roland McGrath <roland@redhat.com>
754
755 * strip.c (handle_elf): Update debug file's SHT_NOBITS sections'
756 sizes to match sections adjusted in the stripped file.
757
Roland McGrath4be15242007-04-25 03:09:33 +00007582007-04-24 Roland McGrath <roland@redhat.com>
759
760 * elfcmp.c (OPT_HASH_INEXACT): New macro.
761 (hash_inexact): New variable.
762 (options, parse_opt): Add --hash-inexact option to set it.
763 (hash_content_equivalent): New function.
764 (main): Call it for differing SHT_HASH sections under --hash-inexact.
765
7662007-04-23 Roland McGrath <roland@redhat.com>
767
768 * unstrip.c: New file.
769 * Makefile.am (bin_PROGRAMS): Add it.
770 (unstrip_LDADD): New variable.
771
772 * strip.c (options): Allow --output for -o.
773
Ulrich Drepper8b383102007-02-16 00:31:57 +00007742007-02-15 Ulrich Drepper <drepper@redhat.com>
775
776 * readelf.c: Remove unused code. Add a few consts.
777
Ulrich Drepper903c1162007-02-15 19:40:37 +00007782007-02-15 Roland McGrath <roland@redhat.com>
779
780 * readelf.c (print_debug): Fix brainos in SHDR test.
781
Roland McGrathf82a1ec2007-02-06 04:47:44 +00007822007-02-05 Roland McGrath <roland@redhat.com>
783
784 * ar.c: Include <limits.h>, since we use LONG_MAX.
785
Ulrich Drepper0fe63532007-02-05 21:05:51 +00007862007-02-05 Ulrich Drepper <drepper@redhat.com>
787
Ulrich Drepper8b383102007-02-16 00:31:57 +0000788 * ar.c: Add ugly hack to work around gcc complaining that we
Ulrich Drepper93ab56f2007-02-05 22:12:41 +0000789 ignore fchown's return value.
790 (do_oper_insert): Handle error when writing padding.
791 * ranlib.c: Add fchown complain work around.
792
Ulrich Drepper0fe63532007-02-05 21:05:51 +0000793 * arlib.c: Make symtab a global variable. Change all users.
794 * arlib2.c: Likewise.
795 * ranlib.c: Likewise.
796 * ar.c: Likewise.
797 * arlib.h: Declare it.
798
Ulrich Drepperaa915fd2007-02-05 07:25:33 +00007992007-01-11 Roland McGrath <roland@redhat.com>
800
801 * elflint.c (check_sections): Use ebl_machine_section_flag_check on
802 SHF_MASKPROC bits separately from generic sh_flags validation.
803
Ulrich Drepperce0bdb62007-02-05 07:13:52 +00008042007-02-04 Ulrich Drepper <drepper@redhat.com>
805
806 * ar.c: New file.
807 * arlib.c: New file.
808 * arlib2.c: New file.
809 * arlib.h: New file.
810 * Makefile (noinst_LIBRARIES): Add libar.
811 (libar_a_SOURCES): Define.
812 (ar_LDADD): Define.
813 (CFLAGS_ar): Define.
814 * ranlib.c: Change to use arlib.
815
816 * elflint.c (check_symtab): Work around GNU ld bug which omits
817 sections but not symbols in those sections.
818
Ulrich Drepperb770cf92007-01-10 21:02:34 +00008192007-01-10 Ulrich Drepper <drepper@redhat.com>
820
821 * addr2line.c: Update copyright year.
822 * elfcmp.c: Likewise.
823 * elflint.c: Likewise.
824 * findtextrel.c: Likewise.
825 * ld.c: Likewise.
826 * nm.c: Likewise.
827 * objdump.c: Likewise.
828 * ranlib.c: Likewise.
829 * readelf.c: Likewise.
830 * size.c: Likewise.
831 * strings.c: Likewise.
832 * strip.c: Likewise.
833
Ulrich Drepper7c0e79f2006-12-09 21:10:19 +00008342006-12-09 Ulrich Drepper <drepper@redhat.com>
835
836 * elflint.c (compare_hash_gnu_hash): New function. Report if the
837 two hash tables have different content (module expected omission
838 of undefined symbols).
839
Roland McGrath8190db62006-12-17 23:56:51 +00008402006-10-31 Roland McGrath <roland@redhat.com>
841
842 * elflint.c (check_program_header): Don't complain about
Ulrich Drepper56bc0b82006-12-18 22:38:08 +0000843 p_filesz > p_memsz if p_memsz is zero and p_type is PT_NOTE.
Roland McGrath8190db62006-12-17 23:56:51 +0000844
8452006-09-19 Jakub Jelinek <jakub@redhat.com>
846
847 * strip.c (process_file): Disallow -f on archives.
848
8492006-10-09 Roland McGrath <roland@redhat.com>
850
851 * Makefile.am (libld_elf_i386.so): Use $(LINK), not $(CC).
852
Roland McGrathc373d852006-10-10 00:25:21 +00008532006-08-29 Roland McGrath <roland@redhat.com>
854
855 * Makefile.am (MAINTAINERCLEANFILES): New variable.
856
857 * readelf.c (handle_relocs_rel): Typo fix, test DESTSHDR properly.
858 Reported by Christian Aichinger <Greek0@gmx.net>.
859
860 * elflint.c (valid_e_machine): Add EM_ALPHA.
861 Reported by Christian Aichinger <Greek0@gmx.net>.
862
Ulrich Drepper231c5902006-08-08 22:00:11 +00008632006-08-08 Ulrich Drepper <drepper@redhat.com>
864
865 * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
866 Keep track of which "high DT" entries are present.
867 Check that either old or GNU-style hash table is present.
868 If GNU-style hash table is used a symbol table is mandatory.
869 Check that if any prelink entry is present all of them are.
870 (check_gnu_hash): Only fail for undefined symbols in GNU-style hash
871 table if they don't refer to functions.
872
Roland McGrath858b1892006-07-17 08:41:15 +00008732006-07-17 Roland McGrath <roland@redhat.com>
874
875 * elflint.c (struct version_namelist): Use GElf_Versym for `ndx' field.
876 (add_version): Likewise for argument.
877 (check_versym): Cast constant to GElf_Versym for comparison.
878
Roland McGrath4ec807e2006-07-13 03:59:46 +00008792006-07-12 Roland McGrath <roland@redhat.com>
880
881 * readelf.c (handle_gnu_hash): Add casts for machines where
882 Elf32_Word != unsigned int.
883
Ulrich Drepperdcf61602006-07-12 19:59:02 +00008842006-07-12 Ulrich Drepper <drepper@redhat.com>
885
886 * elflint.c (check_sysv_hash64): Fix printf format.
887
Ulrich Dreppercc415622006-07-12 19:42:23 +00008882006-07-11 Roland McGrath <roland@redhat.com>
Ulrich Drepper8ae58142006-07-12 05:22:32 +0000889
Ulrich Dreppercc415622006-07-12 19:42:23 +0000890 * addr2line.c (options): English fix in -f doc string.
891
892 * addr2line.c (use_comp_dir): New variable.
893 (options, parse_opt): Grok -A/--absolute to set it.
894 (handle_address): If set, prepend dwfl_line_comp_dir results to
895 relative file names.
Ulrich Drepper8ae58142006-07-12 05:22:32 +0000896
Ulrich Drepper28ed8952006-07-07 03:43:47 +00008972006-07-06 Ulrich Drepper <drepper@redhat.com>
898
899 * elflint.c: Adjust for latest new hash table format.
900 * readelf.c: Likewise.
901
902 * elflint.c (check_versym): Ignore hidden bit when comparing version
903 numbers.
904
9052006-07-05 Ulrich Drepper <drepper@redhat.com>
906
907 * ldgeneric.c (ld_generic_create_outfile): Correctly recognize
908 discarded COMDAT symbols.
909
910 * i386_ld.c (elf_i386_count_relocations): Lot of corrections.
911 (elf_i386_create_relocations): Likewise.
912 * ld.h (struct symbol): Add local and hidden bits.
913 * ld.c (create_special_section_symbol): These synthsized symbols
914 are local and hidden.
915 * ldgeneric.c (file_process2): Check whether input file matches
916 the emulation.
917 (fillin_special_symbol): Create symbols as local and/or hidden
918 if requested.
919 (ld_generic_create_outfile): Make local copy of symbol.
920 Don't hide global, defined symbols in dynamic symbol table unless
921 requested. Synthetic symbols have no version information.
922
923 * elflint.c: Add support for checking 64-bit SysV-style hash tables.
924 * readelf.c: Add support for printing 64-bit SysV-style hash tables.
925
9262006-07-04 Ulrich Drepper <drepper@redhat.com>
927
928 * elflint.c (is_rel_dyn): Fix and extend DT_RELCOUNT/DT_RELACOUNT
929 testing.
930
9312006-07-03 Ulrich Drepper <drepper@redhat.com>
932
933 * elflint.c: Add testing of DT_GNU_HASH.
934 * readelf.c: Implement showing histogram for DT_GNU_HASH section.
935
936 * Makefile.am: Add hacks to create dependency files for non-generic
937 linker.
938
Ulrich Drepper6ca46002006-06-12 22:40:23 +00009392006-06-12 Ulrich Drepper <drepper@redhat.com>
940
941 * ldgeneric.c (ld_generic_generate_sections): Don't create .interp
942 section if creating a DSO and no interpreter is given.
943 (ld_generic_create_outfile): Don't store reference to symbols in
944 discarded COMDAT groups. Don't create PHDR and INTERP program header
945 for DSO if no interpreter is specified.
Ulrich Drepper595d0e72006-06-12 23:25:17 +0000946 (create_verneed_data): Pretty printing.
947
Ulrich Drepper6ca46002006-06-12 22:40:23 +0000948 * ldscript.y (content): If a DSO is created don't set default
949 interpreter from linker script.
950
951 * i386_ld.c (elf_i386_count_relocations): Do not add relocations
952 for symbols in discarded COMDAT groups.
953 (elf_i386_create_relocations): Likewise.
954 * ld.h (struct scninfo): Add unused_comdat.
955 * ldgeneric.c (add_section): Also check group signature when
956 matching COMDAT sections.
957 (add_relocatable_file): Ignore symbols in COMDAT group which are
958 discarded.
959
960 * elflint.c (check_one_reloc): For *_NONE relocs only check type
961 and symbol reference.
962
Ulrich Drepper54f33a72006-06-11 09:07:37 +00009632006-06-11 Ulrich Drepper <drepper@redhat.com>
964
Ulrich Dreppercbb51e52006-06-11 20:25:23 +0000965 * elflint.c (check_dynamic): Fix checking value of tags which are
966 offsets in the string section. Make sure DT_STRTAB points to the
967 section referenced in sh_link.
968
969 * ld.c (options): Add headers. Add short option 'R' for '--rpath'.
970
Ulrich Drepper54f33a72006-06-11 09:07:37 +0000971 * ld.c: Recognize --eh-frame-hdr option.
972 * ld.h (struct ld_state): Add eh_frame_hdr field.
973 * ldgeneric.c (struct unw_eh_frame_hdr): Define.
974
975 * ldgeneric.c (add_section): Use ebl_sh_flags_combine instead of
976 SH_FLAGS_COMBINE.
977 (add_relocatable_file): Minor optimization of last change.
978 (match_section): Don't preserve SHF_GROUP flag any longer.
979
Ulrich Drepper2d880282006-06-11 00:20:43 +00009802006-06-10 Ulrich Drepper <drepper@redhat.com>
981
982 * ld.c (parse_z_option): Recognize execstack and noexecstack.
Ulrich Drepper4f0a7a82006-06-11 00:53:45 +0000983 Handle record and ignore as position dependent options.
984 (parse_z_option_2): Handle ignore and record here.
Ulrich Drepper2d880282006-06-11 00:20:43 +0000985 * ld.h (struct ld_state): Add execstack field.
986 * ldgeneric.c (add_relocatable_file): Recognize .note.GNU-stack
987 sections.
988 (ld_generic_create_outfile): Fix program header creation in native
989 linker. Add PT_GNU_STACK program header.
990
Ulrich Dreppera688a732006-06-10 06:33:00 +00009912006-06-09 Ulrich Drepper <drepper@redhat.com>
992
993 * i386_ld.c (elf_i386_finalize_plt): Don't change symbol table entries
994 for PLT entries if there is no local definition.
995
996 * ld.c (parse_option): Handle -z ignore like --as-needed and
997 -z record like --no-as-needed.
998 * ld.h (struct ld_state): Remove ignore_unused_dsos field.
999 * ldgeneric.c (new_generated_scn): Always compute ndt_needed by
1000 looping over DSOs. When deciding about adding DT_NEEDED entries
1001 use ->as_needed instead of ignore_unused_dsos.
1002
Ulrich Drepper8c56fe32006-05-31 15:50:43 +000010032006-05-31 Ulrich Drepper <drepper@redhat.com>
Ulrich Drepper11b030e2006-05-28 20:28:19 +00001004
Ulrich Drepper8c56fe32006-05-31 15:50:43 +00001005 * ld.c: Recognize --as-needed and --no-as-needed options.
1006 * ld.h (struct usedfile): Add as_needed field.
1007 (struct ld_state): Likewise.
1008 * ldgeneric.c (ld_handle_filename_list): Copy as_needed flag from
1009 the list.
1010 * ldscript.y (filename_id_list): Split to correctly parse all
1011 combinations.
1012 (mark_as_needed): Fix loop.
Ulrich Drepper11b030e2006-05-28 20:28:19 +00001013
Ulrich Drepper697f4db2006-06-10 06:50:47 +000010142006-05-28 Ulrich Drepper <drepper@redhat.com>
1015
1016 * addr2line.c (print_dwarf_function): Use unsigned type for lineno
1017 and colno.
1018
Ulrich Drepper2cb8e732006-05-27 21:57:27 +000010192006-05-27 Ulrich Drepper <drepper@redhat.com>
1020
1021 * readelf.c (handle_relocs_rela): Better notations for addon value.
Ulrich Drepper41a99082006-05-28 00:01:43 +00001022 (print_ehdr): Distinguish e_ident[EI_VERSION] from e_version.
Ulrich Drepper2cb8e732006-05-27 21:57:27 +00001023
Ulrich Drepper82c345d2006-04-04 22:07:54 +000010242006-04-04 Ulrich Drepper <drepper@redhat.com>
1025
1026 * addr2line.c: Update copyright year.
1027 * elfcmp.c: Likewise.
1028 * elflint.c: Likewise.
1029 * findtextrel.c: Likewise.
1030 * ld.c: Likewise.
1031 * nm.c: Likewise.
1032 * objdump.c: Likewise.
1033 * ranlib.c: Likewise.
1034 * readelf.c: Likewise.
1035 * size.c: Likewise.
1036 * strings.c: Likewise.
1037 * strip.c: Likewise.
1038
Roland McGrathdd7e22b2006-03-09 23:05:47 +000010392006-03-09 Roland McGrath <roland@redhat.com>
1040
1041 * Makefile.am (AM_LDFLAGS): New variable.
1042
Roland McGrath060fa052006-03-02 07:51:50 +000010432006-03-01 Roland McGrath <roland@redhat.com>
1044
1045 * readelf.c (dwarf_tag_string, dwarf_attr_string): Update name tables
1046 for dwarf.h changes matching 3.0 spec.
1047 (dwarf_encoding_string, dwarf_lang_string, print_ops): Likewise.
1048
Ulrich Drepper038129b2005-12-04 16:47:24 +000010492005-12-04 Ulrich Drepper <drepper@redhat.com>
1050
1051 * elflint.c (check_one_reloc): If relocation section is not loaded,
1052 don't check whether the relocations modify read-only sections or
1053 loaded and unloaded sections.
1054
Ulrich Drepper607e0542005-12-04 15:51:06 +000010552005-11-28 Ulrich Drepper <drepper@redhat.com>
1056
1057 * elflint.c (check_one_reloc): Take additional parameters. Use
1058 them to determine whether relocation is valid in this type of
1059 file. DSOs and executables can contain relocation sections in
1060 unloaded sections which just show the relocations the linker
1061 applied. Adjust all callers.
1062 (check_program_header): Check that PT_PHDR is loaded and that offset
1063 matches the one in the ELF header.
1064
Roland McGrath6724c902005-10-28 07:07:19 +000010652005-10-26 Roland McGrath <roland@redhat.com>
1066
1067 * nm.c (get_var_range): dwarf_getloclist -> dwarf_getlocation.
1068
Ulrich Drepperd0449522005-09-03 07:23:52 +000010692005-09-03 Ulrich Drepper <drepper@redhat.com>
1070
Ulrich Dreppere3f9b7d2005-09-03 16:42:46 +00001071 * strip.c (handle_elf): Unify some error messages.
1072 * ld.c (main): Likewise.
1073 * ldgeneric.c (open_elf): Likewise.
1074 * elfcmp.c (main): Likewise.
1075 * elflint.c (check_elf_header): Likewise.
1076
1077 * size.c (process_file): Fix typo in error message.
1078
Ulrich Drepperd0449522005-09-03 07:23:52 +00001079 * readelf.c: Lots of little cleanups. Use _unlocked functions.
1080
Ulrich Dreppera60501e2005-09-02 19:50:17 +000010812005-09-02 Ulrich Drepper <drepper@redhat.com>
1082
Ulrich Dreppere3f9b7d2005-09-03 16:42:46 +00001083 * strings.c (main): Reset elfmap variable after munmap call.
Ulrich Drepper618795f2005-09-02 20:01:37 +00001084 [_MUDFLAP] (map_file): Simplify mudflap debugging by not using mmap.
Ulrich Dreppera60501e2005-09-02 19:50:17 +00001085
Ulrich Drepperfbe998a2005-08-29 16:27:10 +000010862005-08-28 Ulrich Drepper <drepper@redhat.com>
1087
1088 * ranlib.c: Don't define pread_retry and write_retry here.
1089
1090 * Makefile.an [BUILD_STATIC] (libdw): Add -ldl.
1091 (CLEANFILES): Add *.gcno *.gcda *.gconv.
1092
1093 * strings.c (process_chunk): Reorder expressions in conditional
1094 (process_chunk_mb): Likewise.
1095
1096 * strings.c: New file.
1097 * Makefile.am (bin_PROGRAMS): Add strings.
1098 (strings_no_Wstring): Define.
1099 (strings_LDADD): Define.
1100
Roland McGrath71e15a02005-08-27 10:33:26 +000011012005-08-27 Roland McGrath <roland@redhat.com>
1102
1103 * addr2line.c (dwarf_diename_integrate): Function removed.
1104 (print_dwarf_function): Use plain dwarf_diename.
1105
Ulrich Drepperc5a06cd2005-08-24 19:50:14 +000011062005-08-24 Ulrich Drepper <drepper@redhat.com>
1107
1108 * elflint.c (check_versym): Versioned symbols should not have
1109 local binding.
1110
Ulrich Drepper5d832292005-08-15 21:36:27 +000011112005-08-15 Ulrich Drepper <drepper@redhat.com>
1112
Ulrich Drepper61655e02005-08-16 04:23:02 +00001113 * elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
1114 undefined.
1115
Ulrich Drepper5d832292005-08-15 21:36:27 +00001116 * Makefile.am: Add rules to build ranlib.
1117 * ranlib.c: New file.
1118
Roland McGrath18e13422005-08-15 08:01:25 +000011192005-08-14 Roland McGrath <roland@redhat.com>
1120
1121 * elflint.c (check_sections): Use ebl_section_type_name and allow any
1122 sh_type it recognizes.
1123
1124 * elflint.c (check_sections): Print unknown flags in hex, don't
1125 truncate high bits. Print section number and name for unknown type.
1126
Roland McGrathf6895042005-08-13 20:56:52 +000011272005-08-13 Roland McGrath <roland@redhat.com>
1128
1129 * elflint.c (check_program_header): Use ebl_segment_type_name and
1130 allow any p_type it recognizes. Include p_type value in error
1131 message for unknown type.
1132
Ulrich Drepperc5c33a62005-08-13 17:50:47 +000011332005-08-13 Ulrich Drepper <drepper@redhat.com>
1134
1135 * elflint.c (check_symtab): Simplify last change a bit. Pass ehdr
1136 to ebl_check_special_symbol.
1137 (check_sections): Pass ehdr to ebl_bss_plt_p.
1138
Roland McGrath653d3762005-08-13 01:59:10 +000011392005-08-12 Roland McGrath <roland@redhat.com>
1140
1141 * elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx
1142 refers to the right section if it's not SHN_ABS.
1143 Let ebl_check_special_symbol override _G_O_T_ value and size checks.
1144
1145 * elflint.c (check_sections): Don't complain about a non-NOBITS
1146 section taking no segment space, if it's sh_size is 0.
1147
1148 * elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should
1149 be PROGBITS or NOBITS.
1150
1151 * elflint.c (check_symtab): Use ebl_check_special_symbol to override
1152 standard st_value and st_size checks.
1153
Roland McGrath1c83bf12005-08-11 07:03:55 +000011542005-07-28 Roland McGrath <roland@redhat.com>
Ulrich Drepperfaf4d192005-08-11 05:12:05 +00001155
Roland McGrath1c83bf12005-08-11 07:03:55 +00001156 * addr2line.c (options, parse_opt): Don't handle -e here.
1157 (executable): Variable removed.
1158 (argp_children): New static variable.
1159 (argp): Use it. Make const.
1160 (main): Fill in argp_children from dwfl_standard_argp ().
1161 Let libdwfl handle file selection, pass Dwfl handle to handle_address.
1162 (print_dwarf_function): New function. Try to figure out inline chain.
1163 (elf_getname): Function removed, libdwfl does it for us.
1164 (handle_address): Take Dwfl handle instead of Elf, Dwarf handles.
1165 Use dwfl_module_addrname instead of elf_getname.
1166 Use dwfl_module_getsrc and dwfl_lineinfo instead of libdw calls.
1167 * Makefile.am (INCLUDES): Add libdwfl directory to path.
1168
11692005-08-10 Ulrich Drepper <drepper@redhat.com>
1170
1171 * strip.c (parse_opt): STATE parameter is now used.
1172 Various little cleanups.
1173
1174 * readelf.c (print_debug_line_section): Correct fallout of renaming
1175 of DW_LNS_set_epilog_begin.
Ulrich Drepper6d5c3bd2005-08-11 04:37:52 +00001176
Roland McGrath8f31c2c2005-08-09 04:58:05 +000011772005-08-08 Roland McGrath <roland@redhat.com>
1178
1179 * strip.c (options, parse_opt): Grok -R .comment for compatibility
1180 with binutils strip. Likewise -d, -S, as aliases for -g.
1181 Likewise ignore -s/--strip-all.
1182
Roland McGrath095a01b2005-08-08 03:49:35 +000011832005-08-07 Roland McGrath <roland@redhat.com>
1184
1185 * strip.c (process_file): Open read-only when using a different output
1186 file.
1187
Ulrich Drepper47be7952005-08-07 04:41:39 +000011882005-08-06 Ulrich Drepper <drepper@redhat.com>
1189
Ulrich Drepper637963b2005-08-07 05:33:07 +00001190 * elflint.c (in_nobits_scn): New function.
1191 (check_versym): Allow references for defined symbols against versions
1192 of other DSOs also for symbols in nobits sections.
1193 Move a few variables around.
1194
Ulrich Drepper47be7952005-08-07 04:41:39 +00001195 * Makefile.am (AM_CFLAGS): Avoid duplication.
1196 Link with statis libs if BUILD_STATIC.
1197
Ulrich Drepperdbace232005-08-06 01:37:23 +000011982005-08-05 Ulrich Drepper <drepper@redhat.com>
1199
1200 * elflint.c: Many, many more tests. Mostly related to symbol
1201 versioning. Those sections should now be completely checked.
1202
1203 * readelf.c (print_dynamic): Use gelf_offscn.
1204
Ulrich Drepperacb89832005-08-04 07:01:49 +000012052005-08-04 Ulrich Drepper <drepper@redhat.com>
1206
1207 * elflint.c: Add lots more tests: more extension symbol table sanity,
1208 versioning section tests, hash table tests. General cleanup.
1209
Ulrich Drepperc911c9e2005-08-02 16:07:42 +000012102005-08-02 Ulrich Drepper <drepper@redhat.com>
1211
Ulrich Drepper8a687742005-08-03 02:24:12 +00001212 * objdump.c: New file.
1213 * Makefile.am (bin_PROGRAMS): Add objdump.
1214 (objdump_LDADD): Define.
1215
Ulrich Drepperc911c9e2005-08-02 16:07:42 +00001216 * elflint.c (check_reloc_shdr): New function split out from check_rela
1217 and check_rel.
1218 (check_one_reloc): New function. Likewise.
1219 (check_rela): Use check_reloc_shdr and check_one_reloc.
1220 (check_rel): Likewise.
Ulrich Drepper41de4882005-08-03 00:02:56 +00001221 (check_program_header): Check that PT_DYNAMIC entry matches .dynamic
1222 section.
1223 Add checks that relocations against read-only segments are flagged,
1224 that the text relocation flag is not set unnecessarily, and that
1225 relocations in one section are either against loaded or not-loaded
1226 segments.
Ulrich Drepperc911c9e2005-08-02 16:07:42 +00001227
Ulrich Drepper8533dcf2005-08-01 07:18:47 +000012282005-08-01 Ulrich Drepper <drepper@redhat.com>
1229
1230 * elfcmp.c (main): Ignore section count and section name string table
1231 section index.
1232
Roland McGrathf9ece8a2005-07-28 07:03:04 +000012332005-07-27 Roland McGrath <roland@redhat.com>
1234
1235 * elfcmp.c: Include <locale.h>.
1236
Ulrich Drepper7d48d6a2005-07-27 10:13:23 +000012372005-07-27 Ulrich Drepper <drepper@redhat.com>
1238
1239 * elfcmp.c: Print name and index of differing section.
1240
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000012412005-07-24 Ulrich Drepper <drepper@redhat.com>
1242
1243 * elfcmp.c: Implement comparing gaps between sections.
1244
12452005-07-23 Ulrich Drepper <drepper@redhat.com>
1246
1247 * elflint.c: Include libeblP.h instead of libebl.h.
1248 * nm.c: Likewise.
1249 * readelf.c: Likewise.
1250 * elfcmp.c: Likewise.
1251
1252 * elfcmp.c (main): Compare individual ELF header fields, excluding
1253 e_shoff instead of the whole struct at once.
1254 Use ebl_section_strip_p instead of SECTION_STRIP_P.
1255 * strip.c: Use ebl_section_strip_p instead of SECTION_STRIP_P.
1256
12572005-07-22 Ulrich Drepper <drepper@redhat.com>
1258
1259 * elfcmp.c (main): Take empty section into account when comparing
1260 section content.
1261
1262 * elflint.c (check_dynamic): Check that d_tag value is >= 0 before
1263 using it.
1264
12652005-07-21 Ulrich Drepper <drepper@redhat.com>
1266
1267 * elfcmp.c: New file.
1268 * Makefile.am (bin_PROGRAMS): Add elfcmp.
1269 (elfcmp_LDADD): Define.
1270
1271 * elflint.c (check_rela): Check that copy relocations only reference
1272 object symbols or symbols with unknown type.
1273 (check_rel): Likewise.
1274
12752005-06-08 Roland McGrath <roland@redhat.com>
1276
1277 * readelf.c (print_ops): Add consts.
1278
12792005-05-31 Roland McGrath <roland@redhat.com>
1280
1281 * readelf.c (print_debug_abbrev_section): Don't bail after first CU's
1282 abbreviations. Print a header line before each CU section.
1283
1284 * readelf.c (print_debug_loc_section): Fix indentation for larger
1285 address size.
1286
12872005-05-30 Roland McGrath <roland@redhat.com>
1288
1289 * readelf.c (print_debug_line_section): Print section offset of each
1290 CU's table, so they are easy to find from seeing the stmt_list value.
1291
1292 * readelf.c (dwarf_attr_string): Add all attributes in <dwarf.h>.
1293 (attr_callback): Grok DW_AT_ranges and print offset in hex.
1294
1295 * readelf.c (attr_callback): Add 2 to addrsize * 2 for %#0* format.
1296 (print_debug_ranges_section, print_debug_loc_section): Likewise.
1297
1298 * readelf.c (print_ops): Take different args for indentation control.
1299 (attr_callback): Caller updated.
1300 Grok several more block-form attributes as being location expressions.
1301 For those same attributes with udata forms, format output differently
1302 for location list offset.
1303 (print_debug_loc_section): Implement it for real.
1304
1305 * readelf.c (options): Mention ranges for --debug-dump.
1306 (enum section_e): Add section_ranges.
1307 (parse_opt): Grok "ranges" for -w/--debug-dump.
1308 (print_debug_ranges_section): New function.
1309 (print_debug): Handle .debug_ranges section.
1310
13112005-05-30 Ulrich Drepper <drepper@redhat.com>
1312
1313 * readelf.c (handle_notes): At least x86-64 need not have the note
1314 section values aligned to 8 bytes.
1315
13162005-05-18 Ulrich Drepper <drepper@redhat.com>
1317
1318 * readelf.c (dwarf_tag_string): Add new tags.
1319
13202005-05-08 Roland McGrath <roland@redhat.com>
1321
1322 * strip.c (handle_elf): Don't translate hash and versym data formats,
1323 elf_getdata already did it for us.
1324
13252005-05-07 Ulrich Drepper <drepper@redhat.com>
1326
1327 * Makefile.am (findtextrel_LDADD): Add $(libmudflap).
1328 (addr2line_LDADD): Likewise.
1329
13302005-05-03 Roland McGrath <roland@redhat.com>
1331
1332 * strip.c (handle_elf): Apply symbol table fixups to discarded
1333 relocation sections when they are being saved in the debug file.
1334
1335 * strip.c (handle_elf): Pass EHDR->e_ident[EI_DATA] to gelf_xlatetom
1336 and gelf_xlatetof, not the native byte order.
1337
1338 * strip.c (parse_opt): Give error if -f or -o is repeated.
1339 (main): Exit if argp_parse returns nonzero.
1340
1341 * strip.c (debug_fname_embed): New variable.
1342 (options, parse_opt): New option -F to set it.
1343
13442005-05-07 Ulrich Drepper <drepper@redhat.com>
1345
1346 * readelf.c (parse_opt): Make any_control_option variable
1347 local. Simplify some tests.
1348
13492005-05-03 Roland McGrath <roland@redhat.com>
1350
1351 * strip.c (crc32_file): Function removed (now in ../lib).
1352
13532005-05-03 Roland McGrath <roland@redhat.com>
1354
1355 * elflint.c (is_debuginfo): New variable.
1356 (options, parse_opt): New option --debuginfo/-d to set it.
1357 (check_sections): If is_debuginfo, don't complain about SHT_NOBITS.
1358 (check_note): If is_debuginfo, don't try to get note contents.
1359
13602005-04-24 Ulrich Drepper <drepper@redhat.com>
1361
1362 * readelf.c (print_debug_abbrev_section): Don't print error when end of
1363 section reached.
1364
13652005-04-14 Ulrich Drepper <drepper@redhat.com>
1366
1367 * readelf.c (dwarf_encoding_string): New function.
1368 (dwarf_inline_string): New function.
1369 (dwarf_access_string): New function.
1370 (dwarf_visibility_string): New function.
1371 (dwarf_virtuality_string): New function.
1372 (dwarf_identifier_case_string): New function.
1373 (dwarf_calling_convention_string): New function.
1374 (dwarf_ordering_string): New function.
1375 (dwarf_discr_list_string): New function.
1376 (attr_callback): Decode man more attribute values.
1377
13782005-04-01 Ulrich Drepper <drepper@redhat.com>
1379
1380 * addr2line.c: Finish implementation of -f option.
1381
13822005-03-29 Ulrich Drepper <drepper@redhat.com>
1383
1384 * addr2line.c: New file.
1385 * Makefile.am (bin_PROGRAMS): Add addr2line.
1386 Define addr2line_LDADD.
1387
1388 * findtextrel.c: Use new dwarf_addrdie function.
1389
1390 * findtextrel.c: Fix usage message and re-add accidentally removed
1391 line.
1392
13932005-03-28 Ulrich Drepper <drepper@redhat.com>
1394
1395 * findtextrel.c: New file.
1396 * Makefile: Add rules to build findtextrel.
1397
13982005-02-15 Ulrich Drepper <drepper@redhat.com>
1399
1400 * ldlex.l: Provide ECHO definition to avoid warning.
1401
1402 * elflint.c (check_program_header): Fix typo in RELRO test.
1403
1404 * Makefile.am (AM_CFLAGS): Add more warning options.
1405 * elflint.c: Fix warnings introduced by the new warning options.
1406 * i386_ld.c: Likewise.
1407 * ld.c: Likewise.
1408 * ld.h: Likewise.
1409 * ldgeneric.c: Likewise.
1410 * nm.c: Likewise.
1411 * readelf.c: Likewise.
1412 * sectionhash.c: Likewise.
1413 * size.c: Likewise.
1414 * string.c: Likewise.
1415
14162005-02-05 Ulrich Drepper <drepper@redhat.com>
1417
1418 * Makefile.am: Check for text relocations in constructed DSOs.
1419
1420 * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap. Link all apps
1421 with -lmudflap.
1422
1423 * ldscript.y: Add as_needed handling.
1424 * ldlex.l: Recognize AS_NEEDED token.
1425 * ld.h (struct filename_list): Add as_needed flag.
1426
14272005-02-04 Ulrich Drepper <drepper@redhat.com>
1428
1429 * elflint.c (check_symtab): Correctly determine size of GOT section.
1430
14312005-01-19 Ulrich Drepper <drepper@redhat.com>
1432
1433 * ld.c: Remove unnecessary more_help function. Print bug report
1434 address using argp.
1435 * strip.c: Likewise.
1436 * size.c: Likewise.
1437 * nm.c: Likewise.
1438 * readelf.c: Likewise.
1439 * elflint.c: Likewise.
1440
1441 * elflint.c (main): Don't check for parameter problems here.
1442 (parse_opt): Do it here, where we get informed about some of them
1443 anyway.
1444
1445 * readelf.c (main): Don't check for parameter problems here.
1446 (parse_opt): Do it here, where we get informed about some of them
1447 anyway.
1448
14492005-01-11 Ulrich Drepper <drepper@redhat.com>
1450
1451 * strip.c: Update copyright year.
1452 * readelf.c: Likewise.
1453 * size.c: Likewise.
1454 * nm.c: Likewise.
1455 * ld.c: Likewise.
1456 * elflint.c: Likewise.
1457
1458 * elflint.c (check_symtab): Don't warn about wrong size for
1459 _DYNAMIC and __GLOBAL_OFFSET_TABLE__ for --gnu-ld.
1460
14612004-10-05 Ulrich Drepper <drepper@redhat.com>
1462
1463 * readelf.c (print_phdr): In section mapping, also indicate
1464 sections in read-only segments.
1465
14662004-09-25 Ulrich Drepper <drepper@redhat.com>
1467
1468 * readelf.c: Make compile with gcc 4.0.
1469 * strip.c: Likewise.
1470
14712004-08-16 Ulrich Drepper <drepper@redhat.com>
1472
1473 * strip.c (handle_elf): Rewrite dynamic memory handling to use of
1474 allocate to work around gcc 3.4 bug.
1475
14762004-01-25 Ulrich Drepper <drepper@redhat.com>
1477
1478 * ldlex.l (invalid_char): Better error message.
1479
14802004-01-23 Ulrich Drepper <drepper@redhat.com>
1481
1482 * readelf.c: Print SHT_GNU_LIBLIST sections.
1483
1484 * none_ld.c: New file.
1485
14862004-01-21 Ulrich Drepper <drepper@redhat.com>
1487
1488 * Makefile.am: Enable building of machine specific linker.
1489
14902004-01-20 Ulrich Drepper <drepper@redhat.com>
1491
1492 * Makefile.am: Support building with mudflap.
1493
1494 * i386_ld.c: Fix warnings gcc 3.4 spits out.
1495 * ldgeneric.c: Likewise.
1496 * ldscript.y: Likewise.
1497 * readelf.c: Likewise.
1498 * strip.c: Likewise.
1499
1500 * readelf.c (print_debug_line_section): Determine address size
1501 correctly.
1502
15032004-01-19 Ulrich Drepper <drepper@redhat.com>
1504
1505 * readelf.c (print_phdr): Show which sections are covered by the
1506 PT_GNU_RELRO entry.
1507
1508 * elflint.c (check_program_header): Check PT_GNU_RELRO entry.
1509
1510 * readelf.c (print_debug_macinfo_section): Implement.
1511
15122004-01-18 Ulrich Drepper <drepper@redhat.com>
1513
1514 * readelf.c (print_debug_line_section): Implement.
1515
15162004-01-17 Ulrich Drepper <drepper@redhat.com>
1517
1518 * src/elflint.c: Use PACKAGE_NAME instead of PACKAGE.
1519 * src/ld.c: Likewise.
1520 * src/nm.c: Likewise.
1521 * src/readelf.c: Likewise.
1522 * src/size.c: Likewise.
1523 * src/strip.c: Likewise.
1524
1525 * strip.c: Add a few more unlikely. Reduce scope of some variables.
1526
1527 * Makefile.am: Support building with mudflap.
1528
15292004-01-16 Ulrich Drepper <drepper@redhat.com>
1530
1531 * readelf.c (print_debug_info_section): Free dies memory.
1532
1533 * readelf.c: Print .debug_info section content.
1534
15352004-01-13 Ulrich Drepper <drepper@redhat.com>
1536
1537 * readelf.c (print_shdr): Add support for SHF_ORDERED and SHF_EXCLUDE.
1538
15392004-01-12 Ulrich Drepper <drepper@redhat.com>
1540
1541 * readelf.c (print_debug_aranges): Implement using libdw.
1542
15432004-01-11 Ulrich Drepper <drepper@redhat.com>
1544
1545 * nm.c: Adjust for Dwarf_Files type and dwarf_lineno interface change.
1546
1547 * readelf.c: Use libdw instead of libdwarf. Not all of the old
1548 behavior is available yet.
1549 * Makefile.am: Link readelf with libdw. Remove libdwarf include path.
1550
15512004-01-09 Ulrich Drepper <drepper@redhat.com>
1552
1553 * nm.c (get_local_names): Adjust call to dwarf_nextcu.
1554
1555 * nm.c: Implement getting information about local variables.
1556
15572004-01-07 Ulrich Drepper <drepper@redhat.com>
1558
1559 * nm.c: Read also debug information for local symbols.
1560
15612004-01-05 Ulrich Drepper <drepper@redhat.com>
1562
1563 * nm.c: Shuffle dwarf handling code around so the maximum column
1564 width can be computed ahead of printing. Avoid collection symbols
1565 which are not printed anyway.
1566
1567 * nm.c: Rewrite dwarf handling to use libdw.
1568 * Makefile.am (AM_CFLAGS): Add -std parameter.
1569 (INCLUDES): Find header in libdw subdir.
1570 (nm_LDADD): Replace libdwarf with libdw.
1571
1572 * elflint.c: Update copyright year.
1573 * readelf.c: Likewise.
1574 * size.c: Likewise.
1575 * strip.c: Likewise.
1576 * nm.c: Likewise.
1577
15782003-12-31 Ulrich Drepper <drepper@redhat.com>
1579
1580 * strip.c (process_file): Close file before returning.
1581
15822003-11-19 Ulrich Drepper <drepper@redhat.com>
1583
1584 * readelf.c (handle_dynamic): Make column for tag name wider.
1585
15862003-09-29 Ulrich Drepper <drepper@redhat.com>
1587
1588 * readelf.c (handle_dynamic): Always terminate tag name with a space.
1589
15902003-09-25 Ulrich Drepper <drepper@redhat.com>
1591
1592 * strip.c (process_file): Don't mmap the input file, we modify the
1593 data structures and don't want the change end up on disk.
1594
15952003-09-23 Jakub Jelinek <jakub@redhat.com>
1596
1597 * unaligned.h (union u_2ubyte_unaligned,
1598 union u_4ubyte_unaligned, union u_8ubyte_unaligned): Add
1599 packed attribute.
1600 (add_2ubyte_unaligned, add_4ubyte_unaligned,
1601 add_8ubyte_unaligned): Avoid nesting bswap_NN macros.
1602 Read/store value through _ptr->u instead of *_ptr.
1603
16042003-09-22 Ulrich Drepper <drepper@redhat.com>
1605
1606 * size.c (show_sysv): Change type of maxlen to int.
1607
1608 * strip.c (handle_elf): Handle the 64-bit archs which is 64-bit
1609 buckets.
1610
1611 * i386_ld.c: Many many fixes and extensions.
1612 * ld.c: Likewise.
1613 * ldgeneric.c: Likewise.
1614
16152003-08-16 Ulrich Drepper <drepper@redhat.com>
1616
1617 * ldgeneric.c (check_definition): Don't add symbol on dso_list if
1618 the reference is from another DSO.
1619
16202003-08-15 Ulrich Drepper <drepper@redhat.com>
1621
1622 * ldgeneric.c (find_entry_point): It is no fatal error if no entry
1623 point is found when creating a DSO.
1624
16252003-08-14 Ulrich Drepper <drepper@redhat.com>
1626
1627 * ld.c (main): Always call FLAG_UNRESOLVED.
1628 * ldgeneric.c (ld_generic_flag_unresolved): Only complain about
1629 undefined symbols if not creating DSO or ld_state.nodefs is not set.
1630
16312003-08-13 Ulrich Drepper <drepper@redhat.com>
1632
1633 * Makefile.in: Depend on libebl.a, not libebl.so.
1634
1635 * ld.c (main): Mark stream for linker script as locked by caller.
1636 (read_version_script): Likewise.
1637 * ldlex.c: Define fread and fwrite to _unlocked variant.
1638
1639 * i386_ld.c (elf_i386_finalize_plt): Replace #ifdefs with uses of
1640 target_bswap_32.
1641 * unaligned.h: Define target_bswap_16, target_bswap_32, and
1642 target_bswap_64.
1643 (store_2ubyte_unaligned, store_4ubyte_unaligned,
1644 store_8ubyte_unaligned): Define using new macros.
1645
16462003-08-12 Ulrich Drepper <drepper@redhat.com>
1647
1648 * i386_ld.c (elf_i386_finalize_plt): Use packed structs to access
1649 possibly unaligned memory. Support use of big endian machines.
1650
16512003-08-11 Ulrich Drepper <drepper@redhat.com>
1652
1653 * Moved to CVS archive.