blob: 2e17b5440a2992aaa0171e7bd4e067af6e76251d [file] [log] [blame]
Ulrich Drepperac194d02009-01-06 00:30:01 -080012009-01-06 Ulrich Drepper <drepper@redhat.com>
2
3 * readelf.c: Implement call frame debug section dumping.
4
Ulrich Drepper44173ed2009-01-01 19:00:41 -080052009-01-01 Ulrich Drepper <drepper@redhat.com>
6
7 * addr2line.c: Update copyright year.
8 * ar.c: Likewise.
9 * elfcmp.c: Likewise.
10 * elflint.c: Likewise.
11 * findtextrel.c: Likewise.
12 * ld.c: Likewise.
13 * nm.c: Likewise.
14 * objdump.c: Likewise.
15 * ranlib.c: Likewise.
16 * readelf.c: Likewise.
17 * size.c: Likewise.
18 * strings.c: Likewise.
19 * strip.c: Likewise.
20 * unstrip.c: Likewise.
21
Roland McGrath468fe4d2008-12-11 21:00:12 -0800222008-12-11 Roland McGrath <roland@redhat.com>
23
24 * nm.c (sym_name): New function.
25 (show_symbols_sysv): Use it in place of elf_strptr.
26 (show_symbols_bsd, show_symbols_posix): Likewise.
27 Fixes RHBZ#476136.
28
29 * nm.c (show_symbols_sysv): Use an alloca'd backup section name when
30 elf_strptr fails.
31
Roland McGratha845f682008-12-03 03:41:58 +0000322008-12-02 Roland McGrath <roland@redhat.com>
33
34 * readelf.c (count_dwflmod, process_file): Don't presume encoding of
35 nonzero OFFSET argument to dwfl_getmodules.
36
Roland McGrath1d8bb252008-08-07 08:39:41 +0000372008-08-07 Roland McGrath <roland@redhat.com>
38
39 * addr2line.c (main): Pass string to handle_address.
40 (see_one_module): New function, subroutine of handle_address.
41 (find_symbol): Likewise.
42 (handle_address): Take string argument rather than address.
43 Convert plain number, or handle strings like "(section)+offset"
44 or "symbol+offset".
45
462008-08-01 Roland McGrath <roland@redhat.com>
47
48 * readelf.c (handle_core_item): Handle 'B' type for 1-origin bitset.
49 For 'b' and 'B', print <x-y,z> or ~<x,y-z> rather than 1/0 string.
50
51 * readelf.c (convert): Take new argument SIZE.
52 (handle_core_register, handle_core_item): Update callers.
53 (handle_core_item): Take new arg REPEATED_SIZE.
54 (handle_core_items): Special case for a singleton item,
55 let handle_core_item handle repeats if it wants to.
56
57 * readelf.c (handle_core_items): Give abridged output
58 for identical groups repeated more than twice.
59
602008-07-04 Roland McGrath <roland@redhat.com>
61
62 * readelf.c (handle_core_items): Handle ELF_T_ADDR.
63
Roland McGrath521c47d2008-04-11 07:01:58 +0000642008-04-10 Roland McGrath <roland@redhat.com>
65
66 * strip.c (handle_elf): Don't keep sections that kept symbol tables
67 refer to. Instead, just be sure to preserve the original symbol
68 table in the debug file so those symbols go with their sections and
69 can be elided from the stripped version of the symbol table.
70
71 * strip.c (handle_elf): When a discarded section kept in the debug
72 file refers to a nondiscard section via sh_link/sh_info, preserve
73 that nondiscarded section unmodified in the debug file as well.
74 Skip adjustment of discarded sections symbol table references when
75 that symbol table is copied in this way.
76
77 * elflint.c (check_symtab): Don't crash from missing symbol names
78 after diagnosing bogus strtab.
79
80 * strip.c (handle_elf): Cosmetic cleanup in special section contents
81 adjustment for symtab changes.
82
Roland McGrath13b69602008-04-01 02:30:05 +0000832008-03-31 Roland McGrath <roland@redhat.com>
84
85 * elflint.c (check_sections): Add checks on SHF_EXECINSTR sections:
86 must be SHT_PROGBITS, must not be SHF_WRITE. Let backend hook
87 excuse a special section.
88
892008-03-27 Roland McGrath <roland@redhat.com>
90
91 * elflint.c (check_sections): Check that executability and writability
92 of sections is reflected in segment p_flags.
93
Roland McGrathd11f9cb2008-03-26 20:51:59 +0000942008-03-26 Roland McGrath <roland@redhat.com>
95
96 * elflint.c (check_program_header): Accept PT_GNU_RELRO p_flags
97 that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really
98 is valid in RELRO.
99
Roland McGrath47c5c352008-02-29 10:17:16 +00001002008-02-29 Roland McGrath <roland@redhat.com>
101
102 * readelf.c (print_attributes): Add a cast.
103 * elflint.c (check_attributes): Likewise.
104
105 * unaligned.h (add_8ubyte_unaligned): Cast PTR argument for parity
106 with [UNALIGNED_ACCESS_CLASS == BYTE_ORDER] definition.
107 (add_4ubyte_unaligned, add_2ubyte_unaligned): Likewise.
108
Ulrich Drepper834de6f2008-02-23 06:50:01 +00001092008-02-03 Ulrich Drepper <drepper@redhat.com>
110
111 * i386_ld.c (elf_i386_count_relocations): Implement R_386_TLS_GD
112 when linked into executable.
113 (elf_i386_create_relocations): Likewise.
114
Roland McGrath059c83e2008-02-21 06:19:39 +00001152008-02-20 Roland McGrath <roland@redhat.com>
116
117 * readelf.c (print_attributes): New function.
118 (process_elf_file): Call it under -A.
119
120 * elflint.c (check_attributes): Implement it for real.
121
1222008-02-19 Roland McGrath <roland@redhat.com>
123
124 * elflint.c (special_sections): Handle .gnu.attributes section.
125 (check_sections): Likewise.
126 (check_attributes): New function.
127
1282008-02-10 Roland McGrath <roland@redhat.com>
129
130 * elfcmp.c (main): Ignore sh_offset differences in non-SHF_ALLOC
131 sections and ET_REL files.
132
Ulrich Drepper712d78e2008-02-02 10:01:53 +00001332008-02-02 Ulrich Drepper <drepper@redhat.com>
134
135 * elf32-i386.script: Add .eh_frame_hdr, .tdata, and .tbss sections.
136 * i386_ld.c (elf_i386_count_relocations): Handle R_386_TLS_LDO_32
137 and R_386_TLS_LE.
138 (elf_i386_create_relocations): Likewise.
139 * ld.h (struct ld_state): Add need_tls, tls_start, and tls_tcb
140 elements.
141 * ldgeneric.c (add_section): If TLS section is used, set need_tls flag.
142 (ld_generic_create_outfile): Add PT_TLS entry to program header.
143 Fix generation of PT_GNU_STACK entry.
144
Ulrich Drepperc54785a2008-02-01 18:05:21 +00001452008-02-01 Ulrich Drepper <drepper@redhat.com>
146
Ulrich Drepper7cd1bf72008-02-01 23:52:59 +0000147 * ld.c (replace_args): Prevent loop over replacements if the parameter
148 is only two characters long.
149
Ulrich Drepperc54785a2008-02-01 18:05:21 +0000150 * ld.c: Recognize sha1 argument for --build-id parameter.
151 * ldgeneric.c (create_build_id_section): Handle sha1.
152 (compute_hash_sum): New function. Broken out of compute_build_id.
153 Take hash function and context as parameters.
154 (compute_build_id): Use compute_hash_sum for md5 and the new sha1
155 implementation.
156
Ulrich Drepper89759c72008-01-31 19:44:12 +00001572008-01-31 Ulrich Drepper <drepper@redhat.com>
158
159 * elf32-i386.script: Add .note.ABI-tag and .note.gnu.build-id sections.
160 * ld.c: Recognize --build-id command line parameter.
161 * ld.h: Define scn_dot_note_gnu_build_id.
162 (struct ld_state): Add build_id and buildidscnidx elements.
163 * ldgeneric.c: Implement --build-id command line parameter.
164 * ldlex.l (ID): Recognize - as valid character after the first one.
165
Ulrich Drepper5530ec52008-01-29 10:42:07 +00001662008-01-29 Ulrich Drepper <drepper@redhat.com>
167
Ulrich Drepperb61c4cc2008-01-30 07:16:28 +0000168 * ld.c (replace_args): New function.
169 (main): Use it to rewrite old-style parameters.
170
Ulrich Dreppered9b6cb2008-01-30 06:33:33 +0000171 * elf32-i386.script: Add .gnu.hash section.
172 * ldgeneric.c (optimal_bucket_size): A tiny bit more efficient.
173 (fillin_special_symbol): Initialize st_size.
174 (sortfct_hashval): New function.
175 (create_gnu_hash): New function.
176 (create_hash): New function.
177 (ld_generic_create_outfile): Use the new functions to create the
178 hash tables.
179
Ulrich Drepper5530ec52008-01-29 10:42:07 +0000180 * elflint.c (check_gnu_hash): Fix index value printed in error message.
181
Ulrich Drepper0e864dd2008-01-25 00:18:42 +00001822008-01-24 Ulrich Drepper <drepper@redhat.com>
183
184 * elflint.c (check_group): Check that signature symbol for section
185 group is not an empty string.
186 * ldgeneric.c: Remove magic assignment of indeces in the dynsym
187 section. Start implementation of --hash-style.
188 * i386_ld.c: Likewise.
189 * ld.c: Recognize --hash-style.
190 * ld.h (struct scninfo): Add comdat_group.
191 Add additional parameter to finalize_plt callback.
192
Ulrich Drepper5449a6b2008-01-22 15:49:39 +00001932008-01-22 Ulrich Drepper <drepper@redhat.com>
194
195 * ld.h (struct callbacks): Add initialize_gotplt.
196 (struct scnhead): Add scn_dot_gotplt.
197 (struct ld_state): Add gotpltscnidx.
198 * i386_ld.c (elf_i386_initialize_plt): Minor optimization.
199 (elf_i386_initialize_pltrel): Likewise.
200 (elf_i386_initialize_got): There is now a separate .got.plt, so
201 don't do the PLT-related work here. Initialize d_type.
202 (elf_i386_initialize_gotplt): New function.
203 (elf_i386_plt0): Use ud2a after indirect jump.
204 (elf_i386_pic_plt0_entry): Likewise.
205 (elf_i386_finalize_plt): Reference now .got.plt.
206 (elf_i386_count_relocations): For GOT entries which need no relocation
207 don't bump nrel_got.
208 (elf_i386_create_relocations): Also get .got.plt. Rewrite R-386_GOT32
209 handling for split .got/.got.plt.
210 (elf_i386_ld_init): Initialize callbacks.initialize_gotplt.
211 * elf32-i386.script: Sort sections for security. There are no .got
212 input sections. Add .got.plt.
213 * ldgeneric.c (ld_generic_generate_sections): Add .got.plt section.
214 (ld_generic_create_outfile): Initialize .got.plt section.
215 Use .got.plt address for _GLOBAL_OFFSET_TABLE_ symbol and DT_PLTGOT.
216
Ulrich Drepperd9488292008-01-20 16:43:15 +00002172008-01-19 Ulrich Drepper <drepper@redhat.com>
218
219 * i386_ld.c (elf_i386_count_relocations): PLT relocations for undefined
220 symbols are not carried over into statically linked output files.
221 Add dummy entries for more TLS relocations.
222
223 * ld.c (options): Add long names for -( and -).
224
225 * ldgeneric.c (check_definition): For newly found definitions don't
226 mark section as used if symbol is absolute.
227 (extract_from_archive): Only assign archive sequence number the first
228 time the archive is handled. Update ld_state.last_archive_used
229 if any symbol was used. Remove nround variable.
230 (file_process2): When using symbol from an archive, update
231 ld_state.group_start_archive, ld_state.archives, and
232 ld_state.tailarchives.
233 (ld_generic_file_process): If group is not handled anymore, after
234 freeing ELF handles for the archives, clear ld_state.archives and
235 *nextp. Fix wrong logic in recognizing first iteration of group
236 loop. When clearing flags, also clear ld_state.group_start_archive.
237
Ulrich Drepper5eee1222008-01-11 10:12:18 +00002382008-01-11 Ulrich Drepper <drepper@redhat.com>
239
240 * objdump.c (show_disasm): Adjust disassembler format string for
241 removal of %e.
242
Ulrich Dreppere219f1c2008-01-09 05:49:49 +00002432008-01-04 Roland McGrath <roland@redhat.com>
244
Roland McGrath059c83e2008-02-21 06:19:39 +0000245 * readelf.c (handle_core_items): Take new arg DESCSZ; if nonzero,
246 a size greater than the items cover means multiple sets of items.
247 (handle_core_note): Update caller.
248
2492008-01-04 Roland McGrath <roland@redhat.com>
250
Ulrich Dreppere219f1c2008-01-09 05:49:49 +0000251 * strip.c (handle_elf): Move SHDRIDX defn to silence gcc warning.
252
2532008-01-03 Roland McGrath <roland@redhat.com>
254
255 * ld.h (linked_from_dso_p): Use __attribute__ ((__gnu_inline__)).
256
257 * elflint.c (check_dynamic): Remove duplicate initializer.
258
Ulrich Drepperad024af2008-01-02 17:42:52 +00002592008-01-02 Ulrich Drepper <drepper@redhat.com>
260
261 * addr2line.c: Update copyright year.
262 * ar.c: Likewise.
263 * elfcmp.c: Likewise.
264 * elflint.c: Likewise.
265 * findtextrel.c: Likewise.
266 * ld.c: Likewise.
267 * nm.c: Likewise.
268 * objdump.c: Likewise.
269 * ranlib.c: Likewise.
270 * readelf.c: Likewise.
271 * size.c: Likewise.
272 * strings.c: Likewise.
273 * strip.c: Likewise.
274 * unstrip.c: Likewise.
275
Ulrich Drepper3cbdd382008-01-02 17:44:39 +00002762007-12-30 Ulrich Drepper <drepper@redhat.com>
277
278 * objdump (show_disasm): Use %e after third parameter.
279
2802007-12-21 Ulrich Drepper <drepper@redhat.com>
281
282 * strip.c: Fix wrong parenthesis in a few branch predictions.
283 * strings.c: Likewise.
284
2852007-12-20 Ulrich Drepper <drepper@redhat.com>
286
287 * Makefile.am (DEFS): Add DEBUGPRED.
288 * addr2line.c: Include debugpred.h.
289 * ar.c: Likewise.
290 * elfcmp.c: Likewise.
291 * elflint.c: Likewise.
292 * findtextrel.c: Likewise.
293 * nm.c: Likewise.
294 * objdump.c: Likewise.
295 * ranlib.c: Likewise.
296 * readelf.c: Likewise.
297 * size.c: Likewise.
298 * strings.c: Likewise.
299 * strip.c: Likewise.
300 * unstrip.c: Likewise.
301 * debugpred.h: New file.
302
303 * readelf.c (handle_relocs_rel): Use elf_scnshndx.
304 (handle_relocs_rela): Likewise.
305
306 * readelf.c: Add lots of likely/unlikely.
307
308 * elflint.c: Minor cleanups.
309
Roland McGrath1a2e8f42007-12-15 23:39:34 +00003102007-11-19 Roland McGrath <roland@redhat.com>
311
312 * readelf.c (print_ops): Handle all bad op codes gracefully.
313 Print their numbers instead of just ???.
314
Roland McGrath07a696e2007-11-09 22:44:26 +00003152007-11-09 Roland McGrath <roland@redhat.com>
316
317 * readelf.c (attr_callback): Handle DW_AT_data_location.
Roland McGrath1a2e8f42007-12-15 23:39:34 +0000318 Handle block forms to mean a DWARF expression for DW_AT_allocated,
319 DW_AT_associated, DW_AT_bit_size, DW_AT_bit_offset, DW_AT_bit_stride,
320 DW_AT_byte_size, DW_AT_byte_stride, DW_AT_count, DW_AT_lower_bound,
321 DW_AT_upper_bound.
Roland McGrath07a696e2007-11-09 22:44:26 +0000322
Roland McGrathe4c22ea2007-10-23 13:07:39 +00003232007-10-20 Roland McGrath <roland@redhat.com>
324
325 * unstrip.c (options): Update -R description.
326 (struct symbol): Put symbol details a union with a size_t pointer
327 `duplicate'.
328 (compare_symbols_output): Use null ->name as marker for discard
329 symbols, not zero *->map.
330 (copy_elided_sections): Record forwarding pointers for discarded
331 duplicates and fill SYMNDX_MAP elements through them.
332
333 * readelf.c (process_file): Set offline_next_address to 0 at start.
334 (struct process_dwflmod_args): New type.
335 (process_dwflmod): Take args in it, pass fd to process_elf_file.
336 (process_file): Update caller; dup FD for passing to libdwfl.
337 (process_elf_file): Take new arg FD. For ET_REL file when
338 displaying data affected by libdwfl relocation, open a new Elf handle.
339
3402007-10-17 Roland McGrath <roland@redhat.com>
341
342 * readelf.c (print_debug_line_section): For invalid data inside a
343 unit with plausible length, keep printing at the next unit boundary.
344
345 * readelf.c (attr_callback): Use dwarf_formref_die, not dwarf_formref.
346
3472007-10-16 Roland McGrath <roland@redhat.com>
348
349 * readelf.c (hex_dump): Fix rounding error in whitespace calculation.
350
Ulrich Drepperb597dfa2007-10-16 05:21:27 +00003512007-10-15 Roland McGrath <roland@redhat.com>
352
353 * make-debug-archive.in: New file.
354 * Makefile.am (EXTRA_DIST): Add it.
355 (make-debug-archive): New target.
356 (bin_SCRIPTS, CLEANFILES): Add it.
357
3582007-10-10 Roland McGrath <roland@redhat.com>
359
360 * elflint.c (special_sections): Add new attrflag value exact_or_gnuld.
361 Use it to check MERGE|STRINGS for .debug_str.
362 (check_sections): Handle exact_or_gnuld.
363
3642007-10-08 Roland McGrath <roland@redhat.com>
365
366 * readelf.c (handle_core_item): Handle 'T'|0x80 to indicate
367 64-bit struct timeval with 32-bit tv_usec.
368
3692007-10-07 Roland McGrath <roland@redhat.com>
370
371 * readelf.c (check_archive_index): New function.
372 (process_file): Call it. Change signature to take only fd and name.
373 Use libdwfl to open the file, then iterate on its modules (multiple
374 for an archive) to print file name and call process_elf_file.
375 (main): Update caller. Let process_file do elf_begin.
376 (count_dwflmod, process_dwflmod, find_no_debuginfo): New functions.
377 (process_elf_file): Take only Dwfl_Module * argument.
378 Don't print the file name here.
379 (print_debug_*_section): Take Dwfl_Module * argument.
380 (print_debug): Likewise. Update caller.
381 (format_dwarf_addr): New function.
382 (print_debug_ranges_section): Use it.
383 (attr_callback): Likewise.
384 (print_debug_line_section, print_debug_loc_section): Likewise.
385
386 * readelf.c (print_debug_ranges_section): Translate all strings.
387 (print_debug_loc_section): Likewise.
388
389 * unstrip.c (copy_elided_sections): Initialize SEC.
390
391 * ar.c (do_oper_insert): Put trailing / on short names.
392
393 * arlib.h (MAX_AR_NAME_LEN): Decrease by one.
394
395 * arlib2.c (arlib_add_long_name): Adjust for header size.
396
397 * arlib.c (arlib_finalize): Pad long name table to keep size even.
398
399 * ar.c (do_oper_insert): Use write_retry for padding write.
400
401 * ar.c (do_oper_insert): Initialize CUR_OFF in no_old case.
402 Unconditionally set FOUND[CNT]->elf when setting ->mem.
403 (remember_long_name): New function.
404 (do_oper_insert): Call it. Correctly use length of basename,
405 not original name. Don't store long name twice for new member.
406
4072007-10-06 Roland McGrath <roland@redhat.com>
408
409 * elflint.c (check_note): Skip empty segment.
410 (check_note_section): Skip empty section.
411
412 * unstrip.c (options, parse_opt, struct arg_info): Grok -R/--relocate.
413 (handle_output_dir_module, handle_implicit_modules): Pass it down.
414 (handle_dwfl_module): When set, use ET_REL already loaded by Dwfl.
415 (compare_alloc_sections): Take new arg REL, ignore address if true.
416 (compare_sections): Likewise, pass it down.
417 (compare_sections_rel, compare_sections_nonrel): New functions.
418 (find_alloc_sections_prelink, copy_elided_sections): Use them
419 instead of compare_sections.
420 (sections_match): New function, broken out of ...
421 (find_alloc_section): ... here.
422 (copy_elided_sections): Reorganize section match-up logic.
423 Use sections_match for SHF_ALLOC in ET_REL.
424 For ET_REL, let the nonzero sh_addr from the debug file dominate.
425
426 * unstrip.c (add_new_section_symbols): Take new arg REL.
427 When true, do not update section symbol values.
428 (collect_symbols): Likewise. Update section symbols with address
429 of chosen output section, not original section.
430 (check_symtab_section_symbols, copy_elided_sections): Update callers.
431
432 * unstrip.c (compare_alloc_sections): At the same address, preserve
433 original section order.
434
435 * elflint.c (special_sections): Don't require MERGE|STRINGS for
436 .debug_str, it didn't always have them with older tools.
437
438 * elflint.c (check_symtab, check_one_reloc): Ignore sh_addr in ET_REL.
439
4402007-10-05 Roland McGrath <roland@redhat.com>
441
442 * elflint.c (check_symtab): Allow SHN_UNDEF _GLOBAL_OFFSET_TABLE_ in
443 ET_REL file.
444
445 * elflint.c (check_symtab): For _GLOBAL_OFFSET_TABLE_, diagnose
446 SHN_UNDEF as "bad section". Use shndx value in messages.
447
448 * elflint.c (special_sections): Add ".debug_str". Decrement namelen
449 for ".debug" so it matches as a prefix.
450 (IS_KNOWN_SPECIAL): New macro.
451 (check_sections): Use it for ".plt" match. Cite wrong SHT_NOBITS
452 type even under -d, for a .debug* or .shstrtab section.
453
454 * readelf.c (print_ops): Use hex for address operand.
455
4562007-10-04 Roland McGrath <roland@redhat.com>
457
458 * unstrip.c (copy_elided_sections): Initialize NDX_SECTION element for
459 .gnu_debuglink section to SHN_UNDEF. Drop STT_SECTION symbols for
460 sections mapped to SHN_UNDEF.
461
Ulrich Drepper3fc3d7b2007-10-04 18:40:28 +00004622007-10-04 Ulrich Drepper <drepper@redhat.com>
463
464 * readelf.c (dump_archive_index): Avoid warning about uninitialized
465 variable with older glibc versions.
466 Add some branch prediction.
467
Roland McGrath59ea7f32007-10-04 08:50:09 +00004682007-10-04 Roland McGrath <roland@redhat.com>
469
470 * readelf.c (print_archive_index): New variable.
471 (options, parse_opt): Accept -c/--archive-index to set it.
472 (dump_archive_index): New function.
473 (process_file): Take new arg WILL_PRINT_ARCHIVE_INDEX.
474 Call dump_archive_index on archives if set.
475 (main): Update caller.
476 (any_control_option): Give it file scope, moved out of ...
477 (parse_opt): ... here.
478
4792007-10-03 Roland McGrath <roland@redhat.com>
480
481 * unstrip.c (struct arg_info): Add `list' flag.
482 (options, parse_opt): Grok -n/--list to set it.
483 (list_module): New function.
484 (handle_implicit_modules): Call it under -n.
485
486 * elflint.c (check_note_section): New function.
487 (check_sections): Call it for SHT_NOTE.
488
489 * readelf.c (handle_notes): Use sections when available.
490
491 * elflint.c (check_note_data): New function, broken out of ...
492 (check_note): ... here. Call it and elf_getdata_rawchunk.
493
494 * readelf.c (handle_auxv_note): Take offset as argument, not buffer.
495 Use elf_getdata_rawchunk and gelf_getauxv.
496 (handle_notes_data): New function, broken out of ...
497 (handle_notes): ... here. Call it and elf_getdata_rawchunk.
498
Roland McGrath241ac022007-10-01 18:21:46 +00004992007-10-01 Roland McGrath <roland@redhat.com>
500
Roland McGrathac0a16c2007-10-01 18:50:35 +0000501 * readelf.c (hex_dump): Fix transposed subtraction generating spaces.
502
Roland McGrath241ac022007-10-01 18:21:46 +0000503 * readelf.c (hex_dump): Fix line header to be hex instead of decimal.
504
Roland McGrathc76f0b02007-09-27 07:31:33 +00005052007-09-10 Roland McGrath <roland@redhat.com>
506
507 * readelf.c (options): Give -p optional argument, alias --string-dump.
508 (string_sections, string_sections_tail): New static variables.
509 (parse_opt): Set them when -p has an argument.
510 (print_string_section): New function, broken out of ...
511 (print_strings): ... here. Call it.
512 (dump_data_section): New function, broken out of ...
513 (dump_data): ... here. Call it.
514 (for_each_section_argument): New function, broken out of ...
515 (dump_data): ... here. Call it.
516 (dump_strings): New function.
517
5182007-08-31 Roland McGrath <roland@redhat.com>
519
520 * readelf.c (print_strings): Typo fix.
521
Roland McGrathcb6d8652007-08-23 08:10:54 +00005222007-08-23 Roland McGrath <roland@redhat.com>
523
524 * readelf.c (printf_with_wrap): Function removed.
525 (REGISTER_WRAP_COLUMN): New macro.
526 (handle_core_register): Use print_core_item instead.
527 (struct register_info): New type.
528 (compare_registers, compare_register_sets): New functions.
529 (register_bitpos, compare_sets_by_info): New functions.
530 (handle_core_registers): Use those to segregate and sort registers
531 for display.
532
533 * readelf.c (ITEM_WRAP_COLUMN): New macro.
534 (print_core_item): New function.
535 (handle_core_item): Use it instead of printf_with_wrap.
536 (compare_core_items, compare_core_item_groups): New functions.
537 (handle_core_items): Use them. Sort by group and force line breaks
538 between groups.
539
540 * readelf.c (handle_core_registers, handle_core_items): New functions,
541 broken out of ...
542 (handle_core_note): ... here. Call them.
543
5442007-08-22 Roland McGrath <roland@redhat.com>
545
546 * unstrip.c (new_shstrtab): New function, broken out of ...
547 (copy_elided_sections): ... here.
548
5492007-08-20 Roland McGrath <roland@redhat.com>
550
551 Avoid local function trampolines in nm binary.
552 * nm.c (sort_by_address): Move to a static function instead of local
553 inside show_symbols.
554 (sort_by_name_strtab): New static variable.
555 (sort_by_name): Use it. Move to a static function instead of local
556 inside show_symbols.
557 (show_symbols): Set sort_by_name_strtab.
558
5592007-08-19 Roland McGrath <roland@redhat.com>
560
561 * readelf.c (handle_auxv_note): New function.
562 (handle_notes): Call it.
563
564 * readelf.c (printf_with_wrap, convert): New functions.
565 (handle_core_item, (handle_core_register): New functions.
566 (handle_notes): Call those with details from ebl_core_note.
567
Roland McGrath099dd522007-08-13 22:58:36 +00005682007-08-12 Roland McGrath <roland@redhat.com>
569
570 * elflint.c (check_note): Accept type 0 with name "Linux".
571
572 * elflint.c (special_sections): Accept SHF_ALLOC for ".note".
573
574 * elflint.c (section_flags_string): Return "none" for 0, not "".
575
Roland McGrathd8221722007-08-11 21:18:09 +00005762007-08-11 Roland McGrath <roland@redhat.com>
577
578 * elflint.c (check_note): Accept NT_GNU_HWCAP, NT_GNU_BUILD_ID.
579
Ulrich Drepperc98bcc72007-08-04 17:06:14 +00005802007-08-04 Ulrich Drepper <drepper@redhat.com>
581
582 * readelf.c (hex_dump): Use isprint to determine whether to print
583 character itself or full stop character.
584 (dump_data): No need to check endp for NULL after strtol call.
585
Roland McGrath60fc84c2007-08-03 21:59:15 +00005862007-08-03 Roland McGrath <roland@redhat.com>
587
588 * readelf.c (print_string_sections): New variable.
589 (options, parse_opt): Handle --strings/-p to set it.
590 (print_strings): New function.
591 (process_elf_file): Call it under -p.
592
593 * readelf.c (options): Add hidden aliases --segments, --sections,
594 as taken by binutils readelf.
595
5962007-08-01 Roland McGrath <roland@redhat.com>
597
598 * readelf.c (dump_data_sections, dump_data_sections_tail):
599 New variables.
600 (options, parse_opt): Handle --hex-dump/-x, set them.
601 (hex_dump): New function.
602 (dump_data): New function, call it.
603 (process_elf_file): Call it.
604
6052007-07-25 Roland McGrath <roland@redhat.com>
606
607 * addr2line.c (show_symbols): New variable.
608 (print_addrsym): New function.
609 (handle_address): Call it.
610 (options, parse_opt): Handle -S/--symbols.
611
Ulrich Drepperb0243862007-06-06 00:09:36 +00006122007-06-05 Ulrich Drepper <drepper@redhat.com>
613
614 * addr2line.c: Update for latest autoconf header.
615 * ar.c: Likewise.
616 * elfcmp.c: Likewise.
617 * elflint.c: Likewise.
618 * findtextrel.c: Likewise.
619 * ld.c: Likewise.
620 * ldgeneric.c: Likewise.
621 * nm.c: Likewise.
622 * objdump.c: Likewise.
623 * ranlib.c: Likewise.
624 * readelf.c: Likewise.
625 * size.c: Likewise.
626 * strings.c: Likewise.
627 * strip.c: Likewise.
628 * unstrip.c: Likewise.
629
Roland McGrath9aa8ef72007-05-18 08:59:43 +00006302007-05-18 Roland McGrath <roland@redhat.com>
631
632 * unstrip.c (copy_elided_sections): Match up non-NOBITS sections with
633 stripped file, so as not to duplicate a section copied in both.
634
635 * strip.c (handle_elf): Keep SHT_NOTE section copies in the debug file.
636
6372007-05-17 Roland McGrath <roland@redhat.com>
638
639 * unstrip.c (copy_elided_sections): Don't call gelf_newphdr for 0.
640
641 * unstrip.c (handle_file): Tweak BIAS != 0 warning.
642
643 * unstrip.c (handle_file): Take new arg CREATE_DIRS. If set,
644 call make_directories here.
645 (handle_explicit_files): Take new arg CREATE_DIRS, pass it down.
646 (handle_dwfl_module): Likewise.
647 (handle_implicit_modules): Update callers.
648 (handle_output_dir_module): Likewise. Don't do make_directories here.
649
650 * unstrip.c (get_section_name): New function, broken out of ...
651 (copy_elided_sections): here. Update callers.
652 (find_alloc_section): Broken out of ...
653 (copy_elided_sections): ... here. Update caller.
654 (symtab_count_leading_section_symbols): Take new arg NEWSYMDATA,
655 update STT_SECTION symbols' st_value fields as a side effect.
656 (check_symtab_section_symbols): Update caller.
657 (add_new_section_symbols): Set st_value in symbols added.
658 (collect_symbols): Reset S->value for STT_SECTION symbols recorded.
659 Take new arg SPLIT_BSS. Adjust S->shndx recorded for symbols moved
660 from .bss to .dynbss.
661 (find_alloc_sections_prelink): New function. Associate debug file
662 allocated SHT_NOBITS shdrs with stripped moved by prelink via
663 .gnu.prelink_undo information.
664 (copy_elided_sections): Call it when we couldn't find every allocated
665 section. Don't use a debug file non-NOBITS section if SHF_ALLOC.
666 Take STRIPPED_EHDR arg instead of E_TYPE and PHNUM.
667 (handle_file): Update callers.
668
669 * unstrip.c (copy_elided_sections): Ignore unfound unallocated section
670 named ".comment".
671
672 * elflint.c (check_sections): Fix association of segments with
673 sections when p_memsz > p_filesz.
674
6752007-04-29 Roland McGrath <roland@redhat.com>
676
677 * addr2line.c (options, main): Tweak argp group settings to fix
678 usage output.
679
6802007-04-28 Roland McGrath <roland@redhat.com>
681
682 * strip.c (handle_elf): Update debug file's SHT_NOBITS sections'
683 sizes to match sections adjusted in the stripped file.
684
Roland McGrath4be15242007-04-25 03:09:33 +00006852007-04-24 Roland McGrath <roland@redhat.com>
686
687 * elfcmp.c (OPT_HASH_INEXACT): New macro.
688 (hash_inexact): New variable.
689 (options, parse_opt): Add --hash-inexact option to set it.
690 (hash_content_equivalent): New function.
691 (main): Call it for differing SHT_HASH sections under --hash-inexact.
692
6932007-04-23 Roland McGrath <roland@redhat.com>
694
695 * unstrip.c: New file.
696 * Makefile.am (bin_PROGRAMS): Add it.
697 (unstrip_LDADD): New variable.
698
699 * strip.c (options): Allow --output for -o.
700
Ulrich Drepper8b383102007-02-16 00:31:57 +00007012007-02-15 Ulrich Drepper <drepper@redhat.com>
702
703 * readelf.c: Remove unused code. Add a few consts.
704
Ulrich Drepper903c1162007-02-15 19:40:37 +00007052007-02-15 Roland McGrath <roland@redhat.com>
706
707 * readelf.c (print_debug): Fix brainos in SHDR test.
708
Roland McGrathf82a1ec2007-02-06 04:47:44 +00007092007-02-05 Roland McGrath <roland@redhat.com>
710
711 * ar.c: Include <limits.h>, since we use LONG_MAX.
712
Ulrich Drepper0fe63532007-02-05 21:05:51 +00007132007-02-05 Ulrich Drepper <drepper@redhat.com>
714
Ulrich Drepper8b383102007-02-16 00:31:57 +0000715 * ar.c: Add ugly hack to work around gcc complaining that we
Ulrich Drepper93ab56f2007-02-05 22:12:41 +0000716 ignore fchown's return value.
717 (do_oper_insert): Handle error when writing padding.
718 * ranlib.c: Add fchown complain work around.
719
Ulrich Drepper0fe63532007-02-05 21:05:51 +0000720 * arlib.c: Make symtab a global variable. Change all users.
721 * arlib2.c: Likewise.
722 * ranlib.c: Likewise.
723 * ar.c: Likewise.
724 * arlib.h: Declare it.
725
Ulrich Drepperaa915fd2007-02-05 07:25:33 +00007262007-01-11 Roland McGrath <roland@redhat.com>
727
728 * elflint.c (check_sections): Use ebl_machine_section_flag_check on
729 SHF_MASKPROC bits separately from generic sh_flags validation.
730
Ulrich Drepperce0bdb62007-02-05 07:13:52 +00007312007-02-04 Ulrich Drepper <drepper@redhat.com>
732
733 * ar.c: New file.
734 * arlib.c: New file.
735 * arlib2.c: New file.
736 * arlib.h: New file.
737 * Makefile (noinst_LIBRARIES): Add libar.
738 (libar_a_SOURCES): Define.
739 (ar_LDADD): Define.
740 (CFLAGS_ar): Define.
741 * ranlib.c: Change to use arlib.
742
743 * elflint.c (check_symtab): Work around GNU ld bug which omits
744 sections but not symbols in those sections.
745
Ulrich Drepperb770cf92007-01-10 21:02:34 +00007462007-01-10 Ulrich Drepper <drepper@redhat.com>
747
748 * addr2line.c: Update copyright year.
749 * elfcmp.c: Likewise.
750 * elflint.c: Likewise.
751 * findtextrel.c: Likewise.
752 * ld.c: Likewise.
753 * nm.c: Likewise.
754 * objdump.c: Likewise.
755 * ranlib.c: Likewise.
756 * readelf.c: Likewise.
757 * size.c: Likewise.
758 * strings.c: Likewise.
759 * strip.c: Likewise.
760
Ulrich Drepper7c0e79f2006-12-09 21:10:19 +00007612006-12-09 Ulrich Drepper <drepper@redhat.com>
762
763 * elflint.c (compare_hash_gnu_hash): New function. Report if the
764 two hash tables have different content (module expected omission
765 of undefined symbols).
766
Roland McGrath8190db62006-12-17 23:56:51 +00007672006-10-31 Roland McGrath <roland@redhat.com>
768
769 * elflint.c (check_program_header): Don't complain about
Ulrich Drepper56bc0b82006-12-18 22:38:08 +0000770 p_filesz > p_memsz if p_memsz is zero and p_type is PT_NOTE.
Roland McGrath8190db62006-12-17 23:56:51 +0000771
7722006-09-19 Jakub Jelinek <jakub@redhat.com>
773
774 * strip.c (process_file): Disallow -f on archives.
775
7762006-10-09 Roland McGrath <roland@redhat.com>
777
778 * Makefile.am (libld_elf_i386.so): Use $(LINK), not $(CC).
779
Roland McGrathc373d852006-10-10 00:25:21 +00007802006-08-29 Roland McGrath <roland@redhat.com>
781
782 * Makefile.am (MAINTAINERCLEANFILES): New variable.
783
784 * readelf.c (handle_relocs_rel): Typo fix, test DESTSHDR properly.
785 Reported by Christian Aichinger <Greek0@gmx.net>.
786
787 * elflint.c (valid_e_machine): Add EM_ALPHA.
788 Reported by Christian Aichinger <Greek0@gmx.net>.
789
Ulrich Drepper231c5902006-08-08 22:00:11 +00007902006-08-08 Ulrich Drepper <drepper@redhat.com>
791
792 * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
793 Keep track of which "high DT" entries are present.
794 Check that either old or GNU-style hash table is present.
795 If GNU-style hash table is used a symbol table is mandatory.
796 Check that if any prelink entry is present all of them are.
797 (check_gnu_hash): Only fail for undefined symbols in GNU-style hash
798 table if they don't refer to functions.
799
Roland McGrath858b1892006-07-17 08:41:15 +00008002006-07-17 Roland McGrath <roland@redhat.com>
801
802 * elflint.c (struct version_namelist): Use GElf_Versym for `ndx' field.
803 (add_version): Likewise for argument.
804 (check_versym): Cast constant to GElf_Versym for comparison.
805
Roland McGrath4ec807e2006-07-13 03:59:46 +00008062006-07-12 Roland McGrath <roland@redhat.com>
807
808 * readelf.c (handle_gnu_hash): Add casts for machines where
809 Elf32_Word != unsigned int.
810
Ulrich Drepperdcf61602006-07-12 19:59:02 +00008112006-07-12 Ulrich Drepper <drepper@redhat.com>
812
813 * elflint.c (check_sysv_hash64): Fix printf format.
814
Ulrich Dreppercc415622006-07-12 19:42:23 +00008152006-07-11 Roland McGrath <roland@redhat.com>
Ulrich Drepper8ae58142006-07-12 05:22:32 +0000816
Ulrich Dreppercc415622006-07-12 19:42:23 +0000817 * addr2line.c (options): English fix in -f doc string.
818
819 * addr2line.c (use_comp_dir): New variable.
820 (options, parse_opt): Grok -A/--absolute to set it.
821 (handle_address): If set, prepend dwfl_line_comp_dir results to
822 relative file names.
Ulrich Drepper8ae58142006-07-12 05:22:32 +0000823
Ulrich Drepper28ed8952006-07-07 03:43:47 +00008242006-07-06 Ulrich Drepper <drepper@redhat.com>
825
826 * elflint.c: Adjust for latest new hash table format.
827 * readelf.c: Likewise.
828
829 * elflint.c (check_versym): Ignore hidden bit when comparing version
830 numbers.
831
8322006-07-05 Ulrich Drepper <drepper@redhat.com>
833
834 * ldgeneric.c (ld_generic_create_outfile): Correctly recognize
835 discarded COMDAT symbols.
836
837 * i386_ld.c (elf_i386_count_relocations): Lot of corrections.
838 (elf_i386_create_relocations): Likewise.
839 * ld.h (struct symbol): Add local and hidden bits.
840 * ld.c (create_special_section_symbol): These synthsized symbols
841 are local and hidden.
842 * ldgeneric.c (file_process2): Check whether input file matches
843 the emulation.
844 (fillin_special_symbol): Create symbols as local and/or hidden
845 if requested.
846 (ld_generic_create_outfile): Make local copy of symbol.
847 Don't hide global, defined symbols in dynamic symbol table unless
848 requested. Synthetic symbols have no version information.
849
850 * elflint.c: Add support for checking 64-bit SysV-style hash tables.
851 * readelf.c: Add support for printing 64-bit SysV-style hash tables.
852
8532006-07-04 Ulrich Drepper <drepper@redhat.com>
854
855 * elflint.c (is_rel_dyn): Fix and extend DT_RELCOUNT/DT_RELACOUNT
856 testing.
857
8582006-07-03 Ulrich Drepper <drepper@redhat.com>
859
860 * elflint.c: Add testing of DT_GNU_HASH.
861 * readelf.c: Implement showing histogram for DT_GNU_HASH section.
862
863 * Makefile.am: Add hacks to create dependency files for non-generic
864 linker.
865
Ulrich Drepper6ca46002006-06-12 22:40:23 +00008662006-06-12 Ulrich Drepper <drepper@redhat.com>
867
868 * ldgeneric.c (ld_generic_generate_sections): Don't create .interp
869 section if creating a DSO and no interpreter is given.
870 (ld_generic_create_outfile): Don't store reference to symbols in
871 discarded COMDAT groups. Don't create PHDR and INTERP program header
872 for DSO if no interpreter is specified.
Ulrich Drepper595d0e72006-06-12 23:25:17 +0000873 (create_verneed_data): Pretty printing.
874
Ulrich Drepper6ca46002006-06-12 22:40:23 +0000875 * ldscript.y (content): If a DSO is created don't set default
876 interpreter from linker script.
877
878 * i386_ld.c (elf_i386_count_relocations): Do not add relocations
879 for symbols in discarded COMDAT groups.
880 (elf_i386_create_relocations): Likewise.
881 * ld.h (struct scninfo): Add unused_comdat.
882 * ldgeneric.c (add_section): Also check group signature when
883 matching COMDAT sections.
884 (add_relocatable_file): Ignore symbols in COMDAT group which are
885 discarded.
886
887 * elflint.c (check_one_reloc): For *_NONE relocs only check type
888 and symbol reference.
889
Ulrich Drepper54f33a72006-06-11 09:07:37 +00008902006-06-11 Ulrich Drepper <drepper@redhat.com>
891
Ulrich Dreppercbb51e52006-06-11 20:25:23 +0000892 * elflint.c (check_dynamic): Fix checking value of tags which are
893 offsets in the string section. Make sure DT_STRTAB points to the
894 section referenced in sh_link.
895
896 * ld.c (options): Add headers. Add short option 'R' for '--rpath'.
897
Ulrich Drepper54f33a72006-06-11 09:07:37 +0000898 * ld.c: Recognize --eh-frame-hdr option.
899 * ld.h (struct ld_state): Add eh_frame_hdr field.
900 * ldgeneric.c (struct unw_eh_frame_hdr): Define.
901
902 * ldgeneric.c (add_section): Use ebl_sh_flags_combine instead of
903 SH_FLAGS_COMBINE.
904 (add_relocatable_file): Minor optimization of last change.
905 (match_section): Don't preserve SHF_GROUP flag any longer.
906
Ulrich Drepper2d880282006-06-11 00:20:43 +00009072006-06-10 Ulrich Drepper <drepper@redhat.com>
908
909 * ld.c (parse_z_option): Recognize execstack and noexecstack.
Ulrich Drepper4f0a7a82006-06-11 00:53:45 +0000910 Handle record and ignore as position dependent options.
911 (parse_z_option_2): Handle ignore and record here.
Ulrich Drepper2d880282006-06-11 00:20:43 +0000912 * ld.h (struct ld_state): Add execstack field.
913 * ldgeneric.c (add_relocatable_file): Recognize .note.GNU-stack
914 sections.
915 (ld_generic_create_outfile): Fix program header creation in native
916 linker. Add PT_GNU_STACK program header.
917
Ulrich Dreppera688a732006-06-10 06:33:00 +00009182006-06-09 Ulrich Drepper <drepper@redhat.com>
919
920 * i386_ld.c (elf_i386_finalize_plt): Don't change symbol table entries
921 for PLT entries if there is no local definition.
922
923 * ld.c (parse_option): Handle -z ignore like --as-needed and
924 -z record like --no-as-needed.
925 * ld.h (struct ld_state): Remove ignore_unused_dsos field.
926 * ldgeneric.c (new_generated_scn): Always compute ndt_needed by
927 looping over DSOs. When deciding about adding DT_NEEDED entries
928 use ->as_needed instead of ignore_unused_dsos.
929
Ulrich Drepper8c56fe32006-05-31 15:50:43 +00009302006-05-31 Ulrich Drepper <drepper@redhat.com>
Ulrich Drepper11b030e2006-05-28 20:28:19 +0000931
Ulrich Drepper8c56fe32006-05-31 15:50:43 +0000932 * ld.c: Recognize --as-needed and --no-as-needed options.
933 * ld.h (struct usedfile): Add as_needed field.
934 (struct ld_state): Likewise.
935 * ldgeneric.c (ld_handle_filename_list): Copy as_needed flag from
936 the list.
937 * ldscript.y (filename_id_list): Split to correctly parse all
938 combinations.
939 (mark_as_needed): Fix loop.
Ulrich Drepper11b030e2006-05-28 20:28:19 +0000940
Ulrich Drepper697f4db2006-06-10 06:50:47 +00009412006-05-28 Ulrich Drepper <drepper@redhat.com>
942
943 * addr2line.c (print_dwarf_function): Use unsigned type for lineno
944 and colno.
945
Ulrich Drepper2cb8e732006-05-27 21:57:27 +00009462006-05-27 Ulrich Drepper <drepper@redhat.com>
947
948 * readelf.c (handle_relocs_rela): Better notations for addon value.
Ulrich Drepper41a99082006-05-28 00:01:43 +0000949 (print_ehdr): Distinguish e_ident[EI_VERSION] from e_version.
Ulrich Drepper2cb8e732006-05-27 21:57:27 +0000950
Ulrich Drepper82c345d2006-04-04 22:07:54 +00009512006-04-04 Ulrich Drepper <drepper@redhat.com>
952
953 * addr2line.c: Update copyright year.
954 * elfcmp.c: Likewise.
955 * elflint.c: Likewise.
956 * findtextrel.c: Likewise.
957 * ld.c: Likewise.
958 * nm.c: Likewise.
959 * objdump.c: Likewise.
960 * ranlib.c: Likewise.
961 * readelf.c: Likewise.
962 * size.c: Likewise.
963 * strings.c: Likewise.
964 * strip.c: Likewise.
965
Roland McGrathdd7e22b2006-03-09 23:05:47 +00009662006-03-09 Roland McGrath <roland@redhat.com>
967
968 * Makefile.am (AM_LDFLAGS): New variable.
969
Roland McGrath060fa052006-03-02 07:51:50 +00009702006-03-01 Roland McGrath <roland@redhat.com>
971
972 * readelf.c (dwarf_tag_string, dwarf_attr_string): Update name tables
973 for dwarf.h changes matching 3.0 spec.
974 (dwarf_encoding_string, dwarf_lang_string, print_ops): Likewise.
975
Ulrich Drepper038129b2005-12-04 16:47:24 +00009762005-12-04 Ulrich Drepper <drepper@redhat.com>
977
978 * elflint.c (check_one_reloc): If relocation section is not loaded,
979 don't check whether the relocations modify read-only sections or
980 loaded and unloaded sections.
981
Ulrich Drepper607e0542005-12-04 15:51:06 +00009822005-11-28 Ulrich Drepper <drepper@redhat.com>
983
984 * elflint.c (check_one_reloc): Take additional parameters. Use
985 them to determine whether relocation is valid in this type of
986 file. DSOs and executables can contain relocation sections in
987 unloaded sections which just show the relocations the linker
988 applied. Adjust all callers.
989 (check_program_header): Check that PT_PHDR is loaded and that offset
990 matches the one in the ELF header.
991
Roland McGrath6724c902005-10-28 07:07:19 +00009922005-10-26 Roland McGrath <roland@redhat.com>
993
994 * nm.c (get_var_range): dwarf_getloclist -> dwarf_getlocation.
995
Ulrich Drepperd0449522005-09-03 07:23:52 +00009962005-09-03 Ulrich Drepper <drepper@redhat.com>
997
Ulrich Dreppere3f9b7d2005-09-03 16:42:46 +0000998 * strip.c (handle_elf): Unify some error messages.
999 * ld.c (main): Likewise.
1000 * ldgeneric.c (open_elf): Likewise.
1001 * elfcmp.c (main): Likewise.
1002 * elflint.c (check_elf_header): Likewise.
1003
1004 * size.c (process_file): Fix typo in error message.
1005
Ulrich Drepperd0449522005-09-03 07:23:52 +00001006 * readelf.c: Lots of little cleanups. Use _unlocked functions.
1007
Ulrich Dreppera60501e2005-09-02 19:50:17 +000010082005-09-02 Ulrich Drepper <drepper@redhat.com>
1009
Ulrich Dreppere3f9b7d2005-09-03 16:42:46 +00001010 * strings.c (main): Reset elfmap variable after munmap call.
Ulrich Drepper618795f2005-09-02 20:01:37 +00001011 [_MUDFLAP] (map_file): Simplify mudflap debugging by not using mmap.
Ulrich Dreppera60501e2005-09-02 19:50:17 +00001012
Ulrich Drepperfbe998a2005-08-29 16:27:10 +000010132005-08-28 Ulrich Drepper <drepper@redhat.com>
1014
1015 * ranlib.c: Don't define pread_retry and write_retry here.
1016
1017 * Makefile.an [BUILD_STATIC] (libdw): Add -ldl.
1018 (CLEANFILES): Add *.gcno *.gcda *.gconv.
1019
1020 * strings.c (process_chunk): Reorder expressions in conditional
1021 (process_chunk_mb): Likewise.
1022
1023 * strings.c: New file.
1024 * Makefile.am (bin_PROGRAMS): Add strings.
1025 (strings_no_Wstring): Define.
1026 (strings_LDADD): Define.
1027
Roland McGrath71e15a02005-08-27 10:33:26 +000010282005-08-27 Roland McGrath <roland@redhat.com>
1029
1030 * addr2line.c (dwarf_diename_integrate): Function removed.
1031 (print_dwarf_function): Use plain dwarf_diename.
1032
Ulrich Drepperc5a06cd2005-08-24 19:50:14 +000010332005-08-24 Ulrich Drepper <drepper@redhat.com>
1034
1035 * elflint.c (check_versym): Versioned symbols should not have
1036 local binding.
1037
Ulrich Drepper5d832292005-08-15 21:36:27 +000010382005-08-15 Ulrich Drepper <drepper@redhat.com>
1039
Ulrich Drepper61655e02005-08-16 04:23:02 +00001040 * elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
1041 undefined.
1042
Ulrich Drepper5d832292005-08-15 21:36:27 +00001043 * Makefile.am: Add rules to build ranlib.
1044 * ranlib.c: New file.
1045
Roland McGrath18e13422005-08-15 08:01:25 +000010462005-08-14 Roland McGrath <roland@redhat.com>
1047
1048 * elflint.c (check_sections): Use ebl_section_type_name and allow any
1049 sh_type it recognizes.
1050
1051 * elflint.c (check_sections): Print unknown flags in hex, don't
1052 truncate high bits. Print section number and name for unknown type.
1053
Roland McGrathf6895042005-08-13 20:56:52 +000010542005-08-13 Roland McGrath <roland@redhat.com>
1055
1056 * elflint.c (check_program_header): Use ebl_segment_type_name and
1057 allow any p_type it recognizes. Include p_type value in error
1058 message for unknown type.
1059
Ulrich Drepperc5c33a62005-08-13 17:50:47 +000010602005-08-13 Ulrich Drepper <drepper@redhat.com>
1061
1062 * elflint.c (check_symtab): Simplify last change a bit. Pass ehdr
1063 to ebl_check_special_symbol.
1064 (check_sections): Pass ehdr to ebl_bss_plt_p.
1065
Roland McGrath653d3762005-08-13 01:59:10 +000010662005-08-12 Roland McGrath <roland@redhat.com>
1067
1068 * elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx
1069 refers to the right section if it's not SHN_ABS.
1070 Let ebl_check_special_symbol override _G_O_T_ value and size checks.
1071
1072 * elflint.c (check_sections): Don't complain about a non-NOBITS
1073 section taking no segment space, if it's sh_size is 0.
1074
1075 * elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should
1076 be PROGBITS or NOBITS.
1077
1078 * elflint.c (check_symtab): Use ebl_check_special_symbol to override
1079 standard st_value and st_size checks.
1080
Roland McGrath1c83bf12005-08-11 07:03:55 +000010812005-07-28 Roland McGrath <roland@redhat.com>
Ulrich Drepperfaf4d192005-08-11 05:12:05 +00001082
Roland McGrath1c83bf12005-08-11 07:03:55 +00001083 * addr2line.c (options, parse_opt): Don't handle -e here.
1084 (executable): Variable removed.
1085 (argp_children): New static variable.
1086 (argp): Use it. Make const.
1087 (main): Fill in argp_children from dwfl_standard_argp ().
1088 Let libdwfl handle file selection, pass Dwfl handle to handle_address.
1089 (print_dwarf_function): New function. Try to figure out inline chain.
1090 (elf_getname): Function removed, libdwfl does it for us.
1091 (handle_address): Take Dwfl handle instead of Elf, Dwarf handles.
1092 Use dwfl_module_addrname instead of elf_getname.
1093 Use dwfl_module_getsrc and dwfl_lineinfo instead of libdw calls.
1094 * Makefile.am (INCLUDES): Add libdwfl directory to path.
1095
10962005-08-10 Ulrich Drepper <drepper@redhat.com>
1097
1098 * strip.c (parse_opt): STATE parameter is now used.
1099 Various little cleanups.
1100
1101 * readelf.c (print_debug_line_section): Correct fallout of renaming
1102 of DW_LNS_set_epilog_begin.
Ulrich Drepper6d5c3bd2005-08-11 04:37:52 +00001103
Roland McGrath8f31c2c2005-08-09 04:58:05 +000011042005-08-08 Roland McGrath <roland@redhat.com>
1105
1106 * strip.c (options, parse_opt): Grok -R .comment for compatibility
1107 with binutils strip. Likewise -d, -S, as aliases for -g.
1108 Likewise ignore -s/--strip-all.
1109
Roland McGrath095a01b2005-08-08 03:49:35 +000011102005-08-07 Roland McGrath <roland@redhat.com>
1111
1112 * strip.c (process_file): Open read-only when using a different output
1113 file.
1114
Ulrich Drepper47be7952005-08-07 04:41:39 +000011152005-08-06 Ulrich Drepper <drepper@redhat.com>
1116
Ulrich Drepper637963b2005-08-07 05:33:07 +00001117 * elflint.c (in_nobits_scn): New function.
1118 (check_versym): Allow references for defined symbols against versions
1119 of other DSOs also for symbols in nobits sections.
1120 Move a few variables around.
1121
Ulrich Drepper47be7952005-08-07 04:41:39 +00001122 * Makefile.am (AM_CFLAGS): Avoid duplication.
1123 Link with statis libs if BUILD_STATIC.
1124
Ulrich Drepperdbace232005-08-06 01:37:23 +000011252005-08-05 Ulrich Drepper <drepper@redhat.com>
1126
1127 * elflint.c: Many, many more tests. Mostly related to symbol
1128 versioning. Those sections should now be completely checked.
1129
1130 * readelf.c (print_dynamic): Use gelf_offscn.
1131
Ulrich Drepperacb89832005-08-04 07:01:49 +000011322005-08-04 Ulrich Drepper <drepper@redhat.com>
1133
1134 * elflint.c: Add lots more tests: more extension symbol table sanity,
1135 versioning section tests, hash table tests. General cleanup.
1136
Ulrich Drepperc911c9e2005-08-02 16:07:42 +000011372005-08-02 Ulrich Drepper <drepper@redhat.com>
1138
Ulrich Drepper8a687742005-08-03 02:24:12 +00001139 * objdump.c: New file.
1140 * Makefile.am (bin_PROGRAMS): Add objdump.
1141 (objdump_LDADD): Define.
1142
Ulrich Drepperc911c9e2005-08-02 16:07:42 +00001143 * elflint.c (check_reloc_shdr): New function split out from check_rela
1144 and check_rel.
1145 (check_one_reloc): New function. Likewise.
1146 (check_rela): Use check_reloc_shdr and check_one_reloc.
1147 (check_rel): Likewise.
Ulrich Drepper41de4882005-08-03 00:02:56 +00001148 (check_program_header): Check that PT_DYNAMIC entry matches .dynamic
1149 section.
1150 Add checks that relocations against read-only segments are flagged,
1151 that the text relocation flag is not set unnecessarily, and that
1152 relocations in one section are either against loaded or not-loaded
1153 segments.
Ulrich Drepperc911c9e2005-08-02 16:07:42 +00001154
Ulrich Drepper8533dcf2005-08-01 07:18:47 +000011552005-08-01 Ulrich Drepper <drepper@redhat.com>
1156
1157 * elfcmp.c (main): Ignore section count and section name string table
1158 section index.
1159
Roland McGrathf9ece8a2005-07-28 07:03:04 +000011602005-07-27 Roland McGrath <roland@redhat.com>
1161
1162 * elfcmp.c: Include <locale.h>.
1163
Ulrich Drepper7d48d6a2005-07-27 10:13:23 +000011642005-07-27 Ulrich Drepper <drepper@redhat.com>
1165
1166 * elfcmp.c: Print name and index of differing section.
1167
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000011682005-07-24 Ulrich Drepper <drepper@redhat.com>
1169
1170 * elfcmp.c: Implement comparing gaps between sections.
1171
11722005-07-23 Ulrich Drepper <drepper@redhat.com>
1173
1174 * elflint.c: Include libeblP.h instead of libebl.h.
1175 * nm.c: Likewise.
1176 * readelf.c: Likewise.
1177 * elfcmp.c: Likewise.
1178
1179 * elfcmp.c (main): Compare individual ELF header fields, excluding
1180 e_shoff instead of the whole struct at once.
1181 Use ebl_section_strip_p instead of SECTION_STRIP_P.
1182 * strip.c: Use ebl_section_strip_p instead of SECTION_STRIP_P.
1183
11842005-07-22 Ulrich Drepper <drepper@redhat.com>
1185
1186 * elfcmp.c (main): Take empty section into account when comparing
1187 section content.
1188
1189 * elflint.c (check_dynamic): Check that d_tag value is >= 0 before
1190 using it.
1191
11922005-07-21 Ulrich Drepper <drepper@redhat.com>
1193
1194 * elfcmp.c: New file.
1195 * Makefile.am (bin_PROGRAMS): Add elfcmp.
1196 (elfcmp_LDADD): Define.
1197
1198 * elflint.c (check_rela): Check that copy relocations only reference
1199 object symbols or symbols with unknown type.
1200 (check_rel): Likewise.
1201
12022005-06-08 Roland McGrath <roland@redhat.com>
1203
1204 * readelf.c (print_ops): Add consts.
1205
12062005-05-31 Roland McGrath <roland@redhat.com>
1207
1208 * readelf.c (print_debug_abbrev_section): Don't bail after first CU's
1209 abbreviations. Print a header line before each CU section.
1210
1211 * readelf.c (print_debug_loc_section): Fix indentation for larger
1212 address size.
1213
12142005-05-30 Roland McGrath <roland@redhat.com>
1215
1216 * readelf.c (print_debug_line_section): Print section offset of each
1217 CU's table, so they are easy to find from seeing the stmt_list value.
1218
1219 * readelf.c (dwarf_attr_string): Add all attributes in <dwarf.h>.
1220 (attr_callback): Grok DW_AT_ranges and print offset in hex.
1221
1222 * readelf.c (attr_callback): Add 2 to addrsize * 2 for %#0* format.
1223 (print_debug_ranges_section, print_debug_loc_section): Likewise.
1224
1225 * readelf.c (print_ops): Take different args for indentation control.
1226 (attr_callback): Caller updated.
1227 Grok several more block-form attributes as being location expressions.
1228 For those same attributes with udata forms, format output differently
1229 for location list offset.
1230 (print_debug_loc_section): Implement it for real.
1231
1232 * readelf.c (options): Mention ranges for --debug-dump.
1233 (enum section_e): Add section_ranges.
1234 (parse_opt): Grok "ranges" for -w/--debug-dump.
1235 (print_debug_ranges_section): New function.
1236 (print_debug): Handle .debug_ranges section.
1237
12382005-05-30 Ulrich Drepper <drepper@redhat.com>
1239
1240 * readelf.c (handle_notes): At least x86-64 need not have the note
1241 section values aligned to 8 bytes.
1242
12432005-05-18 Ulrich Drepper <drepper@redhat.com>
1244
1245 * readelf.c (dwarf_tag_string): Add new tags.
1246
12472005-05-08 Roland McGrath <roland@redhat.com>
1248
1249 * strip.c (handle_elf): Don't translate hash and versym data formats,
1250 elf_getdata already did it for us.
1251
12522005-05-07 Ulrich Drepper <drepper@redhat.com>
1253
1254 * Makefile.am (findtextrel_LDADD): Add $(libmudflap).
1255 (addr2line_LDADD): Likewise.
1256
12572005-05-03 Roland McGrath <roland@redhat.com>
1258
1259 * strip.c (handle_elf): Apply symbol table fixups to discarded
1260 relocation sections when they are being saved in the debug file.
1261
1262 * strip.c (handle_elf): Pass EHDR->e_ident[EI_DATA] to gelf_xlatetom
1263 and gelf_xlatetof, not the native byte order.
1264
1265 * strip.c (parse_opt): Give error if -f or -o is repeated.
1266 (main): Exit if argp_parse returns nonzero.
1267
1268 * strip.c (debug_fname_embed): New variable.
1269 (options, parse_opt): New option -F to set it.
1270
12712005-05-07 Ulrich Drepper <drepper@redhat.com>
1272
1273 * readelf.c (parse_opt): Make any_control_option variable
1274 local. Simplify some tests.
1275
12762005-05-03 Roland McGrath <roland@redhat.com>
1277
1278 * strip.c (crc32_file): Function removed (now in ../lib).
1279
12802005-05-03 Roland McGrath <roland@redhat.com>
1281
1282 * elflint.c (is_debuginfo): New variable.
1283 (options, parse_opt): New option --debuginfo/-d to set it.
1284 (check_sections): If is_debuginfo, don't complain about SHT_NOBITS.
1285 (check_note): If is_debuginfo, don't try to get note contents.
1286
12872005-04-24 Ulrich Drepper <drepper@redhat.com>
1288
1289 * readelf.c (print_debug_abbrev_section): Don't print error when end of
1290 section reached.
1291
12922005-04-14 Ulrich Drepper <drepper@redhat.com>
1293
1294 * readelf.c (dwarf_encoding_string): New function.
1295 (dwarf_inline_string): New function.
1296 (dwarf_access_string): New function.
1297 (dwarf_visibility_string): New function.
1298 (dwarf_virtuality_string): New function.
1299 (dwarf_identifier_case_string): New function.
1300 (dwarf_calling_convention_string): New function.
1301 (dwarf_ordering_string): New function.
1302 (dwarf_discr_list_string): New function.
1303 (attr_callback): Decode man more attribute values.
1304
13052005-04-01 Ulrich Drepper <drepper@redhat.com>
1306
1307 * addr2line.c: Finish implementation of -f option.
1308
13092005-03-29 Ulrich Drepper <drepper@redhat.com>
1310
1311 * addr2line.c: New file.
1312 * Makefile.am (bin_PROGRAMS): Add addr2line.
1313 Define addr2line_LDADD.
1314
1315 * findtextrel.c: Use new dwarf_addrdie function.
1316
1317 * findtextrel.c: Fix usage message and re-add accidentally removed
1318 line.
1319
13202005-03-28 Ulrich Drepper <drepper@redhat.com>
1321
1322 * findtextrel.c: New file.
1323 * Makefile: Add rules to build findtextrel.
1324
13252005-02-15 Ulrich Drepper <drepper@redhat.com>
1326
1327 * ldlex.l: Provide ECHO definition to avoid warning.
1328
1329 * elflint.c (check_program_header): Fix typo in RELRO test.
1330
1331 * Makefile.am (AM_CFLAGS): Add more warning options.
1332 * elflint.c: Fix warnings introduced by the new warning options.
1333 * i386_ld.c: Likewise.
1334 * ld.c: Likewise.
1335 * ld.h: Likewise.
1336 * ldgeneric.c: Likewise.
1337 * nm.c: Likewise.
1338 * readelf.c: Likewise.
1339 * sectionhash.c: Likewise.
1340 * size.c: Likewise.
1341 * string.c: Likewise.
1342
13432005-02-05 Ulrich Drepper <drepper@redhat.com>
1344
1345 * Makefile.am: Check for text relocations in constructed DSOs.
1346
1347 * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap. Link all apps
1348 with -lmudflap.
1349
1350 * ldscript.y: Add as_needed handling.
1351 * ldlex.l: Recognize AS_NEEDED token.
1352 * ld.h (struct filename_list): Add as_needed flag.
1353
13542005-02-04 Ulrich Drepper <drepper@redhat.com>
1355
1356 * elflint.c (check_symtab): Correctly determine size of GOT section.
1357
13582005-01-19 Ulrich Drepper <drepper@redhat.com>
1359
1360 * ld.c: Remove unnecessary more_help function. Print bug report
1361 address using argp.
1362 * strip.c: Likewise.
1363 * size.c: Likewise.
1364 * nm.c: Likewise.
1365 * readelf.c: Likewise.
1366 * elflint.c: Likewise.
1367
1368 * elflint.c (main): Don't check for parameter problems here.
1369 (parse_opt): Do it here, where we get informed about some of them
1370 anyway.
1371
1372 * readelf.c (main): Don't check for parameter problems here.
1373 (parse_opt): Do it here, where we get informed about some of them
1374 anyway.
1375
13762005-01-11 Ulrich Drepper <drepper@redhat.com>
1377
1378 * strip.c: Update copyright year.
1379 * readelf.c: Likewise.
1380 * size.c: Likewise.
1381 * nm.c: Likewise.
1382 * ld.c: Likewise.
1383 * elflint.c: Likewise.
1384
1385 * elflint.c (check_symtab): Don't warn about wrong size for
1386 _DYNAMIC and __GLOBAL_OFFSET_TABLE__ for --gnu-ld.
1387
13882004-10-05 Ulrich Drepper <drepper@redhat.com>
1389
1390 * readelf.c (print_phdr): In section mapping, also indicate
1391 sections in read-only segments.
1392
13932004-09-25 Ulrich Drepper <drepper@redhat.com>
1394
1395 * readelf.c: Make compile with gcc 4.0.
1396 * strip.c: Likewise.
1397
13982004-08-16 Ulrich Drepper <drepper@redhat.com>
1399
1400 * strip.c (handle_elf): Rewrite dynamic memory handling to use of
1401 allocate to work around gcc 3.4 bug.
1402
14032004-01-25 Ulrich Drepper <drepper@redhat.com>
1404
1405 * ldlex.l (invalid_char): Better error message.
1406
14072004-01-23 Ulrich Drepper <drepper@redhat.com>
1408
1409 * readelf.c: Print SHT_GNU_LIBLIST sections.
1410
1411 * none_ld.c: New file.
1412
14132004-01-21 Ulrich Drepper <drepper@redhat.com>
1414
1415 * Makefile.am: Enable building of machine specific linker.
1416
14172004-01-20 Ulrich Drepper <drepper@redhat.com>
1418
1419 * Makefile.am: Support building with mudflap.
1420
1421 * i386_ld.c: Fix warnings gcc 3.4 spits out.
1422 * ldgeneric.c: Likewise.
1423 * ldscript.y: Likewise.
1424 * readelf.c: Likewise.
1425 * strip.c: Likewise.
1426
1427 * readelf.c (print_debug_line_section): Determine address size
1428 correctly.
1429
14302004-01-19 Ulrich Drepper <drepper@redhat.com>
1431
1432 * readelf.c (print_phdr): Show which sections are covered by the
1433 PT_GNU_RELRO entry.
1434
1435 * elflint.c (check_program_header): Check PT_GNU_RELRO entry.
1436
1437 * readelf.c (print_debug_macinfo_section): Implement.
1438
14392004-01-18 Ulrich Drepper <drepper@redhat.com>
1440
1441 * readelf.c (print_debug_line_section): Implement.
1442
14432004-01-17 Ulrich Drepper <drepper@redhat.com>
1444
1445 * src/elflint.c: Use PACKAGE_NAME instead of PACKAGE.
1446 * src/ld.c: Likewise.
1447 * src/nm.c: Likewise.
1448 * src/readelf.c: Likewise.
1449 * src/size.c: Likewise.
1450 * src/strip.c: Likewise.
1451
1452 * strip.c: Add a few more unlikely. Reduce scope of some variables.
1453
1454 * Makefile.am: Support building with mudflap.
1455
14562004-01-16 Ulrich Drepper <drepper@redhat.com>
1457
1458 * readelf.c (print_debug_info_section): Free dies memory.
1459
1460 * readelf.c: Print .debug_info section content.
1461
14622004-01-13 Ulrich Drepper <drepper@redhat.com>
1463
1464 * readelf.c (print_shdr): Add support for SHF_ORDERED and SHF_EXCLUDE.
1465
14662004-01-12 Ulrich Drepper <drepper@redhat.com>
1467
1468 * readelf.c (print_debug_aranges): Implement using libdw.
1469
14702004-01-11 Ulrich Drepper <drepper@redhat.com>
1471
1472 * nm.c: Adjust for Dwarf_Files type and dwarf_lineno interface change.
1473
1474 * readelf.c: Use libdw instead of libdwarf. Not all of the old
1475 behavior is available yet.
1476 * Makefile.am: Link readelf with libdw. Remove libdwarf include path.
1477
14782004-01-09 Ulrich Drepper <drepper@redhat.com>
1479
1480 * nm.c (get_local_names): Adjust call to dwarf_nextcu.
1481
1482 * nm.c: Implement getting information about local variables.
1483
14842004-01-07 Ulrich Drepper <drepper@redhat.com>
1485
1486 * nm.c: Read also debug information for local symbols.
1487
14882004-01-05 Ulrich Drepper <drepper@redhat.com>
1489
1490 * nm.c: Shuffle dwarf handling code around so the maximum column
1491 width can be computed ahead of printing. Avoid collection symbols
1492 which are not printed anyway.
1493
1494 * nm.c: Rewrite dwarf handling to use libdw.
1495 * Makefile.am (AM_CFLAGS): Add -std parameter.
1496 (INCLUDES): Find header in libdw subdir.
1497 (nm_LDADD): Replace libdwarf with libdw.
1498
1499 * elflint.c: Update copyright year.
1500 * readelf.c: Likewise.
1501 * size.c: Likewise.
1502 * strip.c: Likewise.
1503 * nm.c: Likewise.
1504
15052003-12-31 Ulrich Drepper <drepper@redhat.com>
1506
1507 * strip.c (process_file): Close file before returning.
1508
15092003-11-19 Ulrich Drepper <drepper@redhat.com>
1510
1511 * readelf.c (handle_dynamic): Make column for tag name wider.
1512
15132003-09-29 Ulrich Drepper <drepper@redhat.com>
1514
1515 * readelf.c (handle_dynamic): Always terminate tag name with a space.
1516
15172003-09-25 Ulrich Drepper <drepper@redhat.com>
1518
1519 * strip.c (process_file): Don't mmap the input file, we modify the
1520 data structures and don't want the change end up on disk.
1521
15222003-09-23 Jakub Jelinek <jakub@redhat.com>
1523
1524 * unaligned.h (union u_2ubyte_unaligned,
1525 union u_4ubyte_unaligned, union u_8ubyte_unaligned): Add
1526 packed attribute.
1527 (add_2ubyte_unaligned, add_4ubyte_unaligned,
1528 add_8ubyte_unaligned): Avoid nesting bswap_NN macros.
1529 Read/store value through _ptr->u instead of *_ptr.
1530
15312003-09-22 Ulrich Drepper <drepper@redhat.com>
1532
1533 * size.c (show_sysv): Change type of maxlen to int.
1534
1535 * strip.c (handle_elf): Handle the 64-bit archs which is 64-bit
1536 buckets.
1537
1538 * i386_ld.c: Many many fixes and extensions.
1539 * ld.c: Likewise.
1540 * ldgeneric.c: Likewise.
1541
15422003-08-16 Ulrich Drepper <drepper@redhat.com>
1543
1544 * ldgeneric.c (check_definition): Don't add symbol on dso_list if
1545 the reference is from another DSO.
1546
15472003-08-15 Ulrich Drepper <drepper@redhat.com>
1548
1549 * ldgeneric.c (find_entry_point): It is no fatal error if no entry
1550 point is found when creating a DSO.
1551
15522003-08-14 Ulrich Drepper <drepper@redhat.com>
1553
1554 * ld.c (main): Always call FLAG_UNRESOLVED.
1555 * ldgeneric.c (ld_generic_flag_unresolved): Only complain about
1556 undefined symbols if not creating DSO or ld_state.nodefs is not set.
1557
15582003-08-13 Ulrich Drepper <drepper@redhat.com>
1559
1560 * Makefile.in: Depend on libebl.a, not libebl.so.
1561
1562 * ld.c (main): Mark stream for linker script as locked by caller.
1563 (read_version_script): Likewise.
1564 * ldlex.c: Define fread and fwrite to _unlocked variant.
1565
1566 * i386_ld.c (elf_i386_finalize_plt): Replace #ifdefs with uses of
1567 target_bswap_32.
1568 * unaligned.h: Define target_bswap_16, target_bswap_32, and
1569 target_bswap_64.
1570 (store_2ubyte_unaligned, store_4ubyte_unaligned,
1571 store_8ubyte_unaligned): Define using new macros.
1572
15732003-08-12 Ulrich Drepper <drepper@redhat.com>
1574
1575 * i386_ld.c (elf_i386_finalize_plt): Use packed structs to access
1576 possibly unaligned memory. Support use of big endian machines.
1577
15782003-08-11 Ulrich Drepper <drepper@redhat.com>
1579
1580 * Moved to CVS archive.