blob: ab13810edbba93d210178ebca3fc966b704e5e50 [file] [log] [blame]
Ulrich Drepperb006fbf2009-01-16 03:08:25 -080012009-01-16 Ulrich Drepper <drepper@redhat.com>
2
3 * readelf.c: Add -e option. Dump exception and unwind related
4 sections. Add -e to -a.
Ulrich Drepper05d2b202009-01-16 17:58:54 -08005 (print_encoding_base): Handle DW_EH_PE_omit.
Ulrich Drepperb006fbf2009-01-16 03:08:25 -08006 (print_debug_exception_table): Beginning of support.
7 (print_debug): Hook up print_debug_exception_table for
8 .gcc_except_table sections.
9
10 * readelf.c (print_debug_frame_section): Some fixes for last change.
11
Ulrich Drepper351bf202009-01-15 20:18:40 -0800122009-01-15 Ulrich Drepper <drepper@redhat.com>
13
14 * readelf.c (print_encoding): Now a toplevel function.
15 (print_relinfo): Likewise.
16 (print_encoding_base): Broken out of print_debug_frame_section.
17 (print_debug_frame_section): Print different header for .eh_frame
18 sections. Fix recognition of matching CIEs in .debug_frame sections.
19 Print absolute offset for PC-relative FDE locations. Don't print
20 table header for FDEs if the table is empty.
21 (read_encoded): New function.
22 (print_debug_frame_hdr_section): New function.
23 (print_debug): Hook up print_debug_frame_hdr_section for .eh_frame_hdr
24 sections.
25
26 * readelf.c (handle_relocs_rel): Print section number.
27 (print_debug_abbrev_section): Likewise.
28 (print_debug_aranges_section): Likewise.
29 (print_debug_ranges_section): Likewise.
30 (print_debug_info_section): Likewise.
31 (print_debug_line_section): Likewise.
32 (print_debug_loc_section): Likewise.
33 (print_debug_macinfo_section): Likewise.
34 (print_debug_pubnames_section): Likewise.
35 (print_debug_str_section): Likewise.
36
Ulrich Drepper8b394632009-01-10 18:29:56 -0800372009-01-10 Ulrich Drepper <drepper@redhat.com>
38
39 * strings.c (read_block): Fix typo in error message string.
40
Ulrich Drepper87cf5832009-01-07 20:39:21 -0800412009-01-07 Ulrich Drepper <drepper@redhat.com>
42
43 * ld.c (ld_new_searchdir): Fix adding to search path list.
44
Ulrich Drepperac194d02009-01-06 00:30:01 -0800452009-01-06 Ulrich Drepper <drepper@redhat.com>
46
47 * readelf.c: Implement call frame debug section dumping.
48
Ulrich Drepper44173ed2009-01-01 19:00:41 -0800492009-01-01 Ulrich Drepper <drepper@redhat.com>
50
51 * addr2line.c: Update copyright year.
52 * ar.c: Likewise.
53 * elfcmp.c: Likewise.
54 * elflint.c: Likewise.
55 * findtextrel.c: Likewise.
56 * ld.c: Likewise.
57 * nm.c: Likewise.
58 * objdump.c: Likewise.
59 * ranlib.c: Likewise.
60 * readelf.c: Likewise.
61 * size.c: Likewise.
62 * strings.c: Likewise.
63 * strip.c: Likewise.
64 * unstrip.c: Likewise.
65
Roland McGrath468fe4d2008-12-11 21:00:12 -0800662008-12-11 Roland McGrath <roland@redhat.com>
67
68 * nm.c (sym_name): New function.
69 (show_symbols_sysv): Use it in place of elf_strptr.
70 (show_symbols_bsd, show_symbols_posix): Likewise.
71 Fixes RHBZ#476136.
72
73 * nm.c (show_symbols_sysv): Use an alloca'd backup section name when
74 elf_strptr fails.
75
Roland McGratha845f682008-12-03 03:41:58 +0000762008-12-02 Roland McGrath <roland@redhat.com>
77
78 * readelf.c (count_dwflmod, process_file): Don't presume encoding of
79 nonzero OFFSET argument to dwfl_getmodules.
80
Roland McGrath1d8bb252008-08-07 08:39:41 +0000812008-08-07 Roland McGrath <roland@redhat.com>
82
83 * addr2line.c (main): Pass string to handle_address.
84 (see_one_module): New function, subroutine of handle_address.
85 (find_symbol): Likewise.
86 (handle_address): Take string argument rather than address.
87 Convert plain number, or handle strings like "(section)+offset"
88 or "symbol+offset".
89
902008-08-01 Roland McGrath <roland@redhat.com>
91
92 * readelf.c (handle_core_item): Handle 'B' type for 1-origin bitset.
93 For 'b' and 'B', print <x-y,z> or ~<x,y-z> rather than 1/0 string.
94
95 * readelf.c (convert): Take new argument SIZE.
96 (handle_core_register, handle_core_item): Update callers.
97 (handle_core_item): Take new arg REPEATED_SIZE.
98 (handle_core_items): Special case for a singleton item,
99 let handle_core_item handle repeats if it wants to.
100
101 * readelf.c (handle_core_items): Give abridged output
102 for identical groups repeated more than twice.
103
1042008-07-04 Roland McGrath <roland@redhat.com>
105
106 * readelf.c (handle_core_items): Handle ELF_T_ADDR.
107
Roland McGrath521c47d2008-04-11 07:01:58 +00001082008-04-10 Roland McGrath <roland@redhat.com>
109
110 * strip.c (handle_elf): Don't keep sections that kept symbol tables
111 refer to. Instead, just be sure to preserve the original symbol
112 table in the debug file so those symbols go with their sections and
113 can be elided from the stripped version of the symbol table.
114
115 * strip.c (handle_elf): When a discarded section kept in the debug
116 file refers to a nondiscard section via sh_link/sh_info, preserve
117 that nondiscarded section unmodified in the debug file as well.
118 Skip adjustment of discarded sections symbol table references when
119 that symbol table is copied in this way.
120
121 * elflint.c (check_symtab): Don't crash from missing symbol names
122 after diagnosing bogus strtab.
123
124 * strip.c (handle_elf): Cosmetic cleanup in special section contents
125 adjustment for symtab changes.
126
Roland McGrath13b69602008-04-01 02:30:05 +00001272008-03-31 Roland McGrath <roland@redhat.com>
128
129 * elflint.c (check_sections): Add checks on SHF_EXECINSTR sections:
130 must be SHT_PROGBITS, must not be SHF_WRITE. Let backend hook
131 excuse a special section.
132
1332008-03-27 Roland McGrath <roland@redhat.com>
134
135 * elflint.c (check_sections): Check that executability and writability
136 of sections is reflected in segment p_flags.
137
Roland McGrathd11f9cb2008-03-26 20:51:59 +00001382008-03-26 Roland McGrath <roland@redhat.com>
139
140 * elflint.c (check_program_header): Accept PT_GNU_RELRO p_flags
141 that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really
142 is valid in RELRO.
143
Roland McGrath47c5c352008-02-29 10:17:16 +00001442008-02-29 Roland McGrath <roland@redhat.com>
145
146 * readelf.c (print_attributes): Add a cast.
147 * elflint.c (check_attributes): Likewise.
148
149 * unaligned.h (add_8ubyte_unaligned): Cast PTR argument for parity
150 with [UNALIGNED_ACCESS_CLASS == BYTE_ORDER] definition.
151 (add_4ubyte_unaligned, add_2ubyte_unaligned): Likewise.
152
Ulrich Drepper834de6f2008-02-23 06:50:01 +00001532008-02-03 Ulrich Drepper <drepper@redhat.com>
154
155 * i386_ld.c (elf_i386_count_relocations): Implement R_386_TLS_GD
156 when linked into executable.
157 (elf_i386_create_relocations): Likewise.
158
Roland McGrath059c83e2008-02-21 06:19:39 +00001592008-02-20 Roland McGrath <roland@redhat.com>
160
161 * readelf.c (print_attributes): New function.
162 (process_elf_file): Call it under -A.
163
164 * elflint.c (check_attributes): Implement it for real.
165
1662008-02-19 Roland McGrath <roland@redhat.com>
167
168 * elflint.c (special_sections): Handle .gnu.attributes section.
169 (check_sections): Likewise.
170 (check_attributes): New function.
171
1722008-02-10 Roland McGrath <roland@redhat.com>
173
174 * elfcmp.c (main): Ignore sh_offset differences in non-SHF_ALLOC
175 sections and ET_REL files.
176
Ulrich Drepper712d78e2008-02-02 10:01:53 +00001772008-02-02 Ulrich Drepper <drepper@redhat.com>
178
179 * elf32-i386.script: Add .eh_frame_hdr, .tdata, and .tbss sections.
180 * i386_ld.c (elf_i386_count_relocations): Handle R_386_TLS_LDO_32
181 and R_386_TLS_LE.
182 (elf_i386_create_relocations): Likewise.
183 * ld.h (struct ld_state): Add need_tls, tls_start, and tls_tcb
184 elements.
185 * ldgeneric.c (add_section): If TLS section is used, set need_tls flag.
186 (ld_generic_create_outfile): Add PT_TLS entry to program header.
187 Fix generation of PT_GNU_STACK entry.
188
Ulrich Drepperc54785a2008-02-01 18:05:21 +00001892008-02-01 Ulrich Drepper <drepper@redhat.com>
190
Ulrich Drepper7cd1bf72008-02-01 23:52:59 +0000191 * ld.c (replace_args): Prevent loop over replacements if the parameter
192 is only two characters long.
193
Ulrich Drepperc54785a2008-02-01 18:05:21 +0000194 * ld.c: Recognize sha1 argument for --build-id parameter.
195 * ldgeneric.c (create_build_id_section): Handle sha1.
196 (compute_hash_sum): New function. Broken out of compute_build_id.
197 Take hash function and context as parameters.
198 (compute_build_id): Use compute_hash_sum for md5 and the new sha1
199 implementation.
200
Ulrich Drepper89759c72008-01-31 19:44:12 +00002012008-01-31 Ulrich Drepper <drepper@redhat.com>
202
203 * elf32-i386.script: Add .note.ABI-tag and .note.gnu.build-id sections.
204 * ld.c: Recognize --build-id command line parameter.
205 * ld.h: Define scn_dot_note_gnu_build_id.
206 (struct ld_state): Add build_id and buildidscnidx elements.
207 * ldgeneric.c: Implement --build-id command line parameter.
208 * ldlex.l (ID): Recognize - as valid character after the first one.
209
Ulrich Drepper5530ec52008-01-29 10:42:07 +00002102008-01-29 Ulrich Drepper <drepper@redhat.com>
211
Ulrich Drepperb61c4cc2008-01-30 07:16:28 +0000212 * ld.c (replace_args): New function.
213 (main): Use it to rewrite old-style parameters.
214
Ulrich Dreppered9b6cb2008-01-30 06:33:33 +0000215 * elf32-i386.script: Add .gnu.hash section.
216 * ldgeneric.c (optimal_bucket_size): A tiny bit more efficient.
217 (fillin_special_symbol): Initialize st_size.
218 (sortfct_hashval): New function.
219 (create_gnu_hash): New function.
220 (create_hash): New function.
221 (ld_generic_create_outfile): Use the new functions to create the
222 hash tables.
223
Ulrich Drepper5530ec52008-01-29 10:42:07 +0000224 * elflint.c (check_gnu_hash): Fix index value printed in error message.
225
Ulrich Drepper0e864dd2008-01-25 00:18:42 +00002262008-01-24 Ulrich Drepper <drepper@redhat.com>
227
228 * elflint.c (check_group): Check that signature symbol for section
229 group is not an empty string.
230 * ldgeneric.c: Remove magic assignment of indeces in the dynsym
231 section. Start implementation of --hash-style.
232 * i386_ld.c: Likewise.
233 * ld.c: Recognize --hash-style.
234 * ld.h (struct scninfo): Add comdat_group.
235 Add additional parameter to finalize_plt callback.
236
Ulrich Drepper5449a6b2008-01-22 15:49:39 +00002372008-01-22 Ulrich Drepper <drepper@redhat.com>
238
239 * ld.h (struct callbacks): Add initialize_gotplt.
240 (struct scnhead): Add scn_dot_gotplt.
241 (struct ld_state): Add gotpltscnidx.
242 * i386_ld.c (elf_i386_initialize_plt): Minor optimization.
243 (elf_i386_initialize_pltrel): Likewise.
244 (elf_i386_initialize_got): There is now a separate .got.plt, so
245 don't do the PLT-related work here. Initialize d_type.
246 (elf_i386_initialize_gotplt): New function.
247 (elf_i386_plt0): Use ud2a after indirect jump.
248 (elf_i386_pic_plt0_entry): Likewise.
249 (elf_i386_finalize_plt): Reference now .got.plt.
250 (elf_i386_count_relocations): For GOT entries which need no relocation
251 don't bump nrel_got.
252 (elf_i386_create_relocations): Also get .got.plt. Rewrite R-386_GOT32
253 handling for split .got/.got.plt.
254 (elf_i386_ld_init): Initialize callbacks.initialize_gotplt.
255 * elf32-i386.script: Sort sections for security. There are no .got
256 input sections. Add .got.plt.
257 * ldgeneric.c (ld_generic_generate_sections): Add .got.plt section.
258 (ld_generic_create_outfile): Initialize .got.plt section.
259 Use .got.plt address for _GLOBAL_OFFSET_TABLE_ symbol and DT_PLTGOT.
260
Ulrich Drepperd9488292008-01-20 16:43:15 +00002612008-01-19 Ulrich Drepper <drepper@redhat.com>
262
263 * i386_ld.c (elf_i386_count_relocations): PLT relocations for undefined
264 symbols are not carried over into statically linked output files.
265 Add dummy entries for more TLS relocations.
266
267 * ld.c (options): Add long names for -( and -).
268
269 * ldgeneric.c (check_definition): For newly found definitions don't
270 mark section as used if symbol is absolute.
271 (extract_from_archive): Only assign archive sequence number the first
272 time the archive is handled. Update ld_state.last_archive_used
273 if any symbol was used. Remove nround variable.
274 (file_process2): When using symbol from an archive, update
275 ld_state.group_start_archive, ld_state.archives, and
276 ld_state.tailarchives.
277 (ld_generic_file_process): If group is not handled anymore, after
278 freeing ELF handles for the archives, clear ld_state.archives and
279 *nextp. Fix wrong logic in recognizing first iteration of group
280 loop. When clearing flags, also clear ld_state.group_start_archive.
281
Ulrich Drepper5eee1222008-01-11 10:12:18 +00002822008-01-11 Ulrich Drepper <drepper@redhat.com>
283
284 * objdump.c (show_disasm): Adjust disassembler format string for
285 removal of %e.
286
Ulrich Dreppere219f1c2008-01-09 05:49:49 +00002872008-01-04 Roland McGrath <roland@redhat.com>
288
Roland McGrath059c83e2008-02-21 06:19:39 +0000289 * readelf.c (handle_core_items): Take new arg DESCSZ; if nonzero,
290 a size greater than the items cover means multiple sets of items.
291 (handle_core_note): Update caller.
292
2932008-01-04 Roland McGrath <roland@redhat.com>
294
Ulrich Dreppere219f1c2008-01-09 05:49:49 +0000295 * strip.c (handle_elf): Move SHDRIDX defn to silence gcc warning.
296
2972008-01-03 Roland McGrath <roland@redhat.com>
298
299 * ld.h (linked_from_dso_p): Use __attribute__ ((__gnu_inline__)).
300
301 * elflint.c (check_dynamic): Remove duplicate initializer.
302
Ulrich Drepperad024af2008-01-02 17:42:52 +00003032008-01-02 Ulrich Drepper <drepper@redhat.com>
304
305 * addr2line.c: Update copyright year.
306 * ar.c: Likewise.
307 * elfcmp.c: Likewise.
308 * elflint.c: Likewise.
309 * findtextrel.c: Likewise.
310 * ld.c: Likewise.
311 * nm.c: Likewise.
312 * objdump.c: Likewise.
313 * ranlib.c: Likewise.
314 * readelf.c: Likewise.
315 * size.c: Likewise.
316 * strings.c: Likewise.
317 * strip.c: Likewise.
318 * unstrip.c: Likewise.
319
Ulrich Drepper3cbdd382008-01-02 17:44:39 +00003202007-12-30 Ulrich Drepper <drepper@redhat.com>
321
322 * objdump (show_disasm): Use %e after third parameter.
323
3242007-12-21 Ulrich Drepper <drepper@redhat.com>
325
326 * strip.c: Fix wrong parenthesis in a few branch predictions.
327 * strings.c: Likewise.
328
3292007-12-20 Ulrich Drepper <drepper@redhat.com>
330
331 * Makefile.am (DEFS): Add DEBUGPRED.
332 * addr2line.c: Include debugpred.h.
333 * ar.c: Likewise.
334 * elfcmp.c: Likewise.
335 * elflint.c: Likewise.
336 * findtextrel.c: Likewise.
337 * nm.c: Likewise.
338 * objdump.c: Likewise.
339 * ranlib.c: Likewise.
340 * readelf.c: Likewise.
341 * size.c: Likewise.
342 * strings.c: Likewise.
343 * strip.c: Likewise.
344 * unstrip.c: Likewise.
345 * debugpred.h: New file.
346
347 * readelf.c (handle_relocs_rel): Use elf_scnshndx.
348 (handle_relocs_rela): Likewise.
349
350 * readelf.c: Add lots of likely/unlikely.
351
352 * elflint.c: Minor cleanups.
353
Roland McGrath1a2e8f42007-12-15 23:39:34 +00003542007-11-19 Roland McGrath <roland@redhat.com>
355
356 * readelf.c (print_ops): Handle all bad op codes gracefully.
357 Print their numbers instead of just ???.
358
Roland McGrath07a696e2007-11-09 22:44:26 +00003592007-11-09 Roland McGrath <roland@redhat.com>
360
361 * readelf.c (attr_callback): Handle DW_AT_data_location.
Roland McGrath1a2e8f42007-12-15 23:39:34 +0000362 Handle block forms to mean a DWARF expression for DW_AT_allocated,
363 DW_AT_associated, DW_AT_bit_size, DW_AT_bit_offset, DW_AT_bit_stride,
364 DW_AT_byte_size, DW_AT_byte_stride, DW_AT_count, DW_AT_lower_bound,
365 DW_AT_upper_bound.
Roland McGrath07a696e2007-11-09 22:44:26 +0000366
Roland McGrathe4c22ea2007-10-23 13:07:39 +00003672007-10-20 Roland McGrath <roland@redhat.com>
368
369 * unstrip.c (options): Update -R description.
370 (struct symbol): Put symbol details a union with a size_t pointer
371 `duplicate'.
372 (compare_symbols_output): Use null ->name as marker for discard
373 symbols, not zero *->map.
374 (copy_elided_sections): Record forwarding pointers for discarded
375 duplicates and fill SYMNDX_MAP elements through them.
376
377 * readelf.c (process_file): Set offline_next_address to 0 at start.
378 (struct process_dwflmod_args): New type.
379 (process_dwflmod): Take args in it, pass fd to process_elf_file.
380 (process_file): Update caller; dup FD for passing to libdwfl.
381 (process_elf_file): Take new arg FD. For ET_REL file when
382 displaying data affected by libdwfl relocation, open a new Elf handle.
383
3842007-10-17 Roland McGrath <roland@redhat.com>
385
386 * readelf.c (print_debug_line_section): For invalid data inside a
387 unit with plausible length, keep printing at the next unit boundary.
388
389 * readelf.c (attr_callback): Use dwarf_formref_die, not dwarf_formref.
390
3912007-10-16 Roland McGrath <roland@redhat.com>
392
393 * readelf.c (hex_dump): Fix rounding error in whitespace calculation.
394
Ulrich Drepperb597dfa2007-10-16 05:21:27 +00003952007-10-15 Roland McGrath <roland@redhat.com>
396
397 * make-debug-archive.in: New file.
398 * Makefile.am (EXTRA_DIST): Add it.
399 (make-debug-archive): New target.
400 (bin_SCRIPTS, CLEANFILES): Add it.
401
4022007-10-10 Roland McGrath <roland@redhat.com>
403
404 * elflint.c (special_sections): Add new attrflag value exact_or_gnuld.
405 Use it to check MERGE|STRINGS for .debug_str.
406 (check_sections): Handle exact_or_gnuld.
407
4082007-10-08 Roland McGrath <roland@redhat.com>
409
410 * readelf.c (handle_core_item): Handle 'T'|0x80 to indicate
411 64-bit struct timeval with 32-bit tv_usec.
412
4132007-10-07 Roland McGrath <roland@redhat.com>
414
415 * readelf.c (check_archive_index): New function.
416 (process_file): Call it. Change signature to take only fd and name.
417 Use libdwfl to open the file, then iterate on its modules (multiple
418 for an archive) to print file name and call process_elf_file.
419 (main): Update caller. Let process_file do elf_begin.
420 (count_dwflmod, process_dwflmod, find_no_debuginfo): New functions.
421 (process_elf_file): Take only Dwfl_Module * argument.
422 Don't print the file name here.
423 (print_debug_*_section): Take Dwfl_Module * argument.
424 (print_debug): Likewise. Update caller.
425 (format_dwarf_addr): New function.
426 (print_debug_ranges_section): Use it.
427 (attr_callback): Likewise.
428 (print_debug_line_section, print_debug_loc_section): Likewise.
429
430 * readelf.c (print_debug_ranges_section): Translate all strings.
431 (print_debug_loc_section): Likewise.
432
433 * unstrip.c (copy_elided_sections): Initialize SEC.
434
435 * ar.c (do_oper_insert): Put trailing / on short names.
436
437 * arlib.h (MAX_AR_NAME_LEN): Decrease by one.
438
439 * arlib2.c (arlib_add_long_name): Adjust for header size.
440
441 * arlib.c (arlib_finalize): Pad long name table to keep size even.
442
443 * ar.c (do_oper_insert): Use write_retry for padding write.
444
445 * ar.c (do_oper_insert): Initialize CUR_OFF in no_old case.
446 Unconditionally set FOUND[CNT]->elf when setting ->mem.
447 (remember_long_name): New function.
448 (do_oper_insert): Call it. Correctly use length of basename,
449 not original name. Don't store long name twice for new member.
450
4512007-10-06 Roland McGrath <roland@redhat.com>
452
453 * elflint.c (check_note): Skip empty segment.
454 (check_note_section): Skip empty section.
455
456 * unstrip.c (options, parse_opt, struct arg_info): Grok -R/--relocate.
457 (handle_output_dir_module, handle_implicit_modules): Pass it down.
458 (handle_dwfl_module): When set, use ET_REL already loaded by Dwfl.
459 (compare_alloc_sections): Take new arg REL, ignore address if true.
460 (compare_sections): Likewise, pass it down.
461 (compare_sections_rel, compare_sections_nonrel): New functions.
462 (find_alloc_sections_prelink, copy_elided_sections): Use them
463 instead of compare_sections.
464 (sections_match): New function, broken out of ...
465 (find_alloc_section): ... here.
466 (copy_elided_sections): Reorganize section match-up logic.
467 Use sections_match for SHF_ALLOC in ET_REL.
468 For ET_REL, let the nonzero sh_addr from the debug file dominate.
469
470 * unstrip.c (add_new_section_symbols): Take new arg REL.
471 When true, do not update section symbol values.
472 (collect_symbols): Likewise. Update section symbols with address
473 of chosen output section, not original section.
474 (check_symtab_section_symbols, copy_elided_sections): Update callers.
475
476 * unstrip.c (compare_alloc_sections): At the same address, preserve
477 original section order.
478
479 * elflint.c (special_sections): Don't require MERGE|STRINGS for
480 .debug_str, it didn't always have them with older tools.
481
482 * elflint.c (check_symtab, check_one_reloc): Ignore sh_addr in ET_REL.
483
4842007-10-05 Roland McGrath <roland@redhat.com>
485
486 * elflint.c (check_symtab): Allow SHN_UNDEF _GLOBAL_OFFSET_TABLE_ in
487 ET_REL file.
488
489 * elflint.c (check_symtab): For _GLOBAL_OFFSET_TABLE_, diagnose
490 SHN_UNDEF as "bad section". Use shndx value in messages.
491
492 * elflint.c (special_sections): Add ".debug_str". Decrement namelen
493 for ".debug" so it matches as a prefix.
494 (IS_KNOWN_SPECIAL): New macro.
495 (check_sections): Use it for ".plt" match. Cite wrong SHT_NOBITS
496 type even under -d, for a .debug* or .shstrtab section.
497
498 * readelf.c (print_ops): Use hex for address operand.
499
5002007-10-04 Roland McGrath <roland@redhat.com>
501
502 * unstrip.c (copy_elided_sections): Initialize NDX_SECTION element for
503 .gnu_debuglink section to SHN_UNDEF. Drop STT_SECTION symbols for
504 sections mapped to SHN_UNDEF.
505
Ulrich Drepper3fc3d7b2007-10-04 18:40:28 +00005062007-10-04 Ulrich Drepper <drepper@redhat.com>
507
508 * readelf.c (dump_archive_index): Avoid warning about uninitialized
509 variable with older glibc versions.
510 Add some branch prediction.
511
Roland McGrath59ea7f32007-10-04 08:50:09 +00005122007-10-04 Roland McGrath <roland@redhat.com>
513
514 * readelf.c (print_archive_index): New variable.
515 (options, parse_opt): Accept -c/--archive-index to set it.
516 (dump_archive_index): New function.
517 (process_file): Take new arg WILL_PRINT_ARCHIVE_INDEX.
518 Call dump_archive_index on archives if set.
519 (main): Update caller.
520 (any_control_option): Give it file scope, moved out of ...
521 (parse_opt): ... here.
522
5232007-10-03 Roland McGrath <roland@redhat.com>
524
525 * unstrip.c (struct arg_info): Add `list' flag.
526 (options, parse_opt): Grok -n/--list to set it.
527 (list_module): New function.
528 (handle_implicit_modules): Call it under -n.
529
530 * elflint.c (check_note_section): New function.
531 (check_sections): Call it for SHT_NOTE.
532
533 * readelf.c (handle_notes): Use sections when available.
534
535 * elflint.c (check_note_data): New function, broken out of ...
536 (check_note): ... here. Call it and elf_getdata_rawchunk.
537
538 * readelf.c (handle_auxv_note): Take offset as argument, not buffer.
539 Use elf_getdata_rawchunk and gelf_getauxv.
540 (handle_notes_data): New function, broken out of ...
541 (handle_notes): ... here. Call it and elf_getdata_rawchunk.
542
Roland McGrath241ac022007-10-01 18:21:46 +00005432007-10-01 Roland McGrath <roland@redhat.com>
544
Roland McGrathac0a16c2007-10-01 18:50:35 +0000545 * readelf.c (hex_dump): Fix transposed subtraction generating spaces.
546
Roland McGrath241ac022007-10-01 18:21:46 +0000547 * readelf.c (hex_dump): Fix line header to be hex instead of decimal.
548
Roland McGrathc76f0b02007-09-27 07:31:33 +00005492007-09-10 Roland McGrath <roland@redhat.com>
550
551 * readelf.c (options): Give -p optional argument, alias --string-dump.
552 (string_sections, string_sections_tail): New static variables.
553 (parse_opt): Set them when -p has an argument.
554 (print_string_section): New function, broken out of ...
555 (print_strings): ... here. Call it.
556 (dump_data_section): New function, broken out of ...
557 (dump_data): ... here. Call it.
558 (for_each_section_argument): New function, broken out of ...
559 (dump_data): ... here. Call it.
560 (dump_strings): New function.
561
5622007-08-31 Roland McGrath <roland@redhat.com>
563
564 * readelf.c (print_strings): Typo fix.
565
Roland McGrathcb6d8652007-08-23 08:10:54 +00005662007-08-23 Roland McGrath <roland@redhat.com>
567
568 * readelf.c (printf_with_wrap): Function removed.
569 (REGISTER_WRAP_COLUMN): New macro.
570 (handle_core_register): Use print_core_item instead.
571 (struct register_info): New type.
572 (compare_registers, compare_register_sets): New functions.
573 (register_bitpos, compare_sets_by_info): New functions.
574 (handle_core_registers): Use those to segregate and sort registers
575 for display.
576
577 * readelf.c (ITEM_WRAP_COLUMN): New macro.
578 (print_core_item): New function.
579 (handle_core_item): Use it instead of printf_with_wrap.
580 (compare_core_items, compare_core_item_groups): New functions.
581 (handle_core_items): Use them. Sort by group and force line breaks
582 between groups.
583
584 * readelf.c (handle_core_registers, handle_core_items): New functions,
585 broken out of ...
586 (handle_core_note): ... here. Call them.
587
5882007-08-22 Roland McGrath <roland@redhat.com>
589
590 * unstrip.c (new_shstrtab): New function, broken out of ...
591 (copy_elided_sections): ... here.
592
5932007-08-20 Roland McGrath <roland@redhat.com>
594
595 Avoid local function trampolines in nm binary.
596 * nm.c (sort_by_address): Move to a static function instead of local
597 inside show_symbols.
598 (sort_by_name_strtab): New static variable.
599 (sort_by_name): Use it. Move to a static function instead of local
600 inside show_symbols.
601 (show_symbols): Set sort_by_name_strtab.
602
6032007-08-19 Roland McGrath <roland@redhat.com>
604
605 * readelf.c (handle_auxv_note): New function.
606 (handle_notes): Call it.
607
608 * readelf.c (printf_with_wrap, convert): New functions.
609 (handle_core_item, (handle_core_register): New functions.
610 (handle_notes): Call those with details from ebl_core_note.
611
Roland McGrath099dd522007-08-13 22:58:36 +00006122007-08-12 Roland McGrath <roland@redhat.com>
613
614 * elflint.c (check_note): Accept type 0 with name "Linux".
615
616 * elflint.c (special_sections): Accept SHF_ALLOC for ".note".
617
618 * elflint.c (section_flags_string): Return "none" for 0, not "".
619
Roland McGrathd8221722007-08-11 21:18:09 +00006202007-08-11 Roland McGrath <roland@redhat.com>
621
622 * elflint.c (check_note): Accept NT_GNU_HWCAP, NT_GNU_BUILD_ID.
623
Ulrich Drepperc98bcc72007-08-04 17:06:14 +00006242007-08-04 Ulrich Drepper <drepper@redhat.com>
625
626 * readelf.c (hex_dump): Use isprint to determine whether to print
627 character itself or full stop character.
628 (dump_data): No need to check endp for NULL after strtol call.
629
Roland McGrath60fc84c2007-08-03 21:59:15 +00006302007-08-03 Roland McGrath <roland@redhat.com>
631
632 * readelf.c (print_string_sections): New variable.
633 (options, parse_opt): Handle --strings/-p to set it.
634 (print_strings): New function.
635 (process_elf_file): Call it under -p.
636
637 * readelf.c (options): Add hidden aliases --segments, --sections,
638 as taken by binutils readelf.
639
6402007-08-01 Roland McGrath <roland@redhat.com>
641
642 * readelf.c (dump_data_sections, dump_data_sections_tail):
643 New variables.
644 (options, parse_opt): Handle --hex-dump/-x, set them.
645 (hex_dump): New function.
646 (dump_data): New function, call it.
647 (process_elf_file): Call it.
648
6492007-07-25 Roland McGrath <roland@redhat.com>
650
651 * addr2line.c (show_symbols): New variable.
652 (print_addrsym): New function.
653 (handle_address): Call it.
654 (options, parse_opt): Handle -S/--symbols.
655
Ulrich Drepperb0243862007-06-06 00:09:36 +00006562007-06-05 Ulrich Drepper <drepper@redhat.com>
657
658 * addr2line.c: Update for latest autoconf header.
659 * ar.c: Likewise.
660 * elfcmp.c: Likewise.
661 * elflint.c: Likewise.
662 * findtextrel.c: Likewise.
663 * ld.c: Likewise.
664 * ldgeneric.c: Likewise.
665 * nm.c: Likewise.
666 * objdump.c: Likewise.
667 * ranlib.c: Likewise.
668 * readelf.c: Likewise.
669 * size.c: Likewise.
670 * strings.c: Likewise.
671 * strip.c: Likewise.
672 * unstrip.c: Likewise.
673
Roland McGrath9aa8ef72007-05-18 08:59:43 +00006742007-05-18 Roland McGrath <roland@redhat.com>
675
676 * unstrip.c (copy_elided_sections): Match up non-NOBITS sections with
677 stripped file, so as not to duplicate a section copied in both.
678
679 * strip.c (handle_elf): Keep SHT_NOTE section copies in the debug file.
680
6812007-05-17 Roland McGrath <roland@redhat.com>
682
683 * unstrip.c (copy_elided_sections): Don't call gelf_newphdr for 0.
684
685 * unstrip.c (handle_file): Tweak BIAS != 0 warning.
686
687 * unstrip.c (handle_file): Take new arg CREATE_DIRS. If set,
688 call make_directories here.
689 (handle_explicit_files): Take new arg CREATE_DIRS, pass it down.
690 (handle_dwfl_module): Likewise.
691 (handle_implicit_modules): Update callers.
692 (handle_output_dir_module): Likewise. Don't do make_directories here.
693
694 * unstrip.c (get_section_name): New function, broken out of ...
695 (copy_elided_sections): here. Update callers.
696 (find_alloc_section): Broken out of ...
697 (copy_elided_sections): ... here. Update caller.
698 (symtab_count_leading_section_symbols): Take new arg NEWSYMDATA,
699 update STT_SECTION symbols' st_value fields as a side effect.
700 (check_symtab_section_symbols): Update caller.
701 (add_new_section_symbols): Set st_value in symbols added.
702 (collect_symbols): Reset S->value for STT_SECTION symbols recorded.
703 Take new arg SPLIT_BSS. Adjust S->shndx recorded for symbols moved
704 from .bss to .dynbss.
705 (find_alloc_sections_prelink): New function. Associate debug file
706 allocated SHT_NOBITS shdrs with stripped moved by prelink via
707 .gnu.prelink_undo information.
708 (copy_elided_sections): Call it when we couldn't find every allocated
709 section. Don't use a debug file non-NOBITS section if SHF_ALLOC.
710 Take STRIPPED_EHDR arg instead of E_TYPE and PHNUM.
711 (handle_file): Update callers.
712
713 * unstrip.c (copy_elided_sections): Ignore unfound unallocated section
714 named ".comment".
715
716 * elflint.c (check_sections): Fix association of segments with
717 sections when p_memsz > p_filesz.
718
7192007-04-29 Roland McGrath <roland@redhat.com>
720
721 * addr2line.c (options, main): Tweak argp group settings to fix
722 usage output.
723
7242007-04-28 Roland McGrath <roland@redhat.com>
725
726 * strip.c (handle_elf): Update debug file's SHT_NOBITS sections'
727 sizes to match sections adjusted in the stripped file.
728
Roland McGrath4be15242007-04-25 03:09:33 +00007292007-04-24 Roland McGrath <roland@redhat.com>
730
731 * elfcmp.c (OPT_HASH_INEXACT): New macro.
732 (hash_inexact): New variable.
733 (options, parse_opt): Add --hash-inexact option to set it.
734 (hash_content_equivalent): New function.
735 (main): Call it for differing SHT_HASH sections under --hash-inexact.
736
7372007-04-23 Roland McGrath <roland@redhat.com>
738
739 * unstrip.c: New file.
740 * Makefile.am (bin_PROGRAMS): Add it.
741 (unstrip_LDADD): New variable.
742
743 * strip.c (options): Allow --output for -o.
744
Ulrich Drepper8b383102007-02-16 00:31:57 +00007452007-02-15 Ulrich Drepper <drepper@redhat.com>
746
747 * readelf.c: Remove unused code. Add a few consts.
748
Ulrich Drepper903c1162007-02-15 19:40:37 +00007492007-02-15 Roland McGrath <roland@redhat.com>
750
751 * readelf.c (print_debug): Fix brainos in SHDR test.
752
Roland McGrathf82a1ec2007-02-06 04:47:44 +00007532007-02-05 Roland McGrath <roland@redhat.com>
754
755 * ar.c: Include <limits.h>, since we use LONG_MAX.
756
Ulrich Drepper0fe63532007-02-05 21:05:51 +00007572007-02-05 Ulrich Drepper <drepper@redhat.com>
758
Ulrich Drepper8b383102007-02-16 00:31:57 +0000759 * ar.c: Add ugly hack to work around gcc complaining that we
Ulrich Drepper93ab56f2007-02-05 22:12:41 +0000760 ignore fchown's return value.
761 (do_oper_insert): Handle error when writing padding.
762 * ranlib.c: Add fchown complain work around.
763
Ulrich Drepper0fe63532007-02-05 21:05:51 +0000764 * arlib.c: Make symtab a global variable. Change all users.
765 * arlib2.c: Likewise.
766 * ranlib.c: Likewise.
767 * ar.c: Likewise.
768 * arlib.h: Declare it.
769
Ulrich Drepperaa915fd2007-02-05 07:25:33 +00007702007-01-11 Roland McGrath <roland@redhat.com>
771
772 * elflint.c (check_sections): Use ebl_machine_section_flag_check on
773 SHF_MASKPROC bits separately from generic sh_flags validation.
774
Ulrich Drepperce0bdb62007-02-05 07:13:52 +00007752007-02-04 Ulrich Drepper <drepper@redhat.com>
776
777 * ar.c: New file.
778 * arlib.c: New file.
779 * arlib2.c: New file.
780 * arlib.h: New file.
781 * Makefile (noinst_LIBRARIES): Add libar.
782 (libar_a_SOURCES): Define.
783 (ar_LDADD): Define.
784 (CFLAGS_ar): Define.
785 * ranlib.c: Change to use arlib.
786
787 * elflint.c (check_symtab): Work around GNU ld bug which omits
788 sections but not symbols in those sections.
789
Ulrich Drepperb770cf92007-01-10 21:02:34 +00007902007-01-10 Ulrich Drepper <drepper@redhat.com>
791
792 * addr2line.c: Update copyright year.
793 * elfcmp.c: Likewise.
794 * elflint.c: Likewise.
795 * findtextrel.c: Likewise.
796 * ld.c: Likewise.
797 * nm.c: Likewise.
798 * objdump.c: Likewise.
799 * ranlib.c: Likewise.
800 * readelf.c: Likewise.
801 * size.c: Likewise.
802 * strings.c: Likewise.
803 * strip.c: Likewise.
804
Ulrich Drepper7c0e79f2006-12-09 21:10:19 +00008052006-12-09 Ulrich Drepper <drepper@redhat.com>
806
807 * elflint.c (compare_hash_gnu_hash): New function. Report if the
808 two hash tables have different content (module expected omission
809 of undefined symbols).
810
Roland McGrath8190db62006-12-17 23:56:51 +00008112006-10-31 Roland McGrath <roland@redhat.com>
812
813 * elflint.c (check_program_header): Don't complain about
Ulrich Drepper56bc0b82006-12-18 22:38:08 +0000814 p_filesz > p_memsz if p_memsz is zero and p_type is PT_NOTE.
Roland McGrath8190db62006-12-17 23:56:51 +0000815
8162006-09-19 Jakub Jelinek <jakub@redhat.com>
817
818 * strip.c (process_file): Disallow -f on archives.
819
8202006-10-09 Roland McGrath <roland@redhat.com>
821
822 * Makefile.am (libld_elf_i386.so): Use $(LINK), not $(CC).
823
Roland McGrathc373d852006-10-10 00:25:21 +00008242006-08-29 Roland McGrath <roland@redhat.com>
825
826 * Makefile.am (MAINTAINERCLEANFILES): New variable.
827
828 * readelf.c (handle_relocs_rel): Typo fix, test DESTSHDR properly.
829 Reported by Christian Aichinger <Greek0@gmx.net>.
830
831 * elflint.c (valid_e_machine): Add EM_ALPHA.
832 Reported by Christian Aichinger <Greek0@gmx.net>.
833
Ulrich Drepper231c5902006-08-08 22:00:11 +00008342006-08-08 Ulrich Drepper <drepper@redhat.com>
835
836 * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
837 Keep track of which "high DT" entries are present.
838 Check that either old or GNU-style hash table is present.
839 If GNU-style hash table is used a symbol table is mandatory.
840 Check that if any prelink entry is present all of them are.
841 (check_gnu_hash): Only fail for undefined symbols in GNU-style hash
842 table if they don't refer to functions.
843
Roland McGrath858b1892006-07-17 08:41:15 +00008442006-07-17 Roland McGrath <roland@redhat.com>
845
846 * elflint.c (struct version_namelist): Use GElf_Versym for `ndx' field.
847 (add_version): Likewise for argument.
848 (check_versym): Cast constant to GElf_Versym for comparison.
849
Roland McGrath4ec807e2006-07-13 03:59:46 +00008502006-07-12 Roland McGrath <roland@redhat.com>
851
852 * readelf.c (handle_gnu_hash): Add casts for machines where
853 Elf32_Word != unsigned int.
854
Ulrich Drepperdcf61602006-07-12 19:59:02 +00008552006-07-12 Ulrich Drepper <drepper@redhat.com>
856
857 * elflint.c (check_sysv_hash64): Fix printf format.
858
Ulrich Dreppercc415622006-07-12 19:42:23 +00008592006-07-11 Roland McGrath <roland@redhat.com>
Ulrich Drepper8ae58142006-07-12 05:22:32 +0000860
Ulrich Dreppercc415622006-07-12 19:42:23 +0000861 * addr2line.c (options): English fix in -f doc string.
862
863 * addr2line.c (use_comp_dir): New variable.
864 (options, parse_opt): Grok -A/--absolute to set it.
865 (handle_address): If set, prepend dwfl_line_comp_dir results to
866 relative file names.
Ulrich Drepper8ae58142006-07-12 05:22:32 +0000867
Ulrich Drepper28ed8952006-07-07 03:43:47 +00008682006-07-06 Ulrich Drepper <drepper@redhat.com>
869
870 * elflint.c: Adjust for latest new hash table format.
871 * readelf.c: Likewise.
872
873 * elflint.c (check_versym): Ignore hidden bit when comparing version
874 numbers.
875
8762006-07-05 Ulrich Drepper <drepper@redhat.com>
877
878 * ldgeneric.c (ld_generic_create_outfile): Correctly recognize
879 discarded COMDAT symbols.
880
881 * i386_ld.c (elf_i386_count_relocations): Lot of corrections.
882 (elf_i386_create_relocations): Likewise.
883 * ld.h (struct symbol): Add local and hidden bits.
884 * ld.c (create_special_section_symbol): These synthsized symbols
885 are local and hidden.
886 * ldgeneric.c (file_process2): Check whether input file matches
887 the emulation.
888 (fillin_special_symbol): Create symbols as local and/or hidden
889 if requested.
890 (ld_generic_create_outfile): Make local copy of symbol.
891 Don't hide global, defined symbols in dynamic symbol table unless
892 requested. Synthetic symbols have no version information.
893
894 * elflint.c: Add support for checking 64-bit SysV-style hash tables.
895 * readelf.c: Add support for printing 64-bit SysV-style hash tables.
896
8972006-07-04 Ulrich Drepper <drepper@redhat.com>
898
899 * elflint.c (is_rel_dyn): Fix and extend DT_RELCOUNT/DT_RELACOUNT
900 testing.
901
9022006-07-03 Ulrich Drepper <drepper@redhat.com>
903
904 * elflint.c: Add testing of DT_GNU_HASH.
905 * readelf.c: Implement showing histogram for DT_GNU_HASH section.
906
907 * Makefile.am: Add hacks to create dependency files for non-generic
908 linker.
909
Ulrich Drepper6ca46002006-06-12 22:40:23 +00009102006-06-12 Ulrich Drepper <drepper@redhat.com>
911
912 * ldgeneric.c (ld_generic_generate_sections): Don't create .interp
913 section if creating a DSO and no interpreter is given.
914 (ld_generic_create_outfile): Don't store reference to symbols in
915 discarded COMDAT groups. Don't create PHDR and INTERP program header
916 for DSO if no interpreter is specified.
Ulrich Drepper595d0e72006-06-12 23:25:17 +0000917 (create_verneed_data): Pretty printing.
918
Ulrich Drepper6ca46002006-06-12 22:40:23 +0000919 * ldscript.y (content): If a DSO is created don't set default
920 interpreter from linker script.
921
922 * i386_ld.c (elf_i386_count_relocations): Do not add relocations
923 for symbols in discarded COMDAT groups.
924 (elf_i386_create_relocations): Likewise.
925 * ld.h (struct scninfo): Add unused_comdat.
926 * ldgeneric.c (add_section): Also check group signature when
927 matching COMDAT sections.
928 (add_relocatable_file): Ignore symbols in COMDAT group which are
929 discarded.
930
931 * elflint.c (check_one_reloc): For *_NONE relocs only check type
932 and symbol reference.
933
Ulrich Drepper54f33a72006-06-11 09:07:37 +00009342006-06-11 Ulrich Drepper <drepper@redhat.com>
935
Ulrich Dreppercbb51e52006-06-11 20:25:23 +0000936 * elflint.c (check_dynamic): Fix checking value of tags which are
937 offsets in the string section. Make sure DT_STRTAB points to the
938 section referenced in sh_link.
939
940 * ld.c (options): Add headers. Add short option 'R' for '--rpath'.
941
Ulrich Drepper54f33a72006-06-11 09:07:37 +0000942 * ld.c: Recognize --eh-frame-hdr option.
943 * ld.h (struct ld_state): Add eh_frame_hdr field.
944 * ldgeneric.c (struct unw_eh_frame_hdr): Define.
945
946 * ldgeneric.c (add_section): Use ebl_sh_flags_combine instead of
947 SH_FLAGS_COMBINE.
948 (add_relocatable_file): Minor optimization of last change.
949 (match_section): Don't preserve SHF_GROUP flag any longer.
950
Ulrich Drepper2d880282006-06-11 00:20:43 +00009512006-06-10 Ulrich Drepper <drepper@redhat.com>
952
953 * ld.c (parse_z_option): Recognize execstack and noexecstack.
Ulrich Drepper4f0a7a82006-06-11 00:53:45 +0000954 Handle record and ignore as position dependent options.
955 (parse_z_option_2): Handle ignore and record here.
Ulrich Drepper2d880282006-06-11 00:20:43 +0000956 * ld.h (struct ld_state): Add execstack field.
957 * ldgeneric.c (add_relocatable_file): Recognize .note.GNU-stack
958 sections.
959 (ld_generic_create_outfile): Fix program header creation in native
960 linker. Add PT_GNU_STACK program header.
961
Ulrich Dreppera688a732006-06-10 06:33:00 +00009622006-06-09 Ulrich Drepper <drepper@redhat.com>
963
964 * i386_ld.c (elf_i386_finalize_plt): Don't change symbol table entries
965 for PLT entries if there is no local definition.
966
967 * ld.c (parse_option): Handle -z ignore like --as-needed and
968 -z record like --no-as-needed.
969 * ld.h (struct ld_state): Remove ignore_unused_dsos field.
970 * ldgeneric.c (new_generated_scn): Always compute ndt_needed by
971 looping over DSOs. When deciding about adding DT_NEEDED entries
972 use ->as_needed instead of ignore_unused_dsos.
973
Ulrich Drepper8c56fe32006-05-31 15:50:43 +00009742006-05-31 Ulrich Drepper <drepper@redhat.com>
Ulrich Drepper11b030e2006-05-28 20:28:19 +0000975
Ulrich Drepper8c56fe32006-05-31 15:50:43 +0000976 * ld.c: Recognize --as-needed and --no-as-needed options.
977 * ld.h (struct usedfile): Add as_needed field.
978 (struct ld_state): Likewise.
979 * ldgeneric.c (ld_handle_filename_list): Copy as_needed flag from
980 the list.
981 * ldscript.y (filename_id_list): Split to correctly parse all
982 combinations.
983 (mark_as_needed): Fix loop.
Ulrich Drepper11b030e2006-05-28 20:28:19 +0000984
Ulrich Drepper697f4db2006-06-10 06:50:47 +00009852006-05-28 Ulrich Drepper <drepper@redhat.com>
986
987 * addr2line.c (print_dwarf_function): Use unsigned type for lineno
988 and colno.
989
Ulrich Drepper2cb8e732006-05-27 21:57:27 +00009902006-05-27 Ulrich Drepper <drepper@redhat.com>
991
992 * readelf.c (handle_relocs_rela): Better notations for addon value.
Ulrich Drepper41a99082006-05-28 00:01:43 +0000993 (print_ehdr): Distinguish e_ident[EI_VERSION] from e_version.
Ulrich Drepper2cb8e732006-05-27 21:57:27 +0000994
Ulrich Drepper82c345d2006-04-04 22:07:54 +00009952006-04-04 Ulrich Drepper <drepper@redhat.com>
996
997 * addr2line.c: Update copyright year.
998 * elfcmp.c: Likewise.
999 * elflint.c: Likewise.
1000 * findtextrel.c: Likewise.
1001 * ld.c: Likewise.
1002 * nm.c: Likewise.
1003 * objdump.c: Likewise.
1004 * ranlib.c: Likewise.
1005 * readelf.c: Likewise.
1006 * size.c: Likewise.
1007 * strings.c: Likewise.
1008 * strip.c: Likewise.
1009
Roland McGrathdd7e22b2006-03-09 23:05:47 +000010102006-03-09 Roland McGrath <roland@redhat.com>
1011
1012 * Makefile.am (AM_LDFLAGS): New variable.
1013
Roland McGrath060fa052006-03-02 07:51:50 +000010142006-03-01 Roland McGrath <roland@redhat.com>
1015
1016 * readelf.c (dwarf_tag_string, dwarf_attr_string): Update name tables
1017 for dwarf.h changes matching 3.0 spec.
1018 (dwarf_encoding_string, dwarf_lang_string, print_ops): Likewise.
1019
Ulrich Drepper038129b2005-12-04 16:47:24 +000010202005-12-04 Ulrich Drepper <drepper@redhat.com>
1021
1022 * elflint.c (check_one_reloc): If relocation section is not loaded,
1023 don't check whether the relocations modify read-only sections or
1024 loaded and unloaded sections.
1025
Ulrich Drepper607e0542005-12-04 15:51:06 +000010262005-11-28 Ulrich Drepper <drepper@redhat.com>
1027
1028 * elflint.c (check_one_reloc): Take additional parameters. Use
1029 them to determine whether relocation is valid in this type of
1030 file. DSOs and executables can contain relocation sections in
1031 unloaded sections which just show the relocations the linker
1032 applied. Adjust all callers.
1033 (check_program_header): Check that PT_PHDR is loaded and that offset
1034 matches the one in the ELF header.
1035
Roland McGrath6724c902005-10-28 07:07:19 +000010362005-10-26 Roland McGrath <roland@redhat.com>
1037
1038 * nm.c (get_var_range): dwarf_getloclist -> dwarf_getlocation.
1039
Ulrich Drepperd0449522005-09-03 07:23:52 +000010402005-09-03 Ulrich Drepper <drepper@redhat.com>
1041
Ulrich Dreppere3f9b7d2005-09-03 16:42:46 +00001042 * strip.c (handle_elf): Unify some error messages.
1043 * ld.c (main): Likewise.
1044 * ldgeneric.c (open_elf): Likewise.
1045 * elfcmp.c (main): Likewise.
1046 * elflint.c (check_elf_header): Likewise.
1047
1048 * size.c (process_file): Fix typo in error message.
1049
Ulrich Drepperd0449522005-09-03 07:23:52 +00001050 * readelf.c: Lots of little cleanups. Use _unlocked functions.
1051
Ulrich Dreppera60501e2005-09-02 19:50:17 +000010522005-09-02 Ulrich Drepper <drepper@redhat.com>
1053
Ulrich Dreppere3f9b7d2005-09-03 16:42:46 +00001054 * strings.c (main): Reset elfmap variable after munmap call.
Ulrich Drepper618795f2005-09-02 20:01:37 +00001055 [_MUDFLAP] (map_file): Simplify mudflap debugging by not using mmap.
Ulrich Dreppera60501e2005-09-02 19:50:17 +00001056
Ulrich Drepperfbe998a2005-08-29 16:27:10 +000010572005-08-28 Ulrich Drepper <drepper@redhat.com>
1058
1059 * ranlib.c: Don't define pread_retry and write_retry here.
1060
1061 * Makefile.an [BUILD_STATIC] (libdw): Add -ldl.
1062 (CLEANFILES): Add *.gcno *.gcda *.gconv.
1063
1064 * strings.c (process_chunk): Reorder expressions in conditional
1065 (process_chunk_mb): Likewise.
1066
1067 * strings.c: New file.
1068 * Makefile.am (bin_PROGRAMS): Add strings.
1069 (strings_no_Wstring): Define.
1070 (strings_LDADD): Define.
1071
Roland McGrath71e15a02005-08-27 10:33:26 +000010722005-08-27 Roland McGrath <roland@redhat.com>
1073
1074 * addr2line.c (dwarf_diename_integrate): Function removed.
1075 (print_dwarf_function): Use plain dwarf_diename.
1076
Ulrich Drepperc5a06cd2005-08-24 19:50:14 +000010772005-08-24 Ulrich Drepper <drepper@redhat.com>
1078
1079 * elflint.c (check_versym): Versioned symbols should not have
1080 local binding.
1081
Ulrich Drepper5d832292005-08-15 21:36:27 +000010822005-08-15 Ulrich Drepper <drepper@redhat.com>
1083
Ulrich Drepper61655e02005-08-16 04:23:02 +00001084 * elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
1085 undefined.
1086
Ulrich Drepper5d832292005-08-15 21:36:27 +00001087 * Makefile.am: Add rules to build ranlib.
1088 * ranlib.c: New file.
1089
Roland McGrath18e13422005-08-15 08:01:25 +000010902005-08-14 Roland McGrath <roland@redhat.com>
1091
1092 * elflint.c (check_sections): Use ebl_section_type_name and allow any
1093 sh_type it recognizes.
1094
1095 * elflint.c (check_sections): Print unknown flags in hex, don't
1096 truncate high bits. Print section number and name for unknown type.
1097
Roland McGrathf6895042005-08-13 20:56:52 +000010982005-08-13 Roland McGrath <roland@redhat.com>
1099
1100 * elflint.c (check_program_header): Use ebl_segment_type_name and
1101 allow any p_type it recognizes. Include p_type value in error
1102 message for unknown type.
1103
Ulrich Drepperc5c33a62005-08-13 17:50:47 +000011042005-08-13 Ulrich Drepper <drepper@redhat.com>
1105
1106 * elflint.c (check_symtab): Simplify last change a bit. Pass ehdr
1107 to ebl_check_special_symbol.
1108 (check_sections): Pass ehdr to ebl_bss_plt_p.
1109
Roland McGrath653d3762005-08-13 01:59:10 +000011102005-08-12 Roland McGrath <roland@redhat.com>
1111
1112 * elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx
1113 refers to the right section if it's not SHN_ABS.
1114 Let ebl_check_special_symbol override _G_O_T_ value and size checks.
1115
1116 * elflint.c (check_sections): Don't complain about a non-NOBITS
1117 section taking no segment space, if it's sh_size is 0.
1118
1119 * elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should
1120 be PROGBITS or NOBITS.
1121
1122 * elflint.c (check_symtab): Use ebl_check_special_symbol to override
1123 standard st_value and st_size checks.
1124
Roland McGrath1c83bf12005-08-11 07:03:55 +000011252005-07-28 Roland McGrath <roland@redhat.com>
Ulrich Drepperfaf4d192005-08-11 05:12:05 +00001126
Roland McGrath1c83bf12005-08-11 07:03:55 +00001127 * addr2line.c (options, parse_opt): Don't handle -e here.
1128 (executable): Variable removed.
1129 (argp_children): New static variable.
1130 (argp): Use it. Make const.
1131 (main): Fill in argp_children from dwfl_standard_argp ().
1132 Let libdwfl handle file selection, pass Dwfl handle to handle_address.
1133 (print_dwarf_function): New function. Try to figure out inline chain.
1134 (elf_getname): Function removed, libdwfl does it for us.
1135 (handle_address): Take Dwfl handle instead of Elf, Dwarf handles.
1136 Use dwfl_module_addrname instead of elf_getname.
1137 Use dwfl_module_getsrc and dwfl_lineinfo instead of libdw calls.
1138 * Makefile.am (INCLUDES): Add libdwfl directory to path.
1139
11402005-08-10 Ulrich Drepper <drepper@redhat.com>
1141
1142 * strip.c (parse_opt): STATE parameter is now used.
1143 Various little cleanups.
1144
1145 * readelf.c (print_debug_line_section): Correct fallout of renaming
1146 of DW_LNS_set_epilog_begin.
Ulrich Drepper6d5c3bd2005-08-11 04:37:52 +00001147
Roland McGrath8f31c2c2005-08-09 04:58:05 +000011482005-08-08 Roland McGrath <roland@redhat.com>
1149
1150 * strip.c (options, parse_opt): Grok -R .comment for compatibility
1151 with binutils strip. Likewise -d, -S, as aliases for -g.
1152 Likewise ignore -s/--strip-all.
1153
Roland McGrath095a01b2005-08-08 03:49:35 +000011542005-08-07 Roland McGrath <roland@redhat.com>
1155
1156 * strip.c (process_file): Open read-only when using a different output
1157 file.
1158
Ulrich Drepper47be7952005-08-07 04:41:39 +000011592005-08-06 Ulrich Drepper <drepper@redhat.com>
1160
Ulrich Drepper637963b2005-08-07 05:33:07 +00001161 * elflint.c (in_nobits_scn): New function.
1162 (check_versym): Allow references for defined symbols against versions
1163 of other DSOs also for symbols in nobits sections.
1164 Move a few variables around.
1165
Ulrich Drepper47be7952005-08-07 04:41:39 +00001166 * Makefile.am (AM_CFLAGS): Avoid duplication.
1167 Link with statis libs if BUILD_STATIC.
1168
Ulrich Drepperdbace232005-08-06 01:37:23 +000011692005-08-05 Ulrich Drepper <drepper@redhat.com>
1170
1171 * elflint.c: Many, many more tests. Mostly related to symbol
1172 versioning. Those sections should now be completely checked.
1173
1174 * readelf.c (print_dynamic): Use gelf_offscn.
1175
Ulrich Drepperacb89832005-08-04 07:01:49 +000011762005-08-04 Ulrich Drepper <drepper@redhat.com>
1177
1178 * elflint.c: Add lots more tests: more extension symbol table sanity,
1179 versioning section tests, hash table tests. General cleanup.
1180
Ulrich Drepperc911c9e2005-08-02 16:07:42 +000011812005-08-02 Ulrich Drepper <drepper@redhat.com>
1182
Ulrich Drepper8a687742005-08-03 02:24:12 +00001183 * objdump.c: New file.
1184 * Makefile.am (bin_PROGRAMS): Add objdump.
1185 (objdump_LDADD): Define.
1186
Ulrich Drepperc911c9e2005-08-02 16:07:42 +00001187 * elflint.c (check_reloc_shdr): New function split out from check_rela
1188 and check_rel.
1189 (check_one_reloc): New function. Likewise.
1190 (check_rela): Use check_reloc_shdr and check_one_reloc.
1191 (check_rel): Likewise.
Ulrich Drepper41de4882005-08-03 00:02:56 +00001192 (check_program_header): Check that PT_DYNAMIC entry matches .dynamic
1193 section.
1194 Add checks that relocations against read-only segments are flagged,
1195 that the text relocation flag is not set unnecessarily, and that
1196 relocations in one section are either against loaded or not-loaded
1197 segments.
Ulrich Drepperc911c9e2005-08-02 16:07:42 +00001198
Ulrich Drepper8533dcf2005-08-01 07:18:47 +000011992005-08-01 Ulrich Drepper <drepper@redhat.com>
1200
1201 * elfcmp.c (main): Ignore section count and section name string table
1202 section index.
1203
Roland McGrathf9ece8a2005-07-28 07:03:04 +000012042005-07-27 Roland McGrath <roland@redhat.com>
1205
1206 * elfcmp.c: Include <locale.h>.
1207
Ulrich Drepper7d48d6a2005-07-27 10:13:23 +000012082005-07-27 Ulrich Drepper <drepper@redhat.com>
1209
1210 * elfcmp.c: Print name and index of differing section.
1211
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000012122005-07-24 Ulrich Drepper <drepper@redhat.com>
1213
1214 * elfcmp.c: Implement comparing gaps between sections.
1215
12162005-07-23 Ulrich Drepper <drepper@redhat.com>
1217
1218 * elflint.c: Include libeblP.h instead of libebl.h.
1219 * nm.c: Likewise.
1220 * readelf.c: Likewise.
1221 * elfcmp.c: Likewise.
1222
1223 * elfcmp.c (main): Compare individual ELF header fields, excluding
1224 e_shoff instead of the whole struct at once.
1225 Use ebl_section_strip_p instead of SECTION_STRIP_P.
1226 * strip.c: Use ebl_section_strip_p instead of SECTION_STRIP_P.
1227
12282005-07-22 Ulrich Drepper <drepper@redhat.com>
1229
1230 * elfcmp.c (main): Take empty section into account when comparing
1231 section content.
1232
1233 * elflint.c (check_dynamic): Check that d_tag value is >= 0 before
1234 using it.
1235
12362005-07-21 Ulrich Drepper <drepper@redhat.com>
1237
1238 * elfcmp.c: New file.
1239 * Makefile.am (bin_PROGRAMS): Add elfcmp.
1240 (elfcmp_LDADD): Define.
1241
1242 * elflint.c (check_rela): Check that copy relocations only reference
1243 object symbols or symbols with unknown type.
1244 (check_rel): Likewise.
1245
12462005-06-08 Roland McGrath <roland@redhat.com>
1247
1248 * readelf.c (print_ops): Add consts.
1249
12502005-05-31 Roland McGrath <roland@redhat.com>
1251
1252 * readelf.c (print_debug_abbrev_section): Don't bail after first CU's
1253 abbreviations. Print a header line before each CU section.
1254
1255 * readelf.c (print_debug_loc_section): Fix indentation for larger
1256 address size.
1257
12582005-05-30 Roland McGrath <roland@redhat.com>
1259
1260 * readelf.c (print_debug_line_section): Print section offset of each
1261 CU's table, so they are easy to find from seeing the stmt_list value.
1262
1263 * readelf.c (dwarf_attr_string): Add all attributes in <dwarf.h>.
1264 (attr_callback): Grok DW_AT_ranges and print offset in hex.
1265
1266 * readelf.c (attr_callback): Add 2 to addrsize * 2 for %#0* format.
1267 (print_debug_ranges_section, print_debug_loc_section): Likewise.
1268
1269 * readelf.c (print_ops): Take different args for indentation control.
1270 (attr_callback): Caller updated.
1271 Grok several more block-form attributes as being location expressions.
1272 For those same attributes with udata forms, format output differently
1273 for location list offset.
1274 (print_debug_loc_section): Implement it for real.
1275
1276 * readelf.c (options): Mention ranges for --debug-dump.
1277 (enum section_e): Add section_ranges.
1278 (parse_opt): Grok "ranges" for -w/--debug-dump.
1279 (print_debug_ranges_section): New function.
1280 (print_debug): Handle .debug_ranges section.
1281
12822005-05-30 Ulrich Drepper <drepper@redhat.com>
1283
1284 * readelf.c (handle_notes): At least x86-64 need not have the note
1285 section values aligned to 8 bytes.
1286
12872005-05-18 Ulrich Drepper <drepper@redhat.com>
1288
1289 * readelf.c (dwarf_tag_string): Add new tags.
1290
12912005-05-08 Roland McGrath <roland@redhat.com>
1292
1293 * strip.c (handle_elf): Don't translate hash and versym data formats,
1294 elf_getdata already did it for us.
1295
12962005-05-07 Ulrich Drepper <drepper@redhat.com>
1297
1298 * Makefile.am (findtextrel_LDADD): Add $(libmudflap).
1299 (addr2line_LDADD): Likewise.
1300
13012005-05-03 Roland McGrath <roland@redhat.com>
1302
1303 * strip.c (handle_elf): Apply symbol table fixups to discarded
1304 relocation sections when they are being saved in the debug file.
1305
1306 * strip.c (handle_elf): Pass EHDR->e_ident[EI_DATA] to gelf_xlatetom
1307 and gelf_xlatetof, not the native byte order.
1308
1309 * strip.c (parse_opt): Give error if -f or -o is repeated.
1310 (main): Exit if argp_parse returns nonzero.
1311
1312 * strip.c (debug_fname_embed): New variable.
1313 (options, parse_opt): New option -F to set it.
1314
13152005-05-07 Ulrich Drepper <drepper@redhat.com>
1316
1317 * readelf.c (parse_opt): Make any_control_option variable
1318 local. Simplify some tests.
1319
13202005-05-03 Roland McGrath <roland@redhat.com>
1321
1322 * strip.c (crc32_file): Function removed (now in ../lib).
1323
13242005-05-03 Roland McGrath <roland@redhat.com>
1325
1326 * elflint.c (is_debuginfo): New variable.
1327 (options, parse_opt): New option --debuginfo/-d to set it.
1328 (check_sections): If is_debuginfo, don't complain about SHT_NOBITS.
1329 (check_note): If is_debuginfo, don't try to get note contents.
1330
13312005-04-24 Ulrich Drepper <drepper@redhat.com>
1332
1333 * readelf.c (print_debug_abbrev_section): Don't print error when end of
1334 section reached.
1335
13362005-04-14 Ulrich Drepper <drepper@redhat.com>
1337
1338 * readelf.c (dwarf_encoding_string): New function.
1339 (dwarf_inline_string): New function.
1340 (dwarf_access_string): New function.
1341 (dwarf_visibility_string): New function.
1342 (dwarf_virtuality_string): New function.
1343 (dwarf_identifier_case_string): New function.
1344 (dwarf_calling_convention_string): New function.
1345 (dwarf_ordering_string): New function.
1346 (dwarf_discr_list_string): New function.
1347 (attr_callback): Decode man more attribute values.
1348
13492005-04-01 Ulrich Drepper <drepper@redhat.com>
1350
1351 * addr2line.c: Finish implementation of -f option.
1352
13532005-03-29 Ulrich Drepper <drepper@redhat.com>
1354
1355 * addr2line.c: New file.
1356 * Makefile.am (bin_PROGRAMS): Add addr2line.
1357 Define addr2line_LDADD.
1358
1359 * findtextrel.c: Use new dwarf_addrdie function.
1360
1361 * findtextrel.c: Fix usage message and re-add accidentally removed
1362 line.
1363
13642005-03-28 Ulrich Drepper <drepper@redhat.com>
1365
1366 * findtextrel.c: New file.
1367 * Makefile: Add rules to build findtextrel.
1368
13692005-02-15 Ulrich Drepper <drepper@redhat.com>
1370
1371 * ldlex.l: Provide ECHO definition to avoid warning.
1372
1373 * elflint.c (check_program_header): Fix typo in RELRO test.
1374
1375 * Makefile.am (AM_CFLAGS): Add more warning options.
1376 * elflint.c: Fix warnings introduced by the new warning options.
1377 * i386_ld.c: Likewise.
1378 * ld.c: Likewise.
1379 * ld.h: Likewise.
1380 * ldgeneric.c: Likewise.
1381 * nm.c: Likewise.
1382 * readelf.c: Likewise.
1383 * sectionhash.c: Likewise.
1384 * size.c: Likewise.
1385 * string.c: Likewise.
1386
13872005-02-05 Ulrich Drepper <drepper@redhat.com>
1388
1389 * Makefile.am: Check for text relocations in constructed DSOs.
1390
1391 * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap. Link all apps
1392 with -lmudflap.
1393
1394 * ldscript.y: Add as_needed handling.
1395 * ldlex.l: Recognize AS_NEEDED token.
1396 * ld.h (struct filename_list): Add as_needed flag.
1397
13982005-02-04 Ulrich Drepper <drepper@redhat.com>
1399
1400 * elflint.c (check_symtab): Correctly determine size of GOT section.
1401
14022005-01-19 Ulrich Drepper <drepper@redhat.com>
1403
1404 * ld.c: Remove unnecessary more_help function. Print bug report
1405 address using argp.
1406 * strip.c: Likewise.
1407 * size.c: Likewise.
1408 * nm.c: Likewise.
1409 * readelf.c: Likewise.
1410 * elflint.c: Likewise.
1411
1412 * elflint.c (main): Don't check for parameter problems here.
1413 (parse_opt): Do it here, where we get informed about some of them
1414 anyway.
1415
1416 * readelf.c (main): Don't check for parameter problems here.
1417 (parse_opt): Do it here, where we get informed about some of them
1418 anyway.
1419
14202005-01-11 Ulrich Drepper <drepper@redhat.com>
1421
1422 * strip.c: Update copyright year.
1423 * readelf.c: Likewise.
1424 * size.c: Likewise.
1425 * nm.c: Likewise.
1426 * ld.c: Likewise.
1427 * elflint.c: Likewise.
1428
1429 * elflint.c (check_symtab): Don't warn about wrong size for
1430 _DYNAMIC and __GLOBAL_OFFSET_TABLE__ for --gnu-ld.
1431
14322004-10-05 Ulrich Drepper <drepper@redhat.com>
1433
1434 * readelf.c (print_phdr): In section mapping, also indicate
1435 sections in read-only segments.
1436
14372004-09-25 Ulrich Drepper <drepper@redhat.com>
1438
1439 * readelf.c: Make compile with gcc 4.0.
1440 * strip.c: Likewise.
1441
14422004-08-16 Ulrich Drepper <drepper@redhat.com>
1443
1444 * strip.c (handle_elf): Rewrite dynamic memory handling to use of
1445 allocate to work around gcc 3.4 bug.
1446
14472004-01-25 Ulrich Drepper <drepper@redhat.com>
1448
1449 * ldlex.l (invalid_char): Better error message.
1450
14512004-01-23 Ulrich Drepper <drepper@redhat.com>
1452
1453 * readelf.c: Print SHT_GNU_LIBLIST sections.
1454
1455 * none_ld.c: New file.
1456
14572004-01-21 Ulrich Drepper <drepper@redhat.com>
1458
1459 * Makefile.am: Enable building of machine specific linker.
1460
14612004-01-20 Ulrich Drepper <drepper@redhat.com>
1462
1463 * Makefile.am: Support building with mudflap.
1464
1465 * i386_ld.c: Fix warnings gcc 3.4 spits out.
1466 * ldgeneric.c: Likewise.
1467 * ldscript.y: Likewise.
1468 * readelf.c: Likewise.
1469 * strip.c: Likewise.
1470
1471 * readelf.c (print_debug_line_section): Determine address size
1472 correctly.
1473
14742004-01-19 Ulrich Drepper <drepper@redhat.com>
1475
1476 * readelf.c (print_phdr): Show which sections are covered by the
1477 PT_GNU_RELRO entry.
1478
1479 * elflint.c (check_program_header): Check PT_GNU_RELRO entry.
1480
1481 * readelf.c (print_debug_macinfo_section): Implement.
1482
14832004-01-18 Ulrich Drepper <drepper@redhat.com>
1484
1485 * readelf.c (print_debug_line_section): Implement.
1486
14872004-01-17 Ulrich Drepper <drepper@redhat.com>
1488
1489 * src/elflint.c: Use PACKAGE_NAME instead of PACKAGE.
1490 * src/ld.c: Likewise.
1491 * src/nm.c: Likewise.
1492 * src/readelf.c: Likewise.
1493 * src/size.c: Likewise.
1494 * src/strip.c: Likewise.
1495
1496 * strip.c: Add a few more unlikely. Reduce scope of some variables.
1497
1498 * Makefile.am: Support building with mudflap.
1499
15002004-01-16 Ulrich Drepper <drepper@redhat.com>
1501
1502 * readelf.c (print_debug_info_section): Free dies memory.
1503
1504 * readelf.c: Print .debug_info section content.
1505
15062004-01-13 Ulrich Drepper <drepper@redhat.com>
1507
1508 * readelf.c (print_shdr): Add support for SHF_ORDERED and SHF_EXCLUDE.
1509
15102004-01-12 Ulrich Drepper <drepper@redhat.com>
1511
1512 * readelf.c (print_debug_aranges): Implement using libdw.
1513
15142004-01-11 Ulrich Drepper <drepper@redhat.com>
1515
1516 * nm.c: Adjust for Dwarf_Files type and dwarf_lineno interface change.
1517
1518 * readelf.c: Use libdw instead of libdwarf. Not all of the old
1519 behavior is available yet.
1520 * Makefile.am: Link readelf with libdw. Remove libdwarf include path.
1521
15222004-01-09 Ulrich Drepper <drepper@redhat.com>
1523
1524 * nm.c (get_local_names): Adjust call to dwarf_nextcu.
1525
1526 * nm.c: Implement getting information about local variables.
1527
15282004-01-07 Ulrich Drepper <drepper@redhat.com>
1529
1530 * nm.c: Read also debug information for local symbols.
1531
15322004-01-05 Ulrich Drepper <drepper@redhat.com>
1533
1534 * nm.c: Shuffle dwarf handling code around so the maximum column
1535 width can be computed ahead of printing. Avoid collection symbols
1536 which are not printed anyway.
1537
1538 * nm.c: Rewrite dwarf handling to use libdw.
1539 * Makefile.am (AM_CFLAGS): Add -std parameter.
1540 (INCLUDES): Find header in libdw subdir.
1541 (nm_LDADD): Replace libdwarf with libdw.
1542
1543 * elflint.c: Update copyright year.
1544 * readelf.c: Likewise.
1545 * size.c: Likewise.
1546 * strip.c: Likewise.
1547 * nm.c: Likewise.
1548
15492003-12-31 Ulrich Drepper <drepper@redhat.com>
1550
1551 * strip.c (process_file): Close file before returning.
1552
15532003-11-19 Ulrich Drepper <drepper@redhat.com>
1554
1555 * readelf.c (handle_dynamic): Make column for tag name wider.
1556
15572003-09-29 Ulrich Drepper <drepper@redhat.com>
1558
1559 * readelf.c (handle_dynamic): Always terminate tag name with a space.
1560
15612003-09-25 Ulrich Drepper <drepper@redhat.com>
1562
1563 * strip.c (process_file): Don't mmap the input file, we modify the
1564 data structures and don't want the change end up on disk.
1565
15662003-09-23 Jakub Jelinek <jakub@redhat.com>
1567
1568 * unaligned.h (union u_2ubyte_unaligned,
1569 union u_4ubyte_unaligned, union u_8ubyte_unaligned): Add
1570 packed attribute.
1571 (add_2ubyte_unaligned, add_4ubyte_unaligned,
1572 add_8ubyte_unaligned): Avoid nesting bswap_NN macros.
1573 Read/store value through _ptr->u instead of *_ptr.
1574
15752003-09-22 Ulrich Drepper <drepper@redhat.com>
1576
1577 * size.c (show_sysv): Change type of maxlen to int.
1578
1579 * strip.c (handle_elf): Handle the 64-bit archs which is 64-bit
1580 buckets.
1581
1582 * i386_ld.c: Many many fixes and extensions.
1583 * ld.c: Likewise.
1584 * ldgeneric.c: Likewise.
1585
15862003-08-16 Ulrich Drepper <drepper@redhat.com>
1587
1588 * ldgeneric.c (check_definition): Don't add symbol on dso_list if
1589 the reference is from another DSO.
1590
15912003-08-15 Ulrich Drepper <drepper@redhat.com>
1592
1593 * ldgeneric.c (find_entry_point): It is no fatal error if no entry
1594 point is found when creating a DSO.
1595
15962003-08-14 Ulrich Drepper <drepper@redhat.com>
1597
1598 * ld.c (main): Always call FLAG_UNRESOLVED.
1599 * ldgeneric.c (ld_generic_flag_unresolved): Only complain about
1600 undefined symbols if not creating DSO or ld_state.nodefs is not set.
1601
16022003-08-13 Ulrich Drepper <drepper@redhat.com>
1603
1604 * Makefile.in: Depend on libebl.a, not libebl.so.
1605
1606 * ld.c (main): Mark stream for linker script as locked by caller.
1607 (read_version_script): Likewise.
1608 * ldlex.c: Define fread and fwrite to _unlocked variant.
1609
1610 * i386_ld.c (elf_i386_finalize_plt): Replace #ifdefs with uses of
1611 target_bswap_32.
1612 * unaligned.h: Define target_bswap_16, target_bswap_32, and
1613 target_bswap_64.
1614 (store_2ubyte_unaligned, store_4ubyte_unaligned,
1615 store_8ubyte_unaligned): Define using new macros.
1616
16172003-08-12 Ulrich Drepper <drepper@redhat.com>
1618
1619 * i386_ld.c (elf_i386_finalize_plt): Use packed structs to access
1620 possibly unaligned memory. Support use of big endian machines.
1621
16222003-08-11 Ulrich Drepper <drepper@redhat.com>
1623
1624 * Moved to CVS archive.