blob: 0d4149ecd5911e9223636f66110d0a62ba3e2c26 [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.
5 (print_debug_exception_table): Beginning of support.
6 (print_debug): Hook up print_debug_exception_table for
7 .gcc_except_table sections.
8
9 * readelf.c (print_debug_frame_section): Some fixes for last change.
10
Ulrich Drepper351bf202009-01-15 20:18:40 -0800112009-01-15 Ulrich Drepper <drepper@redhat.com>
12
13 * readelf.c (print_encoding): Now a toplevel function.
14 (print_relinfo): Likewise.
15 (print_encoding_base): Broken out of print_debug_frame_section.
16 (print_debug_frame_section): Print different header for .eh_frame
17 sections. Fix recognition of matching CIEs in .debug_frame sections.
18 Print absolute offset for PC-relative FDE locations. Don't print
19 table header for FDEs if the table is empty.
20 (read_encoded): New function.
21 (print_debug_frame_hdr_section): New function.
22 (print_debug): Hook up print_debug_frame_hdr_section for .eh_frame_hdr
23 sections.
24
25 * readelf.c (handle_relocs_rel): Print section number.
26 (print_debug_abbrev_section): Likewise.
27 (print_debug_aranges_section): Likewise.
28 (print_debug_ranges_section): Likewise.
29 (print_debug_info_section): Likewise.
30 (print_debug_line_section): Likewise.
31 (print_debug_loc_section): Likewise.
32 (print_debug_macinfo_section): Likewise.
33 (print_debug_pubnames_section): Likewise.
34 (print_debug_str_section): Likewise.
35
Ulrich Drepper8b394632009-01-10 18:29:56 -0800362009-01-10 Ulrich Drepper <drepper@redhat.com>
37
38 * strings.c (read_block): Fix typo in error message string.
39
Ulrich Drepper87cf5832009-01-07 20:39:21 -0800402009-01-07 Ulrich Drepper <drepper@redhat.com>
41
42 * ld.c (ld_new_searchdir): Fix adding to search path list.
43
Ulrich Drepperac194d02009-01-06 00:30:01 -0800442009-01-06 Ulrich Drepper <drepper@redhat.com>
45
46 * readelf.c: Implement call frame debug section dumping.
47
Ulrich Drepper44173ed2009-01-01 19:00:41 -0800482009-01-01 Ulrich Drepper <drepper@redhat.com>
49
50 * addr2line.c: Update copyright year.
51 * ar.c: Likewise.
52 * elfcmp.c: Likewise.
53 * elflint.c: Likewise.
54 * findtextrel.c: Likewise.
55 * ld.c: Likewise.
56 * nm.c: Likewise.
57 * objdump.c: Likewise.
58 * ranlib.c: Likewise.
59 * readelf.c: Likewise.
60 * size.c: Likewise.
61 * strings.c: Likewise.
62 * strip.c: Likewise.
63 * unstrip.c: Likewise.
64
Roland McGrath468fe4d2008-12-11 21:00:12 -0800652008-12-11 Roland McGrath <roland@redhat.com>
66
67 * nm.c (sym_name): New function.
68 (show_symbols_sysv): Use it in place of elf_strptr.
69 (show_symbols_bsd, show_symbols_posix): Likewise.
70 Fixes RHBZ#476136.
71
72 * nm.c (show_symbols_sysv): Use an alloca'd backup section name when
73 elf_strptr fails.
74
Roland McGratha845f682008-12-03 03:41:58 +0000752008-12-02 Roland McGrath <roland@redhat.com>
76
77 * readelf.c (count_dwflmod, process_file): Don't presume encoding of
78 nonzero OFFSET argument to dwfl_getmodules.
79
Roland McGrath1d8bb252008-08-07 08:39:41 +0000802008-08-07 Roland McGrath <roland@redhat.com>
81
82 * addr2line.c (main): Pass string to handle_address.
83 (see_one_module): New function, subroutine of handle_address.
84 (find_symbol): Likewise.
85 (handle_address): Take string argument rather than address.
86 Convert plain number, or handle strings like "(section)+offset"
87 or "symbol+offset".
88
892008-08-01 Roland McGrath <roland@redhat.com>
90
91 * readelf.c (handle_core_item): Handle 'B' type for 1-origin bitset.
92 For 'b' and 'B', print <x-y,z> or ~<x,y-z> rather than 1/0 string.
93
94 * readelf.c (convert): Take new argument SIZE.
95 (handle_core_register, handle_core_item): Update callers.
96 (handle_core_item): Take new arg REPEATED_SIZE.
97 (handle_core_items): Special case for a singleton item,
98 let handle_core_item handle repeats if it wants to.
99
100 * readelf.c (handle_core_items): Give abridged output
101 for identical groups repeated more than twice.
102
1032008-07-04 Roland McGrath <roland@redhat.com>
104
105 * readelf.c (handle_core_items): Handle ELF_T_ADDR.
106
Roland McGrath521c47d2008-04-11 07:01:58 +00001072008-04-10 Roland McGrath <roland@redhat.com>
108
109 * strip.c (handle_elf): Don't keep sections that kept symbol tables
110 refer to. Instead, just be sure to preserve the original symbol
111 table in the debug file so those symbols go with their sections and
112 can be elided from the stripped version of the symbol table.
113
114 * strip.c (handle_elf): When a discarded section kept in the debug
115 file refers to a nondiscard section via sh_link/sh_info, preserve
116 that nondiscarded section unmodified in the debug file as well.
117 Skip adjustment of discarded sections symbol table references when
118 that symbol table is copied in this way.
119
120 * elflint.c (check_symtab): Don't crash from missing symbol names
121 after diagnosing bogus strtab.
122
123 * strip.c (handle_elf): Cosmetic cleanup in special section contents
124 adjustment for symtab changes.
125
Roland McGrath13b69602008-04-01 02:30:05 +00001262008-03-31 Roland McGrath <roland@redhat.com>
127
128 * elflint.c (check_sections): Add checks on SHF_EXECINSTR sections:
129 must be SHT_PROGBITS, must not be SHF_WRITE. Let backend hook
130 excuse a special section.
131
1322008-03-27 Roland McGrath <roland@redhat.com>
133
134 * elflint.c (check_sections): Check that executability and writability
135 of sections is reflected in segment p_flags.
136
Roland McGrathd11f9cb2008-03-26 20:51:59 +00001372008-03-26 Roland McGrath <roland@redhat.com>
138
139 * elflint.c (check_program_header): Accept PT_GNU_RELRO p_flags
140 that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really
141 is valid in RELRO.
142
Roland McGrath47c5c352008-02-29 10:17:16 +00001432008-02-29 Roland McGrath <roland@redhat.com>
144
145 * readelf.c (print_attributes): Add a cast.
146 * elflint.c (check_attributes): Likewise.
147
148 * unaligned.h (add_8ubyte_unaligned): Cast PTR argument for parity
149 with [UNALIGNED_ACCESS_CLASS == BYTE_ORDER] definition.
150 (add_4ubyte_unaligned, add_2ubyte_unaligned): Likewise.
151
Ulrich Drepper834de6f2008-02-23 06:50:01 +00001522008-02-03 Ulrich Drepper <drepper@redhat.com>
153
154 * i386_ld.c (elf_i386_count_relocations): Implement R_386_TLS_GD
155 when linked into executable.
156 (elf_i386_create_relocations): Likewise.
157
Roland McGrath059c83e2008-02-21 06:19:39 +00001582008-02-20 Roland McGrath <roland@redhat.com>
159
160 * readelf.c (print_attributes): New function.
161 (process_elf_file): Call it under -A.
162
163 * elflint.c (check_attributes): Implement it for real.
164
1652008-02-19 Roland McGrath <roland@redhat.com>
166
167 * elflint.c (special_sections): Handle .gnu.attributes section.
168 (check_sections): Likewise.
169 (check_attributes): New function.
170
1712008-02-10 Roland McGrath <roland@redhat.com>
172
173 * elfcmp.c (main): Ignore sh_offset differences in non-SHF_ALLOC
174 sections and ET_REL files.
175
Ulrich Drepper712d78e2008-02-02 10:01:53 +00001762008-02-02 Ulrich Drepper <drepper@redhat.com>
177
178 * elf32-i386.script: Add .eh_frame_hdr, .tdata, and .tbss sections.
179 * i386_ld.c (elf_i386_count_relocations): Handle R_386_TLS_LDO_32
180 and R_386_TLS_LE.
181 (elf_i386_create_relocations): Likewise.
182 * ld.h (struct ld_state): Add need_tls, tls_start, and tls_tcb
183 elements.
184 * ldgeneric.c (add_section): If TLS section is used, set need_tls flag.
185 (ld_generic_create_outfile): Add PT_TLS entry to program header.
186 Fix generation of PT_GNU_STACK entry.
187
Ulrich Drepperc54785a2008-02-01 18:05:21 +00001882008-02-01 Ulrich Drepper <drepper@redhat.com>
189
Ulrich Drepper7cd1bf72008-02-01 23:52:59 +0000190 * ld.c (replace_args): Prevent loop over replacements if the parameter
191 is only two characters long.
192
Ulrich Drepperc54785a2008-02-01 18:05:21 +0000193 * ld.c: Recognize sha1 argument for --build-id parameter.
194 * ldgeneric.c (create_build_id_section): Handle sha1.
195 (compute_hash_sum): New function. Broken out of compute_build_id.
196 Take hash function and context as parameters.
197 (compute_build_id): Use compute_hash_sum for md5 and the new sha1
198 implementation.
199
Ulrich Drepper89759c72008-01-31 19:44:12 +00002002008-01-31 Ulrich Drepper <drepper@redhat.com>
201
202 * elf32-i386.script: Add .note.ABI-tag and .note.gnu.build-id sections.
203 * ld.c: Recognize --build-id command line parameter.
204 * ld.h: Define scn_dot_note_gnu_build_id.
205 (struct ld_state): Add build_id and buildidscnidx elements.
206 * ldgeneric.c: Implement --build-id command line parameter.
207 * ldlex.l (ID): Recognize - as valid character after the first one.
208
Ulrich Drepper5530ec52008-01-29 10:42:07 +00002092008-01-29 Ulrich Drepper <drepper@redhat.com>
210
Ulrich Drepperb61c4cc2008-01-30 07:16:28 +0000211 * ld.c (replace_args): New function.
212 (main): Use it to rewrite old-style parameters.
213
Ulrich Dreppered9b6cb2008-01-30 06:33:33 +0000214 * elf32-i386.script: Add .gnu.hash section.
215 * ldgeneric.c (optimal_bucket_size): A tiny bit more efficient.
216 (fillin_special_symbol): Initialize st_size.
217 (sortfct_hashval): New function.
218 (create_gnu_hash): New function.
219 (create_hash): New function.
220 (ld_generic_create_outfile): Use the new functions to create the
221 hash tables.
222
Ulrich Drepper5530ec52008-01-29 10:42:07 +0000223 * elflint.c (check_gnu_hash): Fix index value printed in error message.
224
Ulrich Drepper0e864dd2008-01-25 00:18:42 +00002252008-01-24 Ulrich Drepper <drepper@redhat.com>
226
227 * elflint.c (check_group): Check that signature symbol for section
228 group is not an empty string.
229 * ldgeneric.c: Remove magic assignment of indeces in the dynsym
230 section. Start implementation of --hash-style.
231 * i386_ld.c: Likewise.
232 * ld.c: Recognize --hash-style.
233 * ld.h (struct scninfo): Add comdat_group.
234 Add additional parameter to finalize_plt callback.
235
Ulrich Drepper5449a6b2008-01-22 15:49:39 +00002362008-01-22 Ulrich Drepper <drepper@redhat.com>
237
238 * ld.h (struct callbacks): Add initialize_gotplt.
239 (struct scnhead): Add scn_dot_gotplt.
240 (struct ld_state): Add gotpltscnidx.
241 * i386_ld.c (elf_i386_initialize_plt): Minor optimization.
242 (elf_i386_initialize_pltrel): Likewise.
243 (elf_i386_initialize_got): There is now a separate .got.plt, so
244 don't do the PLT-related work here. Initialize d_type.
245 (elf_i386_initialize_gotplt): New function.
246 (elf_i386_plt0): Use ud2a after indirect jump.
247 (elf_i386_pic_plt0_entry): Likewise.
248 (elf_i386_finalize_plt): Reference now .got.plt.
249 (elf_i386_count_relocations): For GOT entries which need no relocation
250 don't bump nrel_got.
251 (elf_i386_create_relocations): Also get .got.plt. Rewrite R-386_GOT32
252 handling for split .got/.got.plt.
253 (elf_i386_ld_init): Initialize callbacks.initialize_gotplt.
254 * elf32-i386.script: Sort sections for security. There are no .got
255 input sections. Add .got.plt.
256 * ldgeneric.c (ld_generic_generate_sections): Add .got.plt section.
257 (ld_generic_create_outfile): Initialize .got.plt section.
258 Use .got.plt address for _GLOBAL_OFFSET_TABLE_ symbol and DT_PLTGOT.
259
Ulrich Drepperd9488292008-01-20 16:43:15 +00002602008-01-19 Ulrich Drepper <drepper@redhat.com>
261
262 * i386_ld.c (elf_i386_count_relocations): PLT relocations for undefined
263 symbols are not carried over into statically linked output files.
264 Add dummy entries for more TLS relocations.
265
266 * ld.c (options): Add long names for -( and -).
267
268 * ldgeneric.c (check_definition): For newly found definitions don't
269 mark section as used if symbol is absolute.
270 (extract_from_archive): Only assign archive sequence number the first
271 time the archive is handled. Update ld_state.last_archive_used
272 if any symbol was used. Remove nround variable.
273 (file_process2): When using symbol from an archive, update
274 ld_state.group_start_archive, ld_state.archives, and
275 ld_state.tailarchives.
276 (ld_generic_file_process): If group is not handled anymore, after
277 freeing ELF handles for the archives, clear ld_state.archives and
278 *nextp. Fix wrong logic in recognizing first iteration of group
279 loop. When clearing flags, also clear ld_state.group_start_archive.
280
Ulrich Drepper5eee1222008-01-11 10:12:18 +00002812008-01-11 Ulrich Drepper <drepper@redhat.com>
282
283 * objdump.c (show_disasm): Adjust disassembler format string for
284 removal of %e.
285
Ulrich Dreppere219f1c2008-01-09 05:49:49 +00002862008-01-04 Roland McGrath <roland@redhat.com>
287
Roland McGrath059c83e2008-02-21 06:19:39 +0000288 * readelf.c (handle_core_items): Take new arg DESCSZ; if nonzero,
289 a size greater than the items cover means multiple sets of items.
290 (handle_core_note): Update caller.
291
2922008-01-04 Roland McGrath <roland@redhat.com>
293
Ulrich Dreppere219f1c2008-01-09 05:49:49 +0000294 * strip.c (handle_elf): Move SHDRIDX defn to silence gcc warning.
295
2962008-01-03 Roland McGrath <roland@redhat.com>
297
298 * ld.h (linked_from_dso_p): Use __attribute__ ((__gnu_inline__)).
299
300 * elflint.c (check_dynamic): Remove duplicate initializer.
301
Ulrich Drepperad024af2008-01-02 17:42:52 +00003022008-01-02 Ulrich Drepper <drepper@redhat.com>
303
304 * addr2line.c: Update copyright year.
305 * ar.c: Likewise.
306 * elfcmp.c: Likewise.
307 * elflint.c: Likewise.
308 * findtextrel.c: Likewise.
309 * ld.c: Likewise.
310 * nm.c: Likewise.
311 * objdump.c: Likewise.
312 * ranlib.c: Likewise.
313 * readelf.c: Likewise.
314 * size.c: Likewise.
315 * strings.c: Likewise.
316 * strip.c: Likewise.
317 * unstrip.c: Likewise.
318
Ulrich Drepper3cbdd382008-01-02 17:44:39 +00003192007-12-30 Ulrich Drepper <drepper@redhat.com>
320
321 * objdump (show_disasm): Use %e after third parameter.
322
3232007-12-21 Ulrich Drepper <drepper@redhat.com>
324
325 * strip.c: Fix wrong parenthesis in a few branch predictions.
326 * strings.c: Likewise.
327
3282007-12-20 Ulrich Drepper <drepper@redhat.com>
329
330 * Makefile.am (DEFS): Add DEBUGPRED.
331 * addr2line.c: Include debugpred.h.
332 * ar.c: Likewise.
333 * elfcmp.c: Likewise.
334 * elflint.c: Likewise.
335 * findtextrel.c: Likewise.
336 * nm.c: Likewise.
337 * objdump.c: Likewise.
338 * ranlib.c: Likewise.
339 * readelf.c: Likewise.
340 * size.c: Likewise.
341 * strings.c: Likewise.
342 * strip.c: Likewise.
343 * unstrip.c: Likewise.
344 * debugpred.h: New file.
345
346 * readelf.c (handle_relocs_rel): Use elf_scnshndx.
347 (handle_relocs_rela): Likewise.
348
349 * readelf.c: Add lots of likely/unlikely.
350
351 * elflint.c: Minor cleanups.
352
Roland McGrath1a2e8f42007-12-15 23:39:34 +00003532007-11-19 Roland McGrath <roland@redhat.com>
354
355 * readelf.c (print_ops): Handle all bad op codes gracefully.
356 Print their numbers instead of just ???.
357
Roland McGrath07a696e2007-11-09 22:44:26 +00003582007-11-09 Roland McGrath <roland@redhat.com>
359
360 * readelf.c (attr_callback): Handle DW_AT_data_location.
Roland McGrath1a2e8f42007-12-15 23:39:34 +0000361 Handle block forms to mean a DWARF expression for DW_AT_allocated,
362 DW_AT_associated, DW_AT_bit_size, DW_AT_bit_offset, DW_AT_bit_stride,
363 DW_AT_byte_size, DW_AT_byte_stride, DW_AT_count, DW_AT_lower_bound,
364 DW_AT_upper_bound.
Roland McGrath07a696e2007-11-09 22:44:26 +0000365
Roland McGrathe4c22ea2007-10-23 13:07:39 +00003662007-10-20 Roland McGrath <roland@redhat.com>
367
368 * unstrip.c (options): Update -R description.
369 (struct symbol): Put symbol details a union with a size_t pointer
370 `duplicate'.
371 (compare_symbols_output): Use null ->name as marker for discard
372 symbols, not zero *->map.
373 (copy_elided_sections): Record forwarding pointers for discarded
374 duplicates and fill SYMNDX_MAP elements through them.
375
376 * readelf.c (process_file): Set offline_next_address to 0 at start.
377 (struct process_dwflmod_args): New type.
378 (process_dwflmod): Take args in it, pass fd to process_elf_file.
379 (process_file): Update caller; dup FD for passing to libdwfl.
380 (process_elf_file): Take new arg FD. For ET_REL file when
381 displaying data affected by libdwfl relocation, open a new Elf handle.
382
3832007-10-17 Roland McGrath <roland@redhat.com>
384
385 * readelf.c (print_debug_line_section): For invalid data inside a
386 unit with plausible length, keep printing at the next unit boundary.
387
388 * readelf.c (attr_callback): Use dwarf_formref_die, not dwarf_formref.
389
3902007-10-16 Roland McGrath <roland@redhat.com>
391
392 * readelf.c (hex_dump): Fix rounding error in whitespace calculation.
393
Ulrich Drepperb597dfa2007-10-16 05:21:27 +00003942007-10-15 Roland McGrath <roland@redhat.com>
395
396 * make-debug-archive.in: New file.
397 * Makefile.am (EXTRA_DIST): Add it.
398 (make-debug-archive): New target.
399 (bin_SCRIPTS, CLEANFILES): Add it.
400
4012007-10-10 Roland McGrath <roland@redhat.com>
402
403 * elflint.c (special_sections): Add new attrflag value exact_or_gnuld.
404 Use it to check MERGE|STRINGS for .debug_str.
405 (check_sections): Handle exact_or_gnuld.
406
4072007-10-08 Roland McGrath <roland@redhat.com>
408
409 * readelf.c (handle_core_item): Handle 'T'|0x80 to indicate
410 64-bit struct timeval with 32-bit tv_usec.
411
4122007-10-07 Roland McGrath <roland@redhat.com>
413
414 * readelf.c (check_archive_index): New function.
415 (process_file): Call it. Change signature to take only fd and name.
416 Use libdwfl to open the file, then iterate on its modules (multiple
417 for an archive) to print file name and call process_elf_file.
418 (main): Update caller. Let process_file do elf_begin.
419 (count_dwflmod, process_dwflmod, find_no_debuginfo): New functions.
420 (process_elf_file): Take only Dwfl_Module * argument.
421 Don't print the file name here.
422 (print_debug_*_section): Take Dwfl_Module * argument.
423 (print_debug): Likewise. Update caller.
424 (format_dwarf_addr): New function.
425 (print_debug_ranges_section): Use it.
426 (attr_callback): Likewise.
427 (print_debug_line_section, print_debug_loc_section): Likewise.
428
429 * readelf.c (print_debug_ranges_section): Translate all strings.
430 (print_debug_loc_section): Likewise.
431
432 * unstrip.c (copy_elided_sections): Initialize SEC.
433
434 * ar.c (do_oper_insert): Put trailing / on short names.
435
436 * arlib.h (MAX_AR_NAME_LEN): Decrease by one.
437
438 * arlib2.c (arlib_add_long_name): Adjust for header size.
439
440 * arlib.c (arlib_finalize): Pad long name table to keep size even.
441
442 * ar.c (do_oper_insert): Use write_retry for padding write.
443
444 * ar.c (do_oper_insert): Initialize CUR_OFF in no_old case.
445 Unconditionally set FOUND[CNT]->elf when setting ->mem.
446 (remember_long_name): New function.
447 (do_oper_insert): Call it. Correctly use length of basename,
448 not original name. Don't store long name twice for new member.
449
4502007-10-06 Roland McGrath <roland@redhat.com>
451
452 * elflint.c (check_note): Skip empty segment.
453 (check_note_section): Skip empty section.
454
455 * unstrip.c (options, parse_opt, struct arg_info): Grok -R/--relocate.
456 (handle_output_dir_module, handle_implicit_modules): Pass it down.
457 (handle_dwfl_module): When set, use ET_REL already loaded by Dwfl.
458 (compare_alloc_sections): Take new arg REL, ignore address if true.
459 (compare_sections): Likewise, pass it down.
460 (compare_sections_rel, compare_sections_nonrel): New functions.
461 (find_alloc_sections_prelink, copy_elided_sections): Use them
462 instead of compare_sections.
463 (sections_match): New function, broken out of ...
464 (find_alloc_section): ... here.
465 (copy_elided_sections): Reorganize section match-up logic.
466 Use sections_match for SHF_ALLOC in ET_REL.
467 For ET_REL, let the nonzero sh_addr from the debug file dominate.
468
469 * unstrip.c (add_new_section_symbols): Take new arg REL.
470 When true, do not update section symbol values.
471 (collect_symbols): Likewise. Update section symbols with address
472 of chosen output section, not original section.
473 (check_symtab_section_symbols, copy_elided_sections): Update callers.
474
475 * unstrip.c (compare_alloc_sections): At the same address, preserve
476 original section order.
477
478 * elflint.c (special_sections): Don't require MERGE|STRINGS for
479 .debug_str, it didn't always have them with older tools.
480
481 * elflint.c (check_symtab, check_one_reloc): Ignore sh_addr in ET_REL.
482
4832007-10-05 Roland McGrath <roland@redhat.com>
484
485 * elflint.c (check_symtab): Allow SHN_UNDEF _GLOBAL_OFFSET_TABLE_ in
486 ET_REL file.
487
488 * elflint.c (check_symtab): For _GLOBAL_OFFSET_TABLE_, diagnose
489 SHN_UNDEF as "bad section". Use shndx value in messages.
490
491 * elflint.c (special_sections): Add ".debug_str". Decrement namelen
492 for ".debug" so it matches as a prefix.
493 (IS_KNOWN_SPECIAL): New macro.
494 (check_sections): Use it for ".plt" match. Cite wrong SHT_NOBITS
495 type even under -d, for a .debug* or .shstrtab section.
496
497 * readelf.c (print_ops): Use hex for address operand.
498
4992007-10-04 Roland McGrath <roland@redhat.com>
500
501 * unstrip.c (copy_elided_sections): Initialize NDX_SECTION element for
502 .gnu_debuglink section to SHN_UNDEF. Drop STT_SECTION symbols for
503 sections mapped to SHN_UNDEF.
504
Ulrich Drepper3fc3d7b2007-10-04 18:40:28 +00005052007-10-04 Ulrich Drepper <drepper@redhat.com>
506
507 * readelf.c (dump_archive_index): Avoid warning about uninitialized
508 variable with older glibc versions.
509 Add some branch prediction.
510
Roland McGrath59ea7f32007-10-04 08:50:09 +00005112007-10-04 Roland McGrath <roland@redhat.com>
512
513 * readelf.c (print_archive_index): New variable.
514 (options, parse_opt): Accept -c/--archive-index to set it.
515 (dump_archive_index): New function.
516 (process_file): Take new arg WILL_PRINT_ARCHIVE_INDEX.
517 Call dump_archive_index on archives if set.
518 (main): Update caller.
519 (any_control_option): Give it file scope, moved out of ...
520 (parse_opt): ... here.
521
5222007-10-03 Roland McGrath <roland@redhat.com>
523
524 * unstrip.c (struct arg_info): Add `list' flag.
525 (options, parse_opt): Grok -n/--list to set it.
526 (list_module): New function.
527 (handle_implicit_modules): Call it under -n.
528
529 * elflint.c (check_note_section): New function.
530 (check_sections): Call it for SHT_NOTE.
531
532 * readelf.c (handle_notes): Use sections when available.
533
534 * elflint.c (check_note_data): New function, broken out of ...
535 (check_note): ... here. Call it and elf_getdata_rawchunk.
536
537 * readelf.c (handle_auxv_note): Take offset as argument, not buffer.
538 Use elf_getdata_rawchunk and gelf_getauxv.
539 (handle_notes_data): New function, broken out of ...
540 (handle_notes): ... here. Call it and elf_getdata_rawchunk.
541
Roland McGrath241ac022007-10-01 18:21:46 +00005422007-10-01 Roland McGrath <roland@redhat.com>
543
Roland McGrathac0a16c2007-10-01 18:50:35 +0000544 * readelf.c (hex_dump): Fix transposed subtraction generating spaces.
545
Roland McGrath241ac022007-10-01 18:21:46 +0000546 * readelf.c (hex_dump): Fix line header to be hex instead of decimal.
547
Roland McGrathc76f0b02007-09-27 07:31:33 +00005482007-09-10 Roland McGrath <roland@redhat.com>
549
550 * readelf.c (options): Give -p optional argument, alias --string-dump.
551 (string_sections, string_sections_tail): New static variables.
552 (parse_opt): Set them when -p has an argument.
553 (print_string_section): New function, broken out of ...
554 (print_strings): ... here. Call it.
555 (dump_data_section): New function, broken out of ...
556 (dump_data): ... here. Call it.
557 (for_each_section_argument): New function, broken out of ...
558 (dump_data): ... here. Call it.
559 (dump_strings): New function.
560
5612007-08-31 Roland McGrath <roland@redhat.com>
562
563 * readelf.c (print_strings): Typo fix.
564
Roland McGrathcb6d8652007-08-23 08:10:54 +00005652007-08-23 Roland McGrath <roland@redhat.com>
566
567 * readelf.c (printf_with_wrap): Function removed.
568 (REGISTER_WRAP_COLUMN): New macro.
569 (handle_core_register): Use print_core_item instead.
570 (struct register_info): New type.
571 (compare_registers, compare_register_sets): New functions.
572 (register_bitpos, compare_sets_by_info): New functions.
573 (handle_core_registers): Use those to segregate and sort registers
574 for display.
575
576 * readelf.c (ITEM_WRAP_COLUMN): New macro.
577 (print_core_item): New function.
578 (handle_core_item): Use it instead of printf_with_wrap.
579 (compare_core_items, compare_core_item_groups): New functions.
580 (handle_core_items): Use them. Sort by group and force line breaks
581 between groups.
582
583 * readelf.c (handle_core_registers, handle_core_items): New functions,
584 broken out of ...
585 (handle_core_note): ... here. Call them.
586
5872007-08-22 Roland McGrath <roland@redhat.com>
588
589 * unstrip.c (new_shstrtab): New function, broken out of ...
590 (copy_elided_sections): ... here.
591
5922007-08-20 Roland McGrath <roland@redhat.com>
593
594 Avoid local function trampolines in nm binary.
595 * nm.c (sort_by_address): Move to a static function instead of local
596 inside show_symbols.
597 (sort_by_name_strtab): New static variable.
598 (sort_by_name): Use it. Move to a static function instead of local
599 inside show_symbols.
600 (show_symbols): Set sort_by_name_strtab.
601
6022007-08-19 Roland McGrath <roland@redhat.com>
603
604 * readelf.c (handle_auxv_note): New function.
605 (handle_notes): Call it.
606
607 * readelf.c (printf_with_wrap, convert): New functions.
608 (handle_core_item, (handle_core_register): New functions.
609 (handle_notes): Call those with details from ebl_core_note.
610
Roland McGrath099dd522007-08-13 22:58:36 +00006112007-08-12 Roland McGrath <roland@redhat.com>
612
613 * elflint.c (check_note): Accept type 0 with name "Linux".
614
615 * elflint.c (special_sections): Accept SHF_ALLOC for ".note".
616
617 * elflint.c (section_flags_string): Return "none" for 0, not "".
618
Roland McGrathd8221722007-08-11 21:18:09 +00006192007-08-11 Roland McGrath <roland@redhat.com>
620
621 * elflint.c (check_note): Accept NT_GNU_HWCAP, NT_GNU_BUILD_ID.
622
Ulrich Drepperc98bcc72007-08-04 17:06:14 +00006232007-08-04 Ulrich Drepper <drepper@redhat.com>
624
625 * readelf.c (hex_dump): Use isprint to determine whether to print
626 character itself or full stop character.
627 (dump_data): No need to check endp for NULL after strtol call.
628
Roland McGrath60fc84c2007-08-03 21:59:15 +00006292007-08-03 Roland McGrath <roland@redhat.com>
630
631 * readelf.c (print_string_sections): New variable.
632 (options, parse_opt): Handle --strings/-p to set it.
633 (print_strings): New function.
634 (process_elf_file): Call it under -p.
635
636 * readelf.c (options): Add hidden aliases --segments, --sections,
637 as taken by binutils readelf.
638
6392007-08-01 Roland McGrath <roland@redhat.com>
640
641 * readelf.c (dump_data_sections, dump_data_sections_tail):
642 New variables.
643 (options, parse_opt): Handle --hex-dump/-x, set them.
644 (hex_dump): New function.
645 (dump_data): New function, call it.
646 (process_elf_file): Call it.
647
6482007-07-25 Roland McGrath <roland@redhat.com>
649
650 * addr2line.c (show_symbols): New variable.
651 (print_addrsym): New function.
652 (handle_address): Call it.
653 (options, parse_opt): Handle -S/--symbols.
654
Ulrich Drepperb0243862007-06-06 00:09:36 +00006552007-06-05 Ulrich Drepper <drepper@redhat.com>
656
657 * addr2line.c: Update for latest autoconf header.
658 * ar.c: Likewise.
659 * elfcmp.c: Likewise.
660 * elflint.c: Likewise.
661 * findtextrel.c: Likewise.
662 * ld.c: Likewise.
663 * ldgeneric.c: Likewise.
664 * nm.c: Likewise.
665 * objdump.c: Likewise.
666 * ranlib.c: Likewise.
667 * readelf.c: Likewise.
668 * size.c: Likewise.
669 * strings.c: Likewise.
670 * strip.c: Likewise.
671 * unstrip.c: Likewise.
672
Roland McGrath9aa8ef72007-05-18 08:59:43 +00006732007-05-18 Roland McGrath <roland@redhat.com>
674
675 * unstrip.c (copy_elided_sections): Match up non-NOBITS sections with
676 stripped file, so as not to duplicate a section copied in both.
677
678 * strip.c (handle_elf): Keep SHT_NOTE section copies in the debug file.
679
6802007-05-17 Roland McGrath <roland@redhat.com>
681
682 * unstrip.c (copy_elided_sections): Don't call gelf_newphdr for 0.
683
684 * unstrip.c (handle_file): Tweak BIAS != 0 warning.
685
686 * unstrip.c (handle_file): Take new arg CREATE_DIRS. If set,
687 call make_directories here.
688 (handle_explicit_files): Take new arg CREATE_DIRS, pass it down.
689 (handle_dwfl_module): Likewise.
690 (handle_implicit_modules): Update callers.
691 (handle_output_dir_module): Likewise. Don't do make_directories here.
692
693 * unstrip.c (get_section_name): New function, broken out of ...
694 (copy_elided_sections): here. Update callers.
695 (find_alloc_section): Broken out of ...
696 (copy_elided_sections): ... here. Update caller.
697 (symtab_count_leading_section_symbols): Take new arg NEWSYMDATA,
698 update STT_SECTION symbols' st_value fields as a side effect.
699 (check_symtab_section_symbols): Update caller.
700 (add_new_section_symbols): Set st_value in symbols added.
701 (collect_symbols): Reset S->value for STT_SECTION symbols recorded.
702 Take new arg SPLIT_BSS. Adjust S->shndx recorded for symbols moved
703 from .bss to .dynbss.
704 (find_alloc_sections_prelink): New function. Associate debug file
705 allocated SHT_NOBITS shdrs with stripped moved by prelink via
706 .gnu.prelink_undo information.
707 (copy_elided_sections): Call it when we couldn't find every allocated
708 section. Don't use a debug file non-NOBITS section if SHF_ALLOC.
709 Take STRIPPED_EHDR arg instead of E_TYPE and PHNUM.
710 (handle_file): Update callers.
711
712 * unstrip.c (copy_elided_sections): Ignore unfound unallocated section
713 named ".comment".
714
715 * elflint.c (check_sections): Fix association of segments with
716 sections when p_memsz > p_filesz.
717
7182007-04-29 Roland McGrath <roland@redhat.com>
719
720 * addr2line.c (options, main): Tweak argp group settings to fix
721 usage output.
722
7232007-04-28 Roland McGrath <roland@redhat.com>
724
725 * strip.c (handle_elf): Update debug file's SHT_NOBITS sections'
726 sizes to match sections adjusted in the stripped file.
727
Roland McGrath4be15242007-04-25 03:09:33 +00007282007-04-24 Roland McGrath <roland@redhat.com>
729
730 * elfcmp.c (OPT_HASH_INEXACT): New macro.
731 (hash_inexact): New variable.
732 (options, parse_opt): Add --hash-inexact option to set it.
733 (hash_content_equivalent): New function.
734 (main): Call it for differing SHT_HASH sections under --hash-inexact.
735
7362007-04-23 Roland McGrath <roland@redhat.com>
737
738 * unstrip.c: New file.
739 * Makefile.am (bin_PROGRAMS): Add it.
740 (unstrip_LDADD): New variable.
741
742 * strip.c (options): Allow --output for -o.
743
Ulrich Drepper8b383102007-02-16 00:31:57 +00007442007-02-15 Ulrich Drepper <drepper@redhat.com>
745
746 * readelf.c: Remove unused code. Add a few consts.
747
Ulrich Drepper903c1162007-02-15 19:40:37 +00007482007-02-15 Roland McGrath <roland@redhat.com>
749
750 * readelf.c (print_debug): Fix brainos in SHDR test.
751
Roland McGrathf82a1ec2007-02-06 04:47:44 +00007522007-02-05 Roland McGrath <roland@redhat.com>
753
754 * ar.c: Include <limits.h>, since we use LONG_MAX.
755
Ulrich Drepper0fe63532007-02-05 21:05:51 +00007562007-02-05 Ulrich Drepper <drepper@redhat.com>
757
Ulrich Drepper8b383102007-02-16 00:31:57 +0000758 * ar.c: Add ugly hack to work around gcc complaining that we
Ulrich Drepper93ab56f2007-02-05 22:12:41 +0000759 ignore fchown's return value.
760 (do_oper_insert): Handle error when writing padding.
761 * ranlib.c: Add fchown complain work around.
762
Ulrich Drepper0fe63532007-02-05 21:05:51 +0000763 * arlib.c: Make symtab a global variable. Change all users.
764 * arlib2.c: Likewise.
765 * ranlib.c: Likewise.
766 * ar.c: Likewise.
767 * arlib.h: Declare it.
768
Ulrich Drepperaa915fd2007-02-05 07:25:33 +00007692007-01-11 Roland McGrath <roland@redhat.com>
770
771 * elflint.c (check_sections): Use ebl_machine_section_flag_check on
772 SHF_MASKPROC bits separately from generic sh_flags validation.
773
Ulrich Drepperce0bdb62007-02-05 07:13:52 +00007742007-02-04 Ulrich Drepper <drepper@redhat.com>
775
776 * ar.c: New file.
777 * arlib.c: New file.
778 * arlib2.c: New file.
779 * arlib.h: New file.
780 * Makefile (noinst_LIBRARIES): Add libar.
781 (libar_a_SOURCES): Define.
782 (ar_LDADD): Define.
783 (CFLAGS_ar): Define.
784 * ranlib.c: Change to use arlib.
785
786 * elflint.c (check_symtab): Work around GNU ld bug which omits
787 sections but not symbols in those sections.
788
Ulrich Drepperb770cf92007-01-10 21:02:34 +00007892007-01-10 Ulrich Drepper <drepper@redhat.com>
790
791 * addr2line.c: Update copyright year.
792 * elfcmp.c: Likewise.
793 * elflint.c: Likewise.
794 * findtextrel.c: Likewise.
795 * ld.c: Likewise.
796 * nm.c: Likewise.
797 * objdump.c: Likewise.
798 * ranlib.c: Likewise.
799 * readelf.c: Likewise.
800 * size.c: Likewise.
801 * strings.c: Likewise.
802 * strip.c: Likewise.
803
Ulrich Drepper7c0e79f2006-12-09 21:10:19 +00008042006-12-09 Ulrich Drepper <drepper@redhat.com>
805
806 * elflint.c (compare_hash_gnu_hash): New function. Report if the
807 two hash tables have different content (module expected omission
808 of undefined symbols).
809
Roland McGrath8190db62006-12-17 23:56:51 +00008102006-10-31 Roland McGrath <roland@redhat.com>
811
812 * elflint.c (check_program_header): Don't complain about
Ulrich Drepper56bc0b82006-12-18 22:38:08 +0000813 p_filesz > p_memsz if p_memsz is zero and p_type is PT_NOTE.
Roland McGrath8190db62006-12-17 23:56:51 +0000814
8152006-09-19 Jakub Jelinek <jakub@redhat.com>
816
817 * strip.c (process_file): Disallow -f on archives.
818
8192006-10-09 Roland McGrath <roland@redhat.com>
820
821 * Makefile.am (libld_elf_i386.so): Use $(LINK), not $(CC).
822
Roland McGrathc373d852006-10-10 00:25:21 +00008232006-08-29 Roland McGrath <roland@redhat.com>
824
825 * Makefile.am (MAINTAINERCLEANFILES): New variable.
826
827 * readelf.c (handle_relocs_rel): Typo fix, test DESTSHDR properly.
828 Reported by Christian Aichinger <Greek0@gmx.net>.
829
830 * elflint.c (valid_e_machine): Add EM_ALPHA.
831 Reported by Christian Aichinger <Greek0@gmx.net>.
832
Ulrich Drepper231c5902006-08-08 22:00:11 +00008332006-08-08 Ulrich Drepper <drepper@redhat.com>
834
835 * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
836 Keep track of which "high DT" entries are present.
837 Check that either old or GNU-style hash table is present.
838 If GNU-style hash table is used a symbol table is mandatory.
839 Check that if any prelink entry is present all of them are.
840 (check_gnu_hash): Only fail for undefined symbols in GNU-style hash
841 table if they don't refer to functions.
842
Roland McGrath858b1892006-07-17 08:41:15 +00008432006-07-17 Roland McGrath <roland@redhat.com>
844
845 * elflint.c (struct version_namelist): Use GElf_Versym for `ndx' field.
846 (add_version): Likewise for argument.
847 (check_versym): Cast constant to GElf_Versym for comparison.
848
Roland McGrath4ec807e2006-07-13 03:59:46 +00008492006-07-12 Roland McGrath <roland@redhat.com>
850
851 * readelf.c (handle_gnu_hash): Add casts for machines where
852 Elf32_Word != unsigned int.
853
Ulrich Drepperdcf61602006-07-12 19:59:02 +00008542006-07-12 Ulrich Drepper <drepper@redhat.com>
855
856 * elflint.c (check_sysv_hash64): Fix printf format.
857
Ulrich Dreppercc415622006-07-12 19:42:23 +00008582006-07-11 Roland McGrath <roland@redhat.com>
Ulrich Drepper8ae58142006-07-12 05:22:32 +0000859
Ulrich Dreppercc415622006-07-12 19:42:23 +0000860 * addr2line.c (options): English fix in -f doc string.
861
862 * addr2line.c (use_comp_dir): New variable.
863 (options, parse_opt): Grok -A/--absolute to set it.
864 (handle_address): If set, prepend dwfl_line_comp_dir results to
865 relative file names.
Ulrich Drepper8ae58142006-07-12 05:22:32 +0000866
Ulrich Drepper28ed8952006-07-07 03:43:47 +00008672006-07-06 Ulrich Drepper <drepper@redhat.com>
868
869 * elflint.c: Adjust for latest new hash table format.
870 * readelf.c: Likewise.
871
872 * elflint.c (check_versym): Ignore hidden bit when comparing version
873 numbers.
874
8752006-07-05 Ulrich Drepper <drepper@redhat.com>
876
877 * ldgeneric.c (ld_generic_create_outfile): Correctly recognize
878 discarded COMDAT symbols.
879
880 * i386_ld.c (elf_i386_count_relocations): Lot of corrections.
881 (elf_i386_create_relocations): Likewise.
882 * ld.h (struct symbol): Add local and hidden bits.
883 * ld.c (create_special_section_symbol): These synthsized symbols
884 are local and hidden.
885 * ldgeneric.c (file_process2): Check whether input file matches
886 the emulation.
887 (fillin_special_symbol): Create symbols as local and/or hidden
888 if requested.
889 (ld_generic_create_outfile): Make local copy of symbol.
890 Don't hide global, defined symbols in dynamic symbol table unless
891 requested. Synthetic symbols have no version information.
892
893 * elflint.c: Add support for checking 64-bit SysV-style hash tables.
894 * readelf.c: Add support for printing 64-bit SysV-style hash tables.
895
8962006-07-04 Ulrich Drepper <drepper@redhat.com>
897
898 * elflint.c (is_rel_dyn): Fix and extend DT_RELCOUNT/DT_RELACOUNT
899 testing.
900
9012006-07-03 Ulrich Drepper <drepper@redhat.com>
902
903 * elflint.c: Add testing of DT_GNU_HASH.
904 * readelf.c: Implement showing histogram for DT_GNU_HASH section.
905
906 * Makefile.am: Add hacks to create dependency files for non-generic
907 linker.
908
Ulrich Drepper6ca46002006-06-12 22:40:23 +00009092006-06-12 Ulrich Drepper <drepper@redhat.com>
910
911 * ldgeneric.c (ld_generic_generate_sections): Don't create .interp
912 section if creating a DSO and no interpreter is given.
913 (ld_generic_create_outfile): Don't store reference to symbols in
914 discarded COMDAT groups. Don't create PHDR and INTERP program header
915 for DSO if no interpreter is specified.
Ulrich Drepper595d0e72006-06-12 23:25:17 +0000916 (create_verneed_data): Pretty printing.
917
Ulrich Drepper6ca46002006-06-12 22:40:23 +0000918 * ldscript.y (content): If a DSO is created don't set default
919 interpreter from linker script.
920
921 * i386_ld.c (elf_i386_count_relocations): Do not add relocations
922 for symbols in discarded COMDAT groups.
923 (elf_i386_create_relocations): Likewise.
924 * ld.h (struct scninfo): Add unused_comdat.
925 * ldgeneric.c (add_section): Also check group signature when
926 matching COMDAT sections.
927 (add_relocatable_file): Ignore symbols in COMDAT group which are
928 discarded.
929
930 * elflint.c (check_one_reloc): For *_NONE relocs only check type
931 and symbol reference.
932
Ulrich Drepper54f33a72006-06-11 09:07:37 +00009332006-06-11 Ulrich Drepper <drepper@redhat.com>
934
Ulrich Dreppercbb51e52006-06-11 20:25:23 +0000935 * elflint.c (check_dynamic): Fix checking value of tags which are
936 offsets in the string section. Make sure DT_STRTAB points to the
937 section referenced in sh_link.
938
939 * ld.c (options): Add headers. Add short option 'R' for '--rpath'.
940
Ulrich Drepper54f33a72006-06-11 09:07:37 +0000941 * ld.c: Recognize --eh-frame-hdr option.
942 * ld.h (struct ld_state): Add eh_frame_hdr field.
943 * ldgeneric.c (struct unw_eh_frame_hdr): Define.
944
945 * ldgeneric.c (add_section): Use ebl_sh_flags_combine instead of
946 SH_FLAGS_COMBINE.
947 (add_relocatable_file): Minor optimization of last change.
948 (match_section): Don't preserve SHF_GROUP flag any longer.
949
Ulrich Drepper2d880282006-06-11 00:20:43 +00009502006-06-10 Ulrich Drepper <drepper@redhat.com>
951
952 * ld.c (parse_z_option): Recognize execstack and noexecstack.
Ulrich Drepper4f0a7a82006-06-11 00:53:45 +0000953 Handle record and ignore as position dependent options.
954 (parse_z_option_2): Handle ignore and record here.
Ulrich Drepper2d880282006-06-11 00:20:43 +0000955 * ld.h (struct ld_state): Add execstack field.
956 * ldgeneric.c (add_relocatable_file): Recognize .note.GNU-stack
957 sections.
958 (ld_generic_create_outfile): Fix program header creation in native
959 linker. Add PT_GNU_STACK program header.
960
Ulrich Dreppera688a732006-06-10 06:33:00 +00009612006-06-09 Ulrich Drepper <drepper@redhat.com>
962
963 * i386_ld.c (elf_i386_finalize_plt): Don't change symbol table entries
964 for PLT entries if there is no local definition.
965
966 * ld.c (parse_option): Handle -z ignore like --as-needed and
967 -z record like --no-as-needed.
968 * ld.h (struct ld_state): Remove ignore_unused_dsos field.
969 * ldgeneric.c (new_generated_scn): Always compute ndt_needed by
970 looping over DSOs. When deciding about adding DT_NEEDED entries
971 use ->as_needed instead of ignore_unused_dsos.
972
Ulrich Drepper8c56fe32006-05-31 15:50:43 +00009732006-05-31 Ulrich Drepper <drepper@redhat.com>
Ulrich Drepper11b030e2006-05-28 20:28:19 +0000974
Ulrich Drepper8c56fe32006-05-31 15:50:43 +0000975 * ld.c: Recognize --as-needed and --no-as-needed options.
976 * ld.h (struct usedfile): Add as_needed field.
977 (struct ld_state): Likewise.
978 * ldgeneric.c (ld_handle_filename_list): Copy as_needed flag from
979 the list.
980 * ldscript.y (filename_id_list): Split to correctly parse all
981 combinations.
982 (mark_as_needed): Fix loop.
Ulrich Drepper11b030e2006-05-28 20:28:19 +0000983
Ulrich Drepper697f4db2006-06-10 06:50:47 +00009842006-05-28 Ulrich Drepper <drepper@redhat.com>
985
986 * addr2line.c (print_dwarf_function): Use unsigned type for lineno
987 and colno.
988
Ulrich Drepper2cb8e732006-05-27 21:57:27 +00009892006-05-27 Ulrich Drepper <drepper@redhat.com>
990
991 * readelf.c (handle_relocs_rela): Better notations for addon value.
Ulrich Drepper41a99082006-05-28 00:01:43 +0000992 (print_ehdr): Distinguish e_ident[EI_VERSION] from e_version.
Ulrich Drepper2cb8e732006-05-27 21:57:27 +0000993
Ulrich Drepper82c345d2006-04-04 22:07:54 +00009942006-04-04 Ulrich Drepper <drepper@redhat.com>
995
996 * addr2line.c: Update copyright year.
997 * elfcmp.c: Likewise.
998 * elflint.c: Likewise.
999 * findtextrel.c: Likewise.
1000 * ld.c: Likewise.
1001 * nm.c: Likewise.
1002 * objdump.c: Likewise.
1003 * ranlib.c: Likewise.
1004 * readelf.c: Likewise.
1005 * size.c: Likewise.
1006 * strings.c: Likewise.
1007 * strip.c: Likewise.
1008
Roland McGrathdd7e22b2006-03-09 23:05:47 +000010092006-03-09 Roland McGrath <roland@redhat.com>
1010
1011 * Makefile.am (AM_LDFLAGS): New variable.
1012
Roland McGrath060fa052006-03-02 07:51:50 +000010132006-03-01 Roland McGrath <roland@redhat.com>
1014
1015 * readelf.c (dwarf_tag_string, dwarf_attr_string): Update name tables
1016 for dwarf.h changes matching 3.0 spec.
1017 (dwarf_encoding_string, dwarf_lang_string, print_ops): Likewise.
1018
Ulrich Drepper038129b2005-12-04 16:47:24 +000010192005-12-04 Ulrich Drepper <drepper@redhat.com>
1020
1021 * elflint.c (check_one_reloc): If relocation section is not loaded,
1022 don't check whether the relocations modify read-only sections or
1023 loaded and unloaded sections.
1024
Ulrich Drepper607e0542005-12-04 15:51:06 +000010252005-11-28 Ulrich Drepper <drepper@redhat.com>
1026
1027 * elflint.c (check_one_reloc): Take additional parameters. Use
1028 them to determine whether relocation is valid in this type of
1029 file. DSOs and executables can contain relocation sections in
1030 unloaded sections which just show the relocations the linker
1031 applied. Adjust all callers.
1032 (check_program_header): Check that PT_PHDR is loaded and that offset
1033 matches the one in the ELF header.
1034
Roland McGrath6724c902005-10-28 07:07:19 +000010352005-10-26 Roland McGrath <roland@redhat.com>
1036
1037 * nm.c (get_var_range): dwarf_getloclist -> dwarf_getlocation.
1038
Ulrich Drepperd0449522005-09-03 07:23:52 +000010392005-09-03 Ulrich Drepper <drepper@redhat.com>
1040
Ulrich Dreppere3f9b7d2005-09-03 16:42:46 +00001041 * strip.c (handle_elf): Unify some error messages.
1042 * ld.c (main): Likewise.
1043 * ldgeneric.c (open_elf): Likewise.
1044 * elfcmp.c (main): Likewise.
1045 * elflint.c (check_elf_header): Likewise.
1046
1047 * size.c (process_file): Fix typo in error message.
1048
Ulrich Drepperd0449522005-09-03 07:23:52 +00001049 * readelf.c: Lots of little cleanups. Use _unlocked functions.
1050
Ulrich Dreppera60501e2005-09-02 19:50:17 +000010512005-09-02 Ulrich Drepper <drepper@redhat.com>
1052
Ulrich Dreppere3f9b7d2005-09-03 16:42:46 +00001053 * strings.c (main): Reset elfmap variable after munmap call.
Ulrich Drepper618795f2005-09-02 20:01:37 +00001054 [_MUDFLAP] (map_file): Simplify mudflap debugging by not using mmap.
Ulrich Dreppera60501e2005-09-02 19:50:17 +00001055
Ulrich Drepperfbe998a2005-08-29 16:27:10 +000010562005-08-28 Ulrich Drepper <drepper@redhat.com>
1057
1058 * ranlib.c: Don't define pread_retry and write_retry here.
1059
1060 * Makefile.an [BUILD_STATIC] (libdw): Add -ldl.
1061 (CLEANFILES): Add *.gcno *.gcda *.gconv.
1062
1063 * strings.c (process_chunk): Reorder expressions in conditional
1064 (process_chunk_mb): Likewise.
1065
1066 * strings.c: New file.
1067 * Makefile.am (bin_PROGRAMS): Add strings.
1068 (strings_no_Wstring): Define.
1069 (strings_LDADD): Define.
1070
Roland McGrath71e15a02005-08-27 10:33:26 +000010712005-08-27 Roland McGrath <roland@redhat.com>
1072
1073 * addr2line.c (dwarf_diename_integrate): Function removed.
1074 (print_dwarf_function): Use plain dwarf_diename.
1075
Ulrich Drepperc5a06cd2005-08-24 19:50:14 +000010762005-08-24 Ulrich Drepper <drepper@redhat.com>
1077
1078 * elflint.c (check_versym): Versioned symbols should not have
1079 local binding.
1080
Ulrich Drepper5d832292005-08-15 21:36:27 +000010812005-08-15 Ulrich Drepper <drepper@redhat.com>
1082
Ulrich Drepper61655e02005-08-16 04:23:02 +00001083 * elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
1084 undefined.
1085
Ulrich Drepper5d832292005-08-15 21:36:27 +00001086 * Makefile.am: Add rules to build ranlib.
1087 * ranlib.c: New file.
1088
Roland McGrath18e13422005-08-15 08:01:25 +000010892005-08-14 Roland McGrath <roland@redhat.com>
1090
1091 * elflint.c (check_sections): Use ebl_section_type_name and allow any
1092 sh_type it recognizes.
1093
1094 * elflint.c (check_sections): Print unknown flags in hex, don't
1095 truncate high bits. Print section number and name for unknown type.
1096
Roland McGrathf6895042005-08-13 20:56:52 +000010972005-08-13 Roland McGrath <roland@redhat.com>
1098
1099 * elflint.c (check_program_header): Use ebl_segment_type_name and
1100 allow any p_type it recognizes. Include p_type value in error
1101 message for unknown type.
1102
Ulrich Drepperc5c33a62005-08-13 17:50:47 +000011032005-08-13 Ulrich Drepper <drepper@redhat.com>
1104
1105 * elflint.c (check_symtab): Simplify last change a bit. Pass ehdr
1106 to ebl_check_special_symbol.
1107 (check_sections): Pass ehdr to ebl_bss_plt_p.
1108
Roland McGrath653d3762005-08-13 01:59:10 +000011092005-08-12 Roland McGrath <roland@redhat.com>
1110
1111 * elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx
1112 refers to the right section if it's not SHN_ABS.
1113 Let ebl_check_special_symbol override _G_O_T_ value and size checks.
1114
1115 * elflint.c (check_sections): Don't complain about a non-NOBITS
1116 section taking no segment space, if it's sh_size is 0.
1117
1118 * elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should
1119 be PROGBITS or NOBITS.
1120
1121 * elflint.c (check_symtab): Use ebl_check_special_symbol to override
1122 standard st_value and st_size checks.
1123
Roland McGrath1c83bf12005-08-11 07:03:55 +000011242005-07-28 Roland McGrath <roland@redhat.com>
Ulrich Drepperfaf4d192005-08-11 05:12:05 +00001125
Roland McGrath1c83bf12005-08-11 07:03:55 +00001126 * addr2line.c (options, parse_opt): Don't handle -e here.
1127 (executable): Variable removed.
1128 (argp_children): New static variable.
1129 (argp): Use it. Make const.
1130 (main): Fill in argp_children from dwfl_standard_argp ().
1131 Let libdwfl handle file selection, pass Dwfl handle to handle_address.
1132 (print_dwarf_function): New function. Try to figure out inline chain.
1133 (elf_getname): Function removed, libdwfl does it for us.
1134 (handle_address): Take Dwfl handle instead of Elf, Dwarf handles.
1135 Use dwfl_module_addrname instead of elf_getname.
1136 Use dwfl_module_getsrc and dwfl_lineinfo instead of libdw calls.
1137 * Makefile.am (INCLUDES): Add libdwfl directory to path.
1138
11392005-08-10 Ulrich Drepper <drepper@redhat.com>
1140
1141 * strip.c (parse_opt): STATE parameter is now used.
1142 Various little cleanups.
1143
1144 * readelf.c (print_debug_line_section): Correct fallout of renaming
1145 of DW_LNS_set_epilog_begin.
Ulrich Drepper6d5c3bd2005-08-11 04:37:52 +00001146
Roland McGrath8f31c2c2005-08-09 04:58:05 +000011472005-08-08 Roland McGrath <roland@redhat.com>
1148
1149 * strip.c (options, parse_opt): Grok -R .comment for compatibility
1150 with binutils strip. Likewise -d, -S, as aliases for -g.
1151 Likewise ignore -s/--strip-all.
1152
Roland McGrath095a01b2005-08-08 03:49:35 +000011532005-08-07 Roland McGrath <roland@redhat.com>
1154
1155 * strip.c (process_file): Open read-only when using a different output
1156 file.
1157
Ulrich Drepper47be7952005-08-07 04:41:39 +000011582005-08-06 Ulrich Drepper <drepper@redhat.com>
1159
Ulrich Drepper637963b2005-08-07 05:33:07 +00001160 * elflint.c (in_nobits_scn): New function.
1161 (check_versym): Allow references for defined symbols against versions
1162 of other DSOs also for symbols in nobits sections.
1163 Move a few variables around.
1164
Ulrich Drepper47be7952005-08-07 04:41:39 +00001165 * Makefile.am (AM_CFLAGS): Avoid duplication.
1166 Link with statis libs if BUILD_STATIC.
1167
Ulrich Drepperdbace232005-08-06 01:37:23 +000011682005-08-05 Ulrich Drepper <drepper@redhat.com>
1169
1170 * elflint.c: Many, many more tests. Mostly related to symbol
1171 versioning. Those sections should now be completely checked.
1172
1173 * readelf.c (print_dynamic): Use gelf_offscn.
1174
Ulrich Drepperacb89832005-08-04 07:01:49 +000011752005-08-04 Ulrich Drepper <drepper@redhat.com>
1176
1177 * elflint.c: Add lots more tests: more extension symbol table sanity,
1178 versioning section tests, hash table tests. General cleanup.
1179
Ulrich Drepperc911c9e2005-08-02 16:07:42 +000011802005-08-02 Ulrich Drepper <drepper@redhat.com>
1181
Ulrich Drepper8a687742005-08-03 02:24:12 +00001182 * objdump.c: New file.
1183 * Makefile.am (bin_PROGRAMS): Add objdump.
1184 (objdump_LDADD): Define.
1185
Ulrich Drepperc911c9e2005-08-02 16:07:42 +00001186 * elflint.c (check_reloc_shdr): New function split out from check_rela
1187 and check_rel.
1188 (check_one_reloc): New function. Likewise.
1189 (check_rela): Use check_reloc_shdr and check_one_reloc.
1190 (check_rel): Likewise.
Ulrich Drepper41de4882005-08-03 00:02:56 +00001191 (check_program_header): Check that PT_DYNAMIC entry matches .dynamic
1192 section.
1193 Add checks that relocations against read-only segments are flagged,
1194 that the text relocation flag is not set unnecessarily, and that
1195 relocations in one section are either against loaded or not-loaded
1196 segments.
Ulrich Drepperc911c9e2005-08-02 16:07:42 +00001197
Ulrich Drepper8533dcf2005-08-01 07:18:47 +000011982005-08-01 Ulrich Drepper <drepper@redhat.com>
1199
1200 * elfcmp.c (main): Ignore section count and section name string table
1201 section index.
1202
Roland McGrathf9ece8a2005-07-28 07:03:04 +000012032005-07-27 Roland McGrath <roland@redhat.com>
1204
1205 * elfcmp.c: Include <locale.h>.
1206
Ulrich Drepper7d48d6a2005-07-27 10:13:23 +000012072005-07-27 Ulrich Drepper <drepper@redhat.com>
1208
1209 * elfcmp.c: Print name and index of differing section.
1210
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000012112005-07-24 Ulrich Drepper <drepper@redhat.com>
1212
1213 * elfcmp.c: Implement comparing gaps between sections.
1214
12152005-07-23 Ulrich Drepper <drepper@redhat.com>
1216
1217 * elflint.c: Include libeblP.h instead of libebl.h.
1218 * nm.c: Likewise.
1219 * readelf.c: Likewise.
1220 * elfcmp.c: Likewise.
1221
1222 * elfcmp.c (main): Compare individual ELF header fields, excluding
1223 e_shoff instead of the whole struct at once.
1224 Use ebl_section_strip_p instead of SECTION_STRIP_P.
1225 * strip.c: Use ebl_section_strip_p instead of SECTION_STRIP_P.
1226
12272005-07-22 Ulrich Drepper <drepper@redhat.com>
1228
1229 * elfcmp.c (main): Take empty section into account when comparing
1230 section content.
1231
1232 * elflint.c (check_dynamic): Check that d_tag value is >= 0 before
1233 using it.
1234
12352005-07-21 Ulrich Drepper <drepper@redhat.com>
1236
1237 * elfcmp.c: New file.
1238 * Makefile.am (bin_PROGRAMS): Add elfcmp.
1239 (elfcmp_LDADD): Define.
1240
1241 * elflint.c (check_rela): Check that copy relocations only reference
1242 object symbols or symbols with unknown type.
1243 (check_rel): Likewise.
1244
12452005-06-08 Roland McGrath <roland@redhat.com>
1246
1247 * readelf.c (print_ops): Add consts.
1248
12492005-05-31 Roland McGrath <roland@redhat.com>
1250
1251 * readelf.c (print_debug_abbrev_section): Don't bail after first CU's
1252 abbreviations. Print a header line before each CU section.
1253
1254 * readelf.c (print_debug_loc_section): Fix indentation for larger
1255 address size.
1256
12572005-05-30 Roland McGrath <roland@redhat.com>
1258
1259 * readelf.c (print_debug_line_section): Print section offset of each
1260 CU's table, so they are easy to find from seeing the stmt_list value.
1261
1262 * readelf.c (dwarf_attr_string): Add all attributes in <dwarf.h>.
1263 (attr_callback): Grok DW_AT_ranges and print offset in hex.
1264
1265 * readelf.c (attr_callback): Add 2 to addrsize * 2 for %#0* format.
1266 (print_debug_ranges_section, print_debug_loc_section): Likewise.
1267
1268 * readelf.c (print_ops): Take different args for indentation control.
1269 (attr_callback): Caller updated.
1270 Grok several more block-form attributes as being location expressions.
1271 For those same attributes with udata forms, format output differently
1272 for location list offset.
1273 (print_debug_loc_section): Implement it for real.
1274
1275 * readelf.c (options): Mention ranges for --debug-dump.
1276 (enum section_e): Add section_ranges.
1277 (parse_opt): Grok "ranges" for -w/--debug-dump.
1278 (print_debug_ranges_section): New function.
1279 (print_debug): Handle .debug_ranges section.
1280
12812005-05-30 Ulrich Drepper <drepper@redhat.com>
1282
1283 * readelf.c (handle_notes): At least x86-64 need not have the note
1284 section values aligned to 8 bytes.
1285
12862005-05-18 Ulrich Drepper <drepper@redhat.com>
1287
1288 * readelf.c (dwarf_tag_string): Add new tags.
1289
12902005-05-08 Roland McGrath <roland@redhat.com>
1291
1292 * strip.c (handle_elf): Don't translate hash and versym data formats,
1293 elf_getdata already did it for us.
1294
12952005-05-07 Ulrich Drepper <drepper@redhat.com>
1296
1297 * Makefile.am (findtextrel_LDADD): Add $(libmudflap).
1298 (addr2line_LDADD): Likewise.
1299
13002005-05-03 Roland McGrath <roland@redhat.com>
1301
1302 * strip.c (handle_elf): Apply symbol table fixups to discarded
1303 relocation sections when they are being saved in the debug file.
1304
1305 * strip.c (handle_elf): Pass EHDR->e_ident[EI_DATA] to gelf_xlatetom
1306 and gelf_xlatetof, not the native byte order.
1307
1308 * strip.c (parse_opt): Give error if -f or -o is repeated.
1309 (main): Exit if argp_parse returns nonzero.
1310
1311 * strip.c (debug_fname_embed): New variable.
1312 (options, parse_opt): New option -F to set it.
1313
13142005-05-07 Ulrich Drepper <drepper@redhat.com>
1315
1316 * readelf.c (parse_opt): Make any_control_option variable
1317 local. Simplify some tests.
1318
13192005-05-03 Roland McGrath <roland@redhat.com>
1320
1321 * strip.c (crc32_file): Function removed (now in ../lib).
1322
13232005-05-03 Roland McGrath <roland@redhat.com>
1324
1325 * elflint.c (is_debuginfo): New variable.
1326 (options, parse_opt): New option --debuginfo/-d to set it.
1327 (check_sections): If is_debuginfo, don't complain about SHT_NOBITS.
1328 (check_note): If is_debuginfo, don't try to get note contents.
1329
13302005-04-24 Ulrich Drepper <drepper@redhat.com>
1331
1332 * readelf.c (print_debug_abbrev_section): Don't print error when end of
1333 section reached.
1334
13352005-04-14 Ulrich Drepper <drepper@redhat.com>
1336
1337 * readelf.c (dwarf_encoding_string): New function.
1338 (dwarf_inline_string): New function.
1339 (dwarf_access_string): New function.
1340 (dwarf_visibility_string): New function.
1341 (dwarf_virtuality_string): New function.
1342 (dwarf_identifier_case_string): New function.
1343 (dwarf_calling_convention_string): New function.
1344 (dwarf_ordering_string): New function.
1345 (dwarf_discr_list_string): New function.
1346 (attr_callback): Decode man more attribute values.
1347
13482005-04-01 Ulrich Drepper <drepper@redhat.com>
1349
1350 * addr2line.c: Finish implementation of -f option.
1351
13522005-03-29 Ulrich Drepper <drepper@redhat.com>
1353
1354 * addr2line.c: New file.
1355 * Makefile.am (bin_PROGRAMS): Add addr2line.
1356 Define addr2line_LDADD.
1357
1358 * findtextrel.c: Use new dwarf_addrdie function.
1359
1360 * findtextrel.c: Fix usage message and re-add accidentally removed
1361 line.
1362
13632005-03-28 Ulrich Drepper <drepper@redhat.com>
1364
1365 * findtextrel.c: New file.
1366 * Makefile: Add rules to build findtextrel.
1367
13682005-02-15 Ulrich Drepper <drepper@redhat.com>
1369
1370 * ldlex.l: Provide ECHO definition to avoid warning.
1371
1372 * elflint.c (check_program_header): Fix typo in RELRO test.
1373
1374 * Makefile.am (AM_CFLAGS): Add more warning options.
1375 * elflint.c: Fix warnings introduced by the new warning options.
1376 * i386_ld.c: Likewise.
1377 * ld.c: Likewise.
1378 * ld.h: Likewise.
1379 * ldgeneric.c: Likewise.
1380 * nm.c: Likewise.
1381 * readelf.c: Likewise.
1382 * sectionhash.c: Likewise.
1383 * size.c: Likewise.
1384 * string.c: Likewise.
1385
13862005-02-05 Ulrich Drepper <drepper@redhat.com>
1387
1388 * Makefile.am: Check for text relocations in constructed DSOs.
1389
1390 * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap. Link all apps
1391 with -lmudflap.
1392
1393 * ldscript.y: Add as_needed handling.
1394 * ldlex.l: Recognize AS_NEEDED token.
1395 * ld.h (struct filename_list): Add as_needed flag.
1396
13972005-02-04 Ulrich Drepper <drepper@redhat.com>
1398
1399 * elflint.c (check_symtab): Correctly determine size of GOT section.
1400
14012005-01-19 Ulrich Drepper <drepper@redhat.com>
1402
1403 * ld.c: Remove unnecessary more_help function. Print bug report
1404 address using argp.
1405 * strip.c: Likewise.
1406 * size.c: Likewise.
1407 * nm.c: Likewise.
1408 * readelf.c: Likewise.
1409 * elflint.c: Likewise.
1410
1411 * elflint.c (main): Don't check for parameter problems here.
1412 (parse_opt): Do it here, where we get informed about some of them
1413 anyway.
1414
1415 * readelf.c (main): Don't check for parameter problems here.
1416 (parse_opt): Do it here, where we get informed about some of them
1417 anyway.
1418
14192005-01-11 Ulrich Drepper <drepper@redhat.com>
1420
1421 * strip.c: Update copyright year.
1422 * readelf.c: Likewise.
1423 * size.c: Likewise.
1424 * nm.c: Likewise.
1425 * ld.c: Likewise.
1426 * elflint.c: Likewise.
1427
1428 * elflint.c (check_symtab): Don't warn about wrong size for
1429 _DYNAMIC and __GLOBAL_OFFSET_TABLE__ for --gnu-ld.
1430
14312004-10-05 Ulrich Drepper <drepper@redhat.com>
1432
1433 * readelf.c (print_phdr): In section mapping, also indicate
1434 sections in read-only segments.
1435
14362004-09-25 Ulrich Drepper <drepper@redhat.com>
1437
1438 * readelf.c: Make compile with gcc 4.0.
1439 * strip.c: Likewise.
1440
14412004-08-16 Ulrich Drepper <drepper@redhat.com>
1442
1443 * strip.c (handle_elf): Rewrite dynamic memory handling to use of
1444 allocate to work around gcc 3.4 bug.
1445
14462004-01-25 Ulrich Drepper <drepper@redhat.com>
1447
1448 * ldlex.l (invalid_char): Better error message.
1449
14502004-01-23 Ulrich Drepper <drepper@redhat.com>
1451
1452 * readelf.c: Print SHT_GNU_LIBLIST sections.
1453
1454 * none_ld.c: New file.
1455
14562004-01-21 Ulrich Drepper <drepper@redhat.com>
1457
1458 * Makefile.am: Enable building of machine specific linker.
1459
14602004-01-20 Ulrich Drepper <drepper@redhat.com>
1461
1462 * Makefile.am: Support building with mudflap.
1463
1464 * i386_ld.c: Fix warnings gcc 3.4 spits out.
1465 * ldgeneric.c: Likewise.
1466 * ldscript.y: Likewise.
1467 * readelf.c: Likewise.
1468 * strip.c: Likewise.
1469
1470 * readelf.c (print_debug_line_section): Determine address size
1471 correctly.
1472
14732004-01-19 Ulrich Drepper <drepper@redhat.com>
1474
1475 * readelf.c (print_phdr): Show which sections are covered by the
1476 PT_GNU_RELRO entry.
1477
1478 * elflint.c (check_program_header): Check PT_GNU_RELRO entry.
1479
1480 * readelf.c (print_debug_macinfo_section): Implement.
1481
14822004-01-18 Ulrich Drepper <drepper@redhat.com>
1483
1484 * readelf.c (print_debug_line_section): Implement.
1485
14862004-01-17 Ulrich Drepper <drepper@redhat.com>
1487
1488 * src/elflint.c: Use PACKAGE_NAME instead of PACKAGE.
1489 * src/ld.c: Likewise.
1490 * src/nm.c: Likewise.
1491 * src/readelf.c: Likewise.
1492 * src/size.c: Likewise.
1493 * src/strip.c: Likewise.
1494
1495 * strip.c: Add a few more unlikely. Reduce scope of some variables.
1496
1497 * Makefile.am: Support building with mudflap.
1498
14992004-01-16 Ulrich Drepper <drepper@redhat.com>
1500
1501 * readelf.c (print_debug_info_section): Free dies memory.
1502
1503 * readelf.c: Print .debug_info section content.
1504
15052004-01-13 Ulrich Drepper <drepper@redhat.com>
1506
1507 * readelf.c (print_shdr): Add support for SHF_ORDERED and SHF_EXCLUDE.
1508
15092004-01-12 Ulrich Drepper <drepper@redhat.com>
1510
1511 * readelf.c (print_debug_aranges): Implement using libdw.
1512
15132004-01-11 Ulrich Drepper <drepper@redhat.com>
1514
1515 * nm.c: Adjust for Dwarf_Files type and dwarf_lineno interface change.
1516
1517 * readelf.c: Use libdw instead of libdwarf. Not all of the old
1518 behavior is available yet.
1519 * Makefile.am: Link readelf with libdw. Remove libdwarf include path.
1520
15212004-01-09 Ulrich Drepper <drepper@redhat.com>
1522
1523 * nm.c (get_local_names): Adjust call to dwarf_nextcu.
1524
1525 * nm.c: Implement getting information about local variables.
1526
15272004-01-07 Ulrich Drepper <drepper@redhat.com>
1528
1529 * nm.c: Read also debug information for local symbols.
1530
15312004-01-05 Ulrich Drepper <drepper@redhat.com>
1532
1533 * nm.c: Shuffle dwarf handling code around so the maximum column
1534 width can be computed ahead of printing. Avoid collection symbols
1535 which are not printed anyway.
1536
1537 * nm.c: Rewrite dwarf handling to use libdw.
1538 * Makefile.am (AM_CFLAGS): Add -std parameter.
1539 (INCLUDES): Find header in libdw subdir.
1540 (nm_LDADD): Replace libdwarf with libdw.
1541
1542 * elflint.c: Update copyright year.
1543 * readelf.c: Likewise.
1544 * size.c: Likewise.
1545 * strip.c: Likewise.
1546 * nm.c: Likewise.
1547
15482003-12-31 Ulrich Drepper <drepper@redhat.com>
1549
1550 * strip.c (process_file): Close file before returning.
1551
15522003-11-19 Ulrich Drepper <drepper@redhat.com>
1553
1554 * readelf.c (handle_dynamic): Make column for tag name wider.
1555
15562003-09-29 Ulrich Drepper <drepper@redhat.com>
1557
1558 * readelf.c (handle_dynamic): Always terminate tag name with a space.
1559
15602003-09-25 Ulrich Drepper <drepper@redhat.com>
1561
1562 * strip.c (process_file): Don't mmap the input file, we modify the
1563 data structures and don't want the change end up on disk.
1564
15652003-09-23 Jakub Jelinek <jakub@redhat.com>
1566
1567 * unaligned.h (union u_2ubyte_unaligned,
1568 union u_4ubyte_unaligned, union u_8ubyte_unaligned): Add
1569 packed attribute.
1570 (add_2ubyte_unaligned, add_4ubyte_unaligned,
1571 add_8ubyte_unaligned): Avoid nesting bswap_NN macros.
1572 Read/store value through _ptr->u instead of *_ptr.
1573
15742003-09-22 Ulrich Drepper <drepper@redhat.com>
1575
1576 * size.c (show_sysv): Change type of maxlen to int.
1577
1578 * strip.c (handle_elf): Handle the 64-bit archs which is 64-bit
1579 buckets.
1580
1581 * i386_ld.c: Many many fixes and extensions.
1582 * ld.c: Likewise.
1583 * ldgeneric.c: Likewise.
1584
15852003-08-16 Ulrich Drepper <drepper@redhat.com>
1586
1587 * ldgeneric.c (check_definition): Don't add symbol on dso_list if
1588 the reference is from another DSO.
1589
15902003-08-15 Ulrich Drepper <drepper@redhat.com>
1591
1592 * ldgeneric.c (find_entry_point): It is no fatal error if no entry
1593 point is found when creating a DSO.
1594
15952003-08-14 Ulrich Drepper <drepper@redhat.com>
1596
1597 * ld.c (main): Always call FLAG_UNRESOLVED.
1598 * ldgeneric.c (ld_generic_flag_unresolved): Only complain about
1599 undefined symbols if not creating DSO or ld_state.nodefs is not set.
1600
16012003-08-13 Ulrich Drepper <drepper@redhat.com>
1602
1603 * Makefile.in: Depend on libebl.a, not libebl.so.
1604
1605 * ld.c (main): Mark stream for linker script as locked by caller.
1606 (read_version_script): Likewise.
1607 * ldlex.c: Define fread and fwrite to _unlocked variant.
1608
1609 * i386_ld.c (elf_i386_finalize_plt): Replace #ifdefs with uses of
1610 target_bswap_32.
1611 * unaligned.h: Define target_bswap_16, target_bswap_32, and
1612 target_bswap_64.
1613 (store_2ubyte_unaligned, store_4ubyte_unaligned,
1614 store_8ubyte_unaligned): Define using new macros.
1615
16162003-08-12 Ulrich Drepper <drepper@redhat.com>
1617
1618 * i386_ld.c (elf_i386_finalize_plt): Use packed structs to access
1619 possibly unaligned memory. Support use of big endian machines.
1620
16212003-08-11 Ulrich Drepper <drepper@redhat.com>
1622
1623 * Moved to CVS archive.