blob: e89f6c0b3e1578c8ead308365b698ba98cf88ef8 [file] [log] [blame]
Ulrich Drepper7c0e79f2006-12-09 21:10:19 +000012006-12-09 Ulrich Drepper <drepper@redhat.com>
2
3 * elflint.c (compare_hash_gnu_hash): New function. Report if the
4 two hash tables have different content (module expected omission
5 of undefined symbols).
6
Roland McGrathc373d852006-10-10 00:25:21 +000072006-08-29 Roland McGrath <roland@redhat.com>
8
9 * Makefile.am (MAINTAINERCLEANFILES): New variable.
10
11 * readelf.c (handle_relocs_rel): Typo fix, test DESTSHDR properly.
12 Reported by Christian Aichinger <Greek0@gmx.net>.
13
14 * elflint.c (valid_e_machine): Add EM_ALPHA.
15 Reported by Christian Aichinger <Greek0@gmx.net>.
16
Ulrich Drepper231c5902006-08-08 22:00:11 +0000172006-08-08 Ulrich Drepper <drepper@redhat.com>
18
19 * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
20 Keep track of which "high DT" entries are present.
21 Check that either old or GNU-style hash table is present.
22 If GNU-style hash table is used a symbol table is mandatory.
23 Check that if any prelink entry is present all of them are.
24 (check_gnu_hash): Only fail for undefined symbols in GNU-style hash
25 table if they don't refer to functions.
26
Roland McGrath858b1892006-07-17 08:41:15 +0000272006-07-17 Roland McGrath <roland@redhat.com>
28
29 * elflint.c (struct version_namelist): Use GElf_Versym for `ndx' field.
30 (add_version): Likewise for argument.
31 (check_versym): Cast constant to GElf_Versym for comparison.
32
Roland McGrath4ec807e2006-07-13 03:59:46 +0000332006-07-12 Roland McGrath <roland@redhat.com>
34
35 * readelf.c (handle_gnu_hash): Add casts for machines where
36 Elf32_Word != unsigned int.
37
Ulrich Drepperdcf61602006-07-12 19:59:02 +0000382006-07-12 Ulrich Drepper <drepper@redhat.com>
39
40 * elflint.c (check_sysv_hash64): Fix printf format.
41
Ulrich Dreppercc415622006-07-12 19:42:23 +0000422006-07-11 Roland McGrath <roland@redhat.com>
Ulrich Drepper8ae58142006-07-12 05:22:32 +000043
Ulrich Dreppercc415622006-07-12 19:42:23 +000044 * addr2line.c (options): English fix in -f doc string.
45
46 * addr2line.c (use_comp_dir): New variable.
47 (options, parse_opt): Grok -A/--absolute to set it.
48 (handle_address): If set, prepend dwfl_line_comp_dir results to
49 relative file names.
Ulrich Drepper8ae58142006-07-12 05:22:32 +000050
Ulrich Drepper28ed8952006-07-07 03:43:47 +0000512006-07-06 Ulrich Drepper <drepper@redhat.com>
52
53 * elflint.c: Adjust for latest new hash table format.
54 * readelf.c: Likewise.
55
56 * elflint.c (check_versym): Ignore hidden bit when comparing version
57 numbers.
58
592006-07-05 Ulrich Drepper <drepper@redhat.com>
60
61 * ldgeneric.c (ld_generic_create_outfile): Correctly recognize
62 discarded COMDAT symbols.
63
64 * i386_ld.c (elf_i386_count_relocations): Lot of corrections.
65 (elf_i386_create_relocations): Likewise.
66 * ld.h (struct symbol): Add local and hidden bits.
67 * ld.c (create_special_section_symbol): These synthsized symbols
68 are local and hidden.
69 * ldgeneric.c (file_process2): Check whether input file matches
70 the emulation.
71 (fillin_special_symbol): Create symbols as local and/or hidden
72 if requested.
73 (ld_generic_create_outfile): Make local copy of symbol.
74 Don't hide global, defined symbols in dynamic symbol table unless
75 requested. Synthetic symbols have no version information.
76
77 * elflint.c: Add support for checking 64-bit SysV-style hash tables.
78 * readelf.c: Add support for printing 64-bit SysV-style hash tables.
79
802006-07-04 Ulrich Drepper <drepper@redhat.com>
81
82 * elflint.c (is_rel_dyn): Fix and extend DT_RELCOUNT/DT_RELACOUNT
83 testing.
84
852006-07-03 Ulrich Drepper <drepper@redhat.com>
86
87 * elflint.c: Add testing of DT_GNU_HASH.
88 * readelf.c: Implement showing histogram for DT_GNU_HASH section.
89
90 * Makefile.am: Add hacks to create dependency files for non-generic
91 linker.
92
Ulrich Drepper6ca46002006-06-12 22:40:23 +0000932006-06-12 Ulrich Drepper <drepper@redhat.com>
94
95 * ldgeneric.c (ld_generic_generate_sections): Don't create .interp
96 section if creating a DSO and no interpreter is given.
97 (ld_generic_create_outfile): Don't store reference to symbols in
98 discarded COMDAT groups. Don't create PHDR and INTERP program header
99 for DSO if no interpreter is specified.
Ulrich Drepper595d0e72006-06-12 23:25:17 +0000100 (create_verneed_data): Pretty printing.
101
Ulrich Drepper6ca46002006-06-12 22:40:23 +0000102 * ldscript.y (content): If a DSO is created don't set default
103 interpreter from linker script.
104
105 * i386_ld.c (elf_i386_count_relocations): Do not add relocations
106 for symbols in discarded COMDAT groups.
107 (elf_i386_create_relocations): Likewise.
108 * ld.h (struct scninfo): Add unused_comdat.
109 * ldgeneric.c (add_section): Also check group signature when
110 matching COMDAT sections.
111 (add_relocatable_file): Ignore symbols in COMDAT group which are
112 discarded.
113
114 * elflint.c (check_one_reloc): For *_NONE relocs only check type
115 and symbol reference.
116
Ulrich Drepper54f33a72006-06-11 09:07:37 +00001172006-06-11 Ulrich Drepper <drepper@redhat.com>
118
Ulrich Dreppercbb51e52006-06-11 20:25:23 +0000119 * elflint.c (check_dynamic): Fix checking value of tags which are
120 offsets in the string section. Make sure DT_STRTAB points to the
121 section referenced in sh_link.
122
123 * ld.c (options): Add headers. Add short option 'R' for '--rpath'.
124
Ulrich Drepper54f33a72006-06-11 09:07:37 +0000125 * ld.c: Recognize --eh-frame-hdr option.
126 * ld.h (struct ld_state): Add eh_frame_hdr field.
127 * ldgeneric.c (struct unw_eh_frame_hdr): Define.
128
129 * ldgeneric.c (add_section): Use ebl_sh_flags_combine instead of
130 SH_FLAGS_COMBINE.
131 (add_relocatable_file): Minor optimization of last change.
132 (match_section): Don't preserve SHF_GROUP flag any longer.
133
Ulrich Drepper2d880282006-06-11 00:20:43 +00001342006-06-10 Ulrich Drepper <drepper@redhat.com>
135
136 * ld.c (parse_z_option): Recognize execstack and noexecstack.
Ulrich Drepper4f0a7a82006-06-11 00:53:45 +0000137 Handle record and ignore as position dependent options.
138 (parse_z_option_2): Handle ignore and record here.
Ulrich Drepper2d880282006-06-11 00:20:43 +0000139 * ld.h (struct ld_state): Add execstack field.
140 * ldgeneric.c (add_relocatable_file): Recognize .note.GNU-stack
141 sections.
142 (ld_generic_create_outfile): Fix program header creation in native
143 linker. Add PT_GNU_STACK program header.
144
Ulrich Dreppera688a732006-06-10 06:33:00 +00001452006-06-09 Ulrich Drepper <drepper@redhat.com>
146
147 * i386_ld.c (elf_i386_finalize_plt): Don't change symbol table entries
148 for PLT entries if there is no local definition.
149
150 * ld.c (parse_option): Handle -z ignore like --as-needed and
151 -z record like --no-as-needed.
152 * ld.h (struct ld_state): Remove ignore_unused_dsos field.
153 * ldgeneric.c (new_generated_scn): Always compute ndt_needed by
154 looping over DSOs. When deciding about adding DT_NEEDED entries
155 use ->as_needed instead of ignore_unused_dsos.
156
Ulrich Drepper8c56fe32006-05-31 15:50:43 +00001572006-05-31 Ulrich Drepper <drepper@redhat.com>
Ulrich Drepper11b030e2006-05-28 20:28:19 +0000158
Ulrich Drepper8c56fe32006-05-31 15:50:43 +0000159 * ld.c: Recognize --as-needed and --no-as-needed options.
160 * ld.h (struct usedfile): Add as_needed field.
161 (struct ld_state): Likewise.
162 * ldgeneric.c (ld_handle_filename_list): Copy as_needed flag from
163 the list.
164 * ldscript.y (filename_id_list): Split to correctly parse all
165 combinations.
166 (mark_as_needed): Fix loop.
Ulrich Drepper11b030e2006-05-28 20:28:19 +0000167
Ulrich Drepper697f4db2006-06-10 06:50:47 +00001682006-05-28 Ulrich Drepper <drepper@redhat.com>
169
170 * addr2line.c (print_dwarf_function): Use unsigned type for lineno
171 and colno.
172
Ulrich Drepper2cb8e732006-05-27 21:57:27 +00001732006-05-27 Ulrich Drepper <drepper@redhat.com>
174
175 * readelf.c (handle_relocs_rela): Better notations for addon value.
Ulrich Drepper41a99082006-05-28 00:01:43 +0000176 (print_ehdr): Distinguish e_ident[EI_VERSION] from e_version.
Ulrich Drepper2cb8e732006-05-27 21:57:27 +0000177
Ulrich Drepper82c345d2006-04-04 22:07:54 +00001782006-04-04 Ulrich Drepper <drepper@redhat.com>
179
180 * addr2line.c: Update copyright year.
181 * elfcmp.c: Likewise.
182 * elflint.c: Likewise.
183 * findtextrel.c: Likewise.
184 * ld.c: Likewise.
185 * nm.c: Likewise.
186 * objdump.c: Likewise.
187 * ranlib.c: Likewise.
188 * readelf.c: Likewise.
189 * size.c: Likewise.
190 * strings.c: Likewise.
191 * strip.c: Likewise.
192
Roland McGrathdd7e22b2006-03-09 23:05:47 +00001932006-03-09 Roland McGrath <roland@redhat.com>
194
195 * Makefile.am (AM_LDFLAGS): New variable.
196
Roland McGrath060fa052006-03-02 07:51:50 +00001972006-03-01 Roland McGrath <roland@redhat.com>
198
199 * readelf.c (dwarf_tag_string, dwarf_attr_string): Update name tables
200 for dwarf.h changes matching 3.0 spec.
201 (dwarf_encoding_string, dwarf_lang_string, print_ops): Likewise.
202
Ulrich Drepper038129b2005-12-04 16:47:24 +00002032005-12-04 Ulrich Drepper <drepper@redhat.com>
204
205 * elflint.c (check_one_reloc): If relocation section is not loaded,
206 don't check whether the relocations modify read-only sections or
207 loaded and unloaded sections.
208
Ulrich Drepper607e0542005-12-04 15:51:06 +00002092005-11-28 Ulrich Drepper <drepper@redhat.com>
210
211 * elflint.c (check_one_reloc): Take additional parameters. Use
212 them to determine whether relocation is valid in this type of
213 file. DSOs and executables can contain relocation sections in
214 unloaded sections which just show the relocations the linker
215 applied. Adjust all callers.
216 (check_program_header): Check that PT_PHDR is loaded and that offset
217 matches the one in the ELF header.
218
Roland McGrath6724c902005-10-28 07:07:19 +00002192005-10-26 Roland McGrath <roland@redhat.com>
220
221 * nm.c (get_var_range): dwarf_getloclist -> dwarf_getlocation.
222
Ulrich Drepperd0449522005-09-03 07:23:52 +00002232005-09-03 Ulrich Drepper <drepper@redhat.com>
224
Ulrich Dreppere3f9b7d2005-09-03 16:42:46 +0000225 * strip.c (handle_elf): Unify some error messages.
226 * ld.c (main): Likewise.
227 * ldgeneric.c (open_elf): Likewise.
228 * elfcmp.c (main): Likewise.
229 * elflint.c (check_elf_header): Likewise.
230
231 * size.c (process_file): Fix typo in error message.
232
Ulrich Drepperd0449522005-09-03 07:23:52 +0000233 * readelf.c: Lots of little cleanups. Use _unlocked functions.
234
Ulrich Dreppera60501e2005-09-02 19:50:17 +00002352005-09-02 Ulrich Drepper <drepper@redhat.com>
236
Ulrich Dreppere3f9b7d2005-09-03 16:42:46 +0000237 * strings.c (main): Reset elfmap variable after munmap call.
Ulrich Drepper618795f2005-09-02 20:01:37 +0000238 [_MUDFLAP] (map_file): Simplify mudflap debugging by not using mmap.
Ulrich Dreppera60501e2005-09-02 19:50:17 +0000239
Ulrich Drepperfbe998a2005-08-29 16:27:10 +00002402005-08-28 Ulrich Drepper <drepper@redhat.com>
241
242 * ranlib.c: Don't define pread_retry and write_retry here.
243
244 * Makefile.an [BUILD_STATIC] (libdw): Add -ldl.
245 (CLEANFILES): Add *.gcno *.gcda *.gconv.
246
247 * strings.c (process_chunk): Reorder expressions in conditional
248 (process_chunk_mb): Likewise.
249
250 * strings.c: New file.
251 * Makefile.am (bin_PROGRAMS): Add strings.
252 (strings_no_Wstring): Define.
253 (strings_LDADD): Define.
254
Roland McGrath71e15a02005-08-27 10:33:26 +00002552005-08-27 Roland McGrath <roland@redhat.com>
256
257 * addr2line.c (dwarf_diename_integrate): Function removed.
258 (print_dwarf_function): Use plain dwarf_diename.
259
Ulrich Drepperc5a06cd2005-08-24 19:50:14 +00002602005-08-24 Ulrich Drepper <drepper@redhat.com>
261
262 * elflint.c (check_versym): Versioned symbols should not have
263 local binding.
264
Ulrich Drepper5d832292005-08-15 21:36:27 +00002652005-08-15 Ulrich Drepper <drepper@redhat.com>
266
Ulrich Drepper61655e02005-08-16 04:23:02 +0000267 * elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
268 undefined.
269
Ulrich Drepper5d832292005-08-15 21:36:27 +0000270 * Makefile.am: Add rules to build ranlib.
271 * ranlib.c: New file.
272
Roland McGrath18e13422005-08-15 08:01:25 +00002732005-08-14 Roland McGrath <roland@redhat.com>
274
275 * elflint.c (check_sections): Use ebl_section_type_name and allow any
276 sh_type it recognizes.
277
278 * elflint.c (check_sections): Print unknown flags in hex, don't
279 truncate high bits. Print section number and name for unknown type.
280
Roland McGrathf6895042005-08-13 20:56:52 +00002812005-08-13 Roland McGrath <roland@redhat.com>
282
283 * elflint.c (check_program_header): Use ebl_segment_type_name and
284 allow any p_type it recognizes. Include p_type value in error
285 message for unknown type.
286
Ulrich Drepperc5c33a62005-08-13 17:50:47 +00002872005-08-13 Ulrich Drepper <drepper@redhat.com>
288
289 * elflint.c (check_symtab): Simplify last change a bit. Pass ehdr
290 to ebl_check_special_symbol.
291 (check_sections): Pass ehdr to ebl_bss_plt_p.
292
Roland McGrath653d3762005-08-13 01:59:10 +00002932005-08-12 Roland McGrath <roland@redhat.com>
294
295 * elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx
296 refers to the right section if it's not SHN_ABS.
297 Let ebl_check_special_symbol override _G_O_T_ value and size checks.
298
299 * elflint.c (check_sections): Don't complain about a non-NOBITS
300 section taking no segment space, if it's sh_size is 0.
301
302 * elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should
303 be PROGBITS or NOBITS.
304
305 * elflint.c (check_symtab): Use ebl_check_special_symbol to override
306 standard st_value and st_size checks.
307
Roland McGrath1c83bf12005-08-11 07:03:55 +00003082005-07-28 Roland McGrath <roland@redhat.com>
Ulrich Drepperfaf4d192005-08-11 05:12:05 +0000309
Roland McGrath1c83bf12005-08-11 07:03:55 +0000310 * addr2line.c (options, parse_opt): Don't handle -e here.
311 (executable): Variable removed.
312 (argp_children): New static variable.
313 (argp): Use it. Make const.
314 (main): Fill in argp_children from dwfl_standard_argp ().
315 Let libdwfl handle file selection, pass Dwfl handle to handle_address.
316 (print_dwarf_function): New function. Try to figure out inline chain.
317 (elf_getname): Function removed, libdwfl does it for us.
318 (handle_address): Take Dwfl handle instead of Elf, Dwarf handles.
319 Use dwfl_module_addrname instead of elf_getname.
320 Use dwfl_module_getsrc and dwfl_lineinfo instead of libdw calls.
321 * Makefile.am (INCLUDES): Add libdwfl directory to path.
322
3232005-08-10 Ulrich Drepper <drepper@redhat.com>
324
325 * strip.c (parse_opt): STATE parameter is now used.
326 Various little cleanups.
327
328 * readelf.c (print_debug_line_section): Correct fallout of renaming
329 of DW_LNS_set_epilog_begin.
Ulrich Drepper6d5c3bd2005-08-11 04:37:52 +0000330
Roland McGrath8f31c2c2005-08-09 04:58:05 +00003312005-08-08 Roland McGrath <roland@redhat.com>
332
333 * strip.c (options, parse_opt): Grok -R .comment for compatibility
334 with binutils strip. Likewise -d, -S, as aliases for -g.
335 Likewise ignore -s/--strip-all.
336
Roland McGrath095a01b2005-08-08 03:49:35 +00003372005-08-07 Roland McGrath <roland@redhat.com>
338
339 * strip.c (process_file): Open read-only when using a different output
340 file.
341
Ulrich Drepper47be7952005-08-07 04:41:39 +00003422005-08-06 Ulrich Drepper <drepper@redhat.com>
343
Ulrich Drepper637963b2005-08-07 05:33:07 +0000344 * elflint.c (in_nobits_scn): New function.
345 (check_versym): Allow references for defined symbols against versions
346 of other DSOs also for symbols in nobits sections.
347 Move a few variables around.
348
Ulrich Drepper47be7952005-08-07 04:41:39 +0000349 * Makefile.am (AM_CFLAGS): Avoid duplication.
350 Link with statis libs if BUILD_STATIC.
351
Ulrich Drepperdbace232005-08-06 01:37:23 +00003522005-08-05 Ulrich Drepper <drepper@redhat.com>
353
354 * elflint.c: Many, many more tests. Mostly related to symbol
355 versioning. Those sections should now be completely checked.
356
357 * readelf.c (print_dynamic): Use gelf_offscn.
358
Ulrich Drepperacb89832005-08-04 07:01:49 +00003592005-08-04 Ulrich Drepper <drepper@redhat.com>
360
361 * elflint.c: Add lots more tests: more extension symbol table sanity,
362 versioning section tests, hash table tests. General cleanup.
363
Ulrich Drepperc911c9e2005-08-02 16:07:42 +00003642005-08-02 Ulrich Drepper <drepper@redhat.com>
365
Ulrich Drepper8a687742005-08-03 02:24:12 +0000366 * objdump.c: New file.
367 * Makefile.am (bin_PROGRAMS): Add objdump.
368 (objdump_LDADD): Define.
369
Ulrich Drepperc911c9e2005-08-02 16:07:42 +0000370 * elflint.c (check_reloc_shdr): New function split out from check_rela
371 and check_rel.
372 (check_one_reloc): New function. Likewise.
373 (check_rela): Use check_reloc_shdr and check_one_reloc.
374 (check_rel): Likewise.
Ulrich Drepper41de4882005-08-03 00:02:56 +0000375 (check_program_header): Check that PT_DYNAMIC entry matches .dynamic
376 section.
377 Add checks that relocations against read-only segments are flagged,
378 that the text relocation flag is not set unnecessarily, and that
379 relocations in one section are either against loaded or not-loaded
380 segments.
Ulrich Drepperc911c9e2005-08-02 16:07:42 +0000381
Ulrich Drepper8533dcf2005-08-01 07:18:47 +00003822005-08-01 Ulrich Drepper <drepper@redhat.com>
383
384 * elfcmp.c (main): Ignore section count and section name string table
385 section index.
386
Roland McGrathf9ece8a2005-07-28 07:03:04 +00003872005-07-27 Roland McGrath <roland@redhat.com>
388
389 * elfcmp.c: Include <locale.h>.
390
Ulrich Drepper7d48d6a2005-07-27 10:13:23 +00003912005-07-27 Ulrich Drepper <drepper@redhat.com>
392
393 * elfcmp.c: Print name and index of differing section.
394
Ulrich Drepperb08d5a82005-07-26 05:00:05 +00003952005-07-24 Ulrich Drepper <drepper@redhat.com>
396
397 * elfcmp.c: Implement comparing gaps between sections.
398
3992005-07-23 Ulrich Drepper <drepper@redhat.com>
400
401 * elflint.c: Include libeblP.h instead of libebl.h.
402 * nm.c: Likewise.
403 * readelf.c: Likewise.
404 * elfcmp.c: Likewise.
405
406 * elfcmp.c (main): Compare individual ELF header fields, excluding
407 e_shoff instead of the whole struct at once.
408 Use ebl_section_strip_p instead of SECTION_STRIP_P.
409 * strip.c: Use ebl_section_strip_p instead of SECTION_STRIP_P.
410
4112005-07-22 Ulrich Drepper <drepper@redhat.com>
412
413 * elfcmp.c (main): Take empty section into account when comparing
414 section content.
415
416 * elflint.c (check_dynamic): Check that d_tag value is >= 0 before
417 using it.
418
4192005-07-21 Ulrich Drepper <drepper@redhat.com>
420
421 * elfcmp.c: New file.
422 * Makefile.am (bin_PROGRAMS): Add elfcmp.
423 (elfcmp_LDADD): Define.
424
425 * elflint.c (check_rela): Check that copy relocations only reference
426 object symbols or symbols with unknown type.
427 (check_rel): Likewise.
428
4292005-06-08 Roland McGrath <roland@redhat.com>
430
431 * readelf.c (print_ops): Add consts.
432
4332005-05-31 Roland McGrath <roland@redhat.com>
434
435 * readelf.c (print_debug_abbrev_section): Don't bail after first CU's
436 abbreviations. Print a header line before each CU section.
437
438 * readelf.c (print_debug_loc_section): Fix indentation for larger
439 address size.
440
4412005-05-30 Roland McGrath <roland@redhat.com>
442
443 * readelf.c (print_debug_line_section): Print section offset of each
444 CU's table, so they are easy to find from seeing the stmt_list value.
445
446 * readelf.c (dwarf_attr_string): Add all attributes in <dwarf.h>.
447 (attr_callback): Grok DW_AT_ranges and print offset in hex.
448
449 * readelf.c (attr_callback): Add 2 to addrsize * 2 for %#0* format.
450 (print_debug_ranges_section, print_debug_loc_section): Likewise.
451
452 * readelf.c (print_ops): Take different args for indentation control.
453 (attr_callback): Caller updated.
454 Grok several more block-form attributes as being location expressions.
455 For those same attributes with udata forms, format output differently
456 for location list offset.
457 (print_debug_loc_section): Implement it for real.
458
459 * readelf.c (options): Mention ranges for --debug-dump.
460 (enum section_e): Add section_ranges.
461 (parse_opt): Grok "ranges" for -w/--debug-dump.
462 (print_debug_ranges_section): New function.
463 (print_debug): Handle .debug_ranges section.
464
4652005-05-30 Ulrich Drepper <drepper@redhat.com>
466
467 * readelf.c (handle_notes): At least x86-64 need not have the note
468 section values aligned to 8 bytes.
469
4702005-05-18 Ulrich Drepper <drepper@redhat.com>
471
472 * readelf.c (dwarf_tag_string): Add new tags.
473
4742005-05-08 Roland McGrath <roland@redhat.com>
475
476 * strip.c (handle_elf): Don't translate hash and versym data formats,
477 elf_getdata already did it for us.
478
4792005-05-07 Ulrich Drepper <drepper@redhat.com>
480
481 * Makefile.am (findtextrel_LDADD): Add $(libmudflap).
482 (addr2line_LDADD): Likewise.
483
4842005-05-03 Roland McGrath <roland@redhat.com>
485
486 * strip.c (handle_elf): Apply symbol table fixups to discarded
487 relocation sections when they are being saved in the debug file.
488
489 * strip.c (handle_elf): Pass EHDR->e_ident[EI_DATA] to gelf_xlatetom
490 and gelf_xlatetof, not the native byte order.
491
492 * strip.c (parse_opt): Give error if -f or -o is repeated.
493 (main): Exit if argp_parse returns nonzero.
494
495 * strip.c (debug_fname_embed): New variable.
496 (options, parse_opt): New option -F to set it.
497
4982005-05-07 Ulrich Drepper <drepper@redhat.com>
499
500 * readelf.c (parse_opt): Make any_control_option variable
501 local. Simplify some tests.
502
5032005-05-03 Roland McGrath <roland@redhat.com>
504
505 * strip.c (crc32_file): Function removed (now in ../lib).
506
5072005-05-03 Roland McGrath <roland@redhat.com>
508
509 * elflint.c (is_debuginfo): New variable.
510 (options, parse_opt): New option --debuginfo/-d to set it.
511 (check_sections): If is_debuginfo, don't complain about SHT_NOBITS.
512 (check_note): If is_debuginfo, don't try to get note contents.
513
5142005-04-24 Ulrich Drepper <drepper@redhat.com>
515
516 * readelf.c (print_debug_abbrev_section): Don't print error when end of
517 section reached.
518
5192005-04-14 Ulrich Drepper <drepper@redhat.com>
520
521 * readelf.c (dwarf_encoding_string): New function.
522 (dwarf_inline_string): New function.
523 (dwarf_access_string): New function.
524 (dwarf_visibility_string): New function.
525 (dwarf_virtuality_string): New function.
526 (dwarf_identifier_case_string): New function.
527 (dwarf_calling_convention_string): New function.
528 (dwarf_ordering_string): New function.
529 (dwarf_discr_list_string): New function.
530 (attr_callback): Decode man more attribute values.
531
5322005-04-01 Ulrich Drepper <drepper@redhat.com>
533
534 * addr2line.c: Finish implementation of -f option.
535
5362005-03-29 Ulrich Drepper <drepper@redhat.com>
537
538 * addr2line.c: New file.
539 * Makefile.am (bin_PROGRAMS): Add addr2line.
540 Define addr2line_LDADD.
541
542 * findtextrel.c: Use new dwarf_addrdie function.
543
544 * findtextrel.c: Fix usage message and re-add accidentally removed
545 line.
546
5472005-03-28 Ulrich Drepper <drepper@redhat.com>
548
549 * findtextrel.c: New file.
550 * Makefile: Add rules to build findtextrel.
551
5522005-02-15 Ulrich Drepper <drepper@redhat.com>
553
554 * ldlex.l: Provide ECHO definition to avoid warning.
555
556 * elflint.c (check_program_header): Fix typo in RELRO test.
557
558 * Makefile.am (AM_CFLAGS): Add more warning options.
559 * elflint.c: Fix warnings introduced by the new warning options.
560 * i386_ld.c: Likewise.
561 * ld.c: Likewise.
562 * ld.h: Likewise.
563 * ldgeneric.c: Likewise.
564 * nm.c: Likewise.
565 * readelf.c: Likewise.
566 * sectionhash.c: Likewise.
567 * size.c: Likewise.
568 * string.c: Likewise.
569
5702005-02-05 Ulrich Drepper <drepper@redhat.com>
571
572 * Makefile.am: Check for text relocations in constructed DSOs.
573
574 * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap. Link all apps
575 with -lmudflap.
576
577 * ldscript.y: Add as_needed handling.
578 * ldlex.l: Recognize AS_NEEDED token.
579 * ld.h (struct filename_list): Add as_needed flag.
580
5812005-02-04 Ulrich Drepper <drepper@redhat.com>
582
583 * elflint.c (check_symtab): Correctly determine size of GOT section.
584
5852005-01-19 Ulrich Drepper <drepper@redhat.com>
586
587 * ld.c: Remove unnecessary more_help function. Print bug report
588 address using argp.
589 * strip.c: Likewise.
590 * size.c: Likewise.
591 * nm.c: Likewise.
592 * readelf.c: Likewise.
593 * elflint.c: Likewise.
594
595 * elflint.c (main): Don't check for parameter problems here.
596 (parse_opt): Do it here, where we get informed about some of them
597 anyway.
598
599 * readelf.c (main): Don't check for parameter problems here.
600 (parse_opt): Do it here, where we get informed about some of them
601 anyway.
602
6032005-01-11 Ulrich Drepper <drepper@redhat.com>
604
605 * strip.c: Update copyright year.
606 * readelf.c: Likewise.
607 * size.c: Likewise.
608 * nm.c: Likewise.
609 * ld.c: Likewise.
610 * elflint.c: Likewise.
611
612 * elflint.c (check_symtab): Don't warn about wrong size for
613 _DYNAMIC and __GLOBAL_OFFSET_TABLE__ for --gnu-ld.
614
6152004-10-05 Ulrich Drepper <drepper@redhat.com>
616
617 * readelf.c (print_phdr): In section mapping, also indicate
618 sections in read-only segments.
619
6202004-09-25 Ulrich Drepper <drepper@redhat.com>
621
622 * readelf.c: Make compile with gcc 4.0.
623 * strip.c: Likewise.
624
6252004-08-16 Ulrich Drepper <drepper@redhat.com>
626
627 * strip.c (handle_elf): Rewrite dynamic memory handling to use of
628 allocate to work around gcc 3.4 bug.
629
6302004-01-25 Ulrich Drepper <drepper@redhat.com>
631
632 * ldlex.l (invalid_char): Better error message.
633
6342004-01-23 Ulrich Drepper <drepper@redhat.com>
635
636 * readelf.c: Print SHT_GNU_LIBLIST sections.
637
638 * none_ld.c: New file.
639
6402004-01-21 Ulrich Drepper <drepper@redhat.com>
641
642 * Makefile.am: Enable building of machine specific linker.
643
6442004-01-20 Ulrich Drepper <drepper@redhat.com>
645
646 * Makefile.am: Support building with mudflap.
647
648 * i386_ld.c: Fix warnings gcc 3.4 spits out.
649 * ldgeneric.c: Likewise.
650 * ldscript.y: Likewise.
651 * readelf.c: Likewise.
652 * strip.c: Likewise.
653
654 * readelf.c (print_debug_line_section): Determine address size
655 correctly.
656
6572004-01-19 Ulrich Drepper <drepper@redhat.com>
658
659 * readelf.c (print_phdr): Show which sections are covered by the
660 PT_GNU_RELRO entry.
661
662 * elflint.c (check_program_header): Check PT_GNU_RELRO entry.
663
664 * readelf.c (print_debug_macinfo_section): Implement.
665
6662004-01-18 Ulrich Drepper <drepper@redhat.com>
667
668 * readelf.c (print_debug_line_section): Implement.
669
6702004-01-17 Ulrich Drepper <drepper@redhat.com>
671
672 * src/elflint.c: Use PACKAGE_NAME instead of PACKAGE.
673 * src/ld.c: Likewise.
674 * src/nm.c: Likewise.
675 * src/readelf.c: Likewise.
676 * src/size.c: Likewise.
677 * src/strip.c: Likewise.
678
679 * strip.c: Add a few more unlikely. Reduce scope of some variables.
680
681 * Makefile.am: Support building with mudflap.
682
6832004-01-16 Ulrich Drepper <drepper@redhat.com>
684
685 * readelf.c (print_debug_info_section): Free dies memory.
686
687 * readelf.c: Print .debug_info section content.
688
6892004-01-13 Ulrich Drepper <drepper@redhat.com>
690
691 * readelf.c (print_shdr): Add support for SHF_ORDERED and SHF_EXCLUDE.
692
6932004-01-12 Ulrich Drepper <drepper@redhat.com>
694
695 * readelf.c (print_debug_aranges): Implement using libdw.
696
6972004-01-11 Ulrich Drepper <drepper@redhat.com>
698
699 * nm.c: Adjust for Dwarf_Files type and dwarf_lineno interface change.
700
701 * readelf.c: Use libdw instead of libdwarf. Not all of the old
702 behavior is available yet.
703 * Makefile.am: Link readelf with libdw. Remove libdwarf include path.
704
7052004-01-09 Ulrich Drepper <drepper@redhat.com>
706
707 * nm.c (get_local_names): Adjust call to dwarf_nextcu.
708
709 * nm.c: Implement getting information about local variables.
710
7112004-01-07 Ulrich Drepper <drepper@redhat.com>
712
713 * nm.c: Read also debug information for local symbols.
714
7152004-01-05 Ulrich Drepper <drepper@redhat.com>
716
717 * nm.c: Shuffle dwarf handling code around so the maximum column
718 width can be computed ahead of printing. Avoid collection symbols
719 which are not printed anyway.
720
721 * nm.c: Rewrite dwarf handling to use libdw.
722 * Makefile.am (AM_CFLAGS): Add -std parameter.
723 (INCLUDES): Find header in libdw subdir.
724 (nm_LDADD): Replace libdwarf with libdw.
725
726 * elflint.c: Update copyright year.
727 * readelf.c: Likewise.
728 * size.c: Likewise.
729 * strip.c: Likewise.
730 * nm.c: Likewise.
731
7322003-12-31 Ulrich Drepper <drepper@redhat.com>
733
734 * strip.c (process_file): Close file before returning.
735
7362003-11-19 Ulrich Drepper <drepper@redhat.com>
737
738 * readelf.c (handle_dynamic): Make column for tag name wider.
739
7402003-09-29 Ulrich Drepper <drepper@redhat.com>
741
742 * readelf.c (handle_dynamic): Always terminate tag name with a space.
743
7442003-09-25 Ulrich Drepper <drepper@redhat.com>
745
746 * strip.c (process_file): Don't mmap the input file, we modify the
747 data structures and don't want the change end up on disk.
748
7492003-09-23 Jakub Jelinek <jakub@redhat.com>
750
751 * unaligned.h (union u_2ubyte_unaligned,
752 union u_4ubyte_unaligned, union u_8ubyte_unaligned): Add
753 packed attribute.
754 (add_2ubyte_unaligned, add_4ubyte_unaligned,
755 add_8ubyte_unaligned): Avoid nesting bswap_NN macros.
756 Read/store value through _ptr->u instead of *_ptr.
757
7582003-09-22 Ulrich Drepper <drepper@redhat.com>
759
760 * size.c (show_sysv): Change type of maxlen to int.
761
762 * strip.c (handle_elf): Handle the 64-bit archs which is 64-bit
763 buckets.
764
765 * i386_ld.c: Many many fixes and extensions.
766 * ld.c: Likewise.
767 * ldgeneric.c: Likewise.
768
7692003-08-16 Ulrich Drepper <drepper@redhat.com>
770
771 * ldgeneric.c (check_definition): Don't add symbol on dso_list if
772 the reference is from another DSO.
773
7742003-08-15 Ulrich Drepper <drepper@redhat.com>
775
776 * ldgeneric.c (find_entry_point): It is no fatal error if no entry
777 point is found when creating a DSO.
778
7792003-08-14 Ulrich Drepper <drepper@redhat.com>
780
781 * ld.c (main): Always call FLAG_UNRESOLVED.
782 * ldgeneric.c (ld_generic_flag_unresolved): Only complain about
783 undefined symbols if not creating DSO or ld_state.nodefs is not set.
784
7852003-08-13 Ulrich Drepper <drepper@redhat.com>
786
787 * Makefile.in: Depend on libebl.a, not libebl.so.
788
789 * ld.c (main): Mark stream for linker script as locked by caller.
790 (read_version_script): Likewise.
791 * ldlex.c: Define fread and fwrite to _unlocked variant.
792
793 * i386_ld.c (elf_i386_finalize_plt): Replace #ifdefs with uses of
794 target_bswap_32.
795 * unaligned.h: Define target_bswap_16, target_bswap_32, and
796 target_bswap_64.
797 (store_2ubyte_unaligned, store_4ubyte_unaligned,
798 store_8ubyte_unaligned): Define using new macros.
799
8002003-08-12 Ulrich Drepper <drepper@redhat.com>
801
802 * i386_ld.c (elf_i386_finalize_plt): Use packed structs to access
803 possibly unaligned memory. Support use of big endian machines.
804
8052003-08-11 Ulrich Drepper <drepper@redhat.com>
806
807 * Moved to CVS archive.