blob: 770dac822e0ab93d1bf4be3e6e220f67e38dbd7d [file] [log] [blame]
Ulrich Dreppera60501e2005-09-02 19:50:17 +000012005-09-02 Ulrich Drepper <drepper@redhat.com>
2
3 * strings.c (main): Reset elfmap variable afte rmunmap call.
4
Ulrich Drepperfbe998a2005-08-29 16:27:10 +000052005-08-28 Ulrich Drepper <drepper@redhat.com>
6
7 * ranlib.c: Don't define pread_retry and write_retry here.
8
9 * Makefile.an [BUILD_STATIC] (libdw): Add -ldl.
10 (CLEANFILES): Add *.gcno *.gcda *.gconv.
11
12 * strings.c (process_chunk): Reorder expressions in conditional
13 (process_chunk_mb): Likewise.
14
15 * strings.c: New file.
16 * Makefile.am (bin_PROGRAMS): Add strings.
17 (strings_no_Wstring): Define.
18 (strings_LDADD): Define.
19
Roland McGrath71e15a02005-08-27 10:33:26 +0000202005-08-27 Roland McGrath <roland@redhat.com>
21
22 * addr2line.c (dwarf_diename_integrate): Function removed.
23 (print_dwarf_function): Use plain dwarf_diename.
24
Ulrich Drepperc5a06cd2005-08-24 19:50:14 +0000252005-08-24 Ulrich Drepper <drepper@redhat.com>
26
27 * elflint.c (check_versym): Versioned symbols should not have
28 local binding.
29
Ulrich Drepper5d832292005-08-15 21:36:27 +0000302005-08-15 Ulrich Drepper <drepper@redhat.com>
31
Ulrich Drepper61655e02005-08-16 04:23:02 +000032 * elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
33 undefined.
34
Ulrich Drepper5d832292005-08-15 21:36:27 +000035 * Makefile.am: Add rules to build ranlib.
36 * ranlib.c: New file.
37
Roland McGrath18e13422005-08-15 08:01:25 +0000382005-08-14 Roland McGrath <roland@redhat.com>
39
40 * elflint.c (check_sections): Use ebl_section_type_name and allow any
41 sh_type it recognizes.
42
43 * elflint.c (check_sections): Print unknown flags in hex, don't
44 truncate high bits. Print section number and name for unknown type.
45
Roland McGrathf6895042005-08-13 20:56:52 +0000462005-08-13 Roland McGrath <roland@redhat.com>
47
48 * elflint.c (check_program_header): Use ebl_segment_type_name and
49 allow any p_type it recognizes. Include p_type value in error
50 message for unknown type.
51
Ulrich Drepperc5c33a62005-08-13 17:50:47 +0000522005-08-13 Ulrich Drepper <drepper@redhat.com>
53
54 * elflint.c (check_symtab): Simplify last change a bit. Pass ehdr
55 to ebl_check_special_symbol.
56 (check_sections): Pass ehdr to ebl_bss_plt_p.
57
Roland McGrath653d3762005-08-13 01:59:10 +0000582005-08-12 Roland McGrath <roland@redhat.com>
59
60 * elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx
61 refers to the right section if it's not SHN_ABS.
62 Let ebl_check_special_symbol override _G_O_T_ value and size checks.
63
64 * elflint.c (check_sections): Don't complain about a non-NOBITS
65 section taking no segment space, if it's sh_size is 0.
66
67 * elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should
68 be PROGBITS or NOBITS.
69
70 * elflint.c (check_symtab): Use ebl_check_special_symbol to override
71 standard st_value and st_size checks.
72
Roland McGrath1c83bf12005-08-11 07:03:55 +0000732005-07-28 Roland McGrath <roland@redhat.com>
Ulrich Drepperfaf4d192005-08-11 05:12:05 +000074
Roland McGrath1c83bf12005-08-11 07:03:55 +000075 * addr2line.c (options, parse_opt): Don't handle -e here.
76 (executable): Variable removed.
77 (argp_children): New static variable.
78 (argp): Use it. Make const.
79 (main): Fill in argp_children from dwfl_standard_argp ().
80 Let libdwfl handle file selection, pass Dwfl handle to handle_address.
81 (print_dwarf_function): New function. Try to figure out inline chain.
82 (elf_getname): Function removed, libdwfl does it for us.
83 (handle_address): Take Dwfl handle instead of Elf, Dwarf handles.
84 Use dwfl_module_addrname instead of elf_getname.
85 Use dwfl_module_getsrc and dwfl_lineinfo instead of libdw calls.
86 * Makefile.am (INCLUDES): Add libdwfl directory to path.
87
882005-08-10 Ulrich Drepper <drepper@redhat.com>
89
90 * strip.c (parse_opt): STATE parameter is now used.
91 Various little cleanups.
92
93 * readelf.c (print_debug_line_section): Correct fallout of renaming
94 of DW_LNS_set_epilog_begin.
Ulrich Drepper6d5c3bd2005-08-11 04:37:52 +000095
Roland McGrath8f31c2c2005-08-09 04:58:05 +0000962005-08-08 Roland McGrath <roland@redhat.com>
97
98 * strip.c (options, parse_opt): Grok -R .comment for compatibility
99 with binutils strip. Likewise -d, -S, as aliases for -g.
100 Likewise ignore -s/--strip-all.
101
Roland McGrath095a01b2005-08-08 03:49:35 +00001022005-08-07 Roland McGrath <roland@redhat.com>
103
104 * strip.c (process_file): Open read-only when using a different output
105 file.
106
Ulrich Drepper47be7952005-08-07 04:41:39 +00001072005-08-06 Ulrich Drepper <drepper@redhat.com>
108
Ulrich Drepper637963b2005-08-07 05:33:07 +0000109 * elflint.c (in_nobits_scn): New function.
110 (check_versym): Allow references for defined symbols against versions
111 of other DSOs also for symbols in nobits sections.
112 Move a few variables around.
113
Ulrich Drepper47be7952005-08-07 04:41:39 +0000114 * Makefile.am (AM_CFLAGS): Avoid duplication.
115 Link with statis libs if BUILD_STATIC.
116
Ulrich Drepperdbace232005-08-06 01:37:23 +00001172005-08-05 Ulrich Drepper <drepper@redhat.com>
118
119 * elflint.c: Many, many more tests. Mostly related to symbol
120 versioning. Those sections should now be completely checked.
121
122 * readelf.c (print_dynamic): Use gelf_offscn.
123
Ulrich Drepperacb89832005-08-04 07:01:49 +00001242005-08-04 Ulrich Drepper <drepper@redhat.com>
125
126 * elflint.c: Add lots more tests: more extension symbol table sanity,
127 versioning section tests, hash table tests. General cleanup.
128
Ulrich Drepperc911c9e2005-08-02 16:07:42 +00001292005-08-02 Ulrich Drepper <drepper@redhat.com>
130
Ulrich Drepper8a687742005-08-03 02:24:12 +0000131 * objdump.c: New file.
132 * Makefile.am (bin_PROGRAMS): Add objdump.
133 (objdump_LDADD): Define.
134
Ulrich Drepperc911c9e2005-08-02 16:07:42 +0000135 * elflint.c (check_reloc_shdr): New function split out from check_rela
136 and check_rel.
137 (check_one_reloc): New function. Likewise.
138 (check_rela): Use check_reloc_shdr and check_one_reloc.
139 (check_rel): Likewise.
Ulrich Drepper41de4882005-08-03 00:02:56 +0000140 (check_program_header): Check that PT_DYNAMIC entry matches .dynamic
141 section.
142 Add checks that relocations against read-only segments are flagged,
143 that the text relocation flag is not set unnecessarily, and that
144 relocations in one section are either against loaded or not-loaded
145 segments.
Ulrich Drepperc911c9e2005-08-02 16:07:42 +0000146
Ulrich Drepper8533dcf2005-08-01 07:18:47 +00001472005-08-01 Ulrich Drepper <drepper@redhat.com>
148
149 * elfcmp.c (main): Ignore section count and section name string table
150 section index.
151
Roland McGrathf9ece8a2005-07-28 07:03:04 +00001522005-07-27 Roland McGrath <roland@redhat.com>
153
154 * elfcmp.c: Include <locale.h>.
155
Ulrich Drepper7d48d6a2005-07-27 10:13:23 +00001562005-07-27 Ulrich Drepper <drepper@redhat.com>
157
158 * elfcmp.c: Print name and index of differing section.
159
Ulrich Drepperb08d5a82005-07-26 05:00:05 +00001602005-07-24 Ulrich Drepper <drepper@redhat.com>
161
162 * elfcmp.c: Implement comparing gaps between sections.
163
1642005-07-23 Ulrich Drepper <drepper@redhat.com>
165
166 * elflint.c: Include libeblP.h instead of libebl.h.
167 * nm.c: Likewise.
168 * readelf.c: Likewise.
169 * elfcmp.c: Likewise.
170
171 * elfcmp.c (main): Compare individual ELF header fields, excluding
172 e_shoff instead of the whole struct at once.
173 Use ebl_section_strip_p instead of SECTION_STRIP_P.
174 * strip.c: Use ebl_section_strip_p instead of SECTION_STRIP_P.
175
1762005-07-22 Ulrich Drepper <drepper@redhat.com>
177
178 * elfcmp.c (main): Take empty section into account when comparing
179 section content.
180
181 * elflint.c (check_dynamic): Check that d_tag value is >= 0 before
182 using it.
183
1842005-07-21 Ulrich Drepper <drepper@redhat.com>
185
186 * elfcmp.c: New file.
187 * Makefile.am (bin_PROGRAMS): Add elfcmp.
188 (elfcmp_LDADD): Define.
189
190 * elflint.c (check_rela): Check that copy relocations only reference
191 object symbols or symbols with unknown type.
192 (check_rel): Likewise.
193
1942005-06-08 Roland McGrath <roland@redhat.com>
195
196 * readelf.c (print_ops): Add consts.
197
1982005-05-31 Roland McGrath <roland@redhat.com>
199
200 * readelf.c (print_debug_abbrev_section): Don't bail after first CU's
201 abbreviations. Print a header line before each CU section.
202
203 * readelf.c (print_debug_loc_section): Fix indentation for larger
204 address size.
205
2062005-05-30 Roland McGrath <roland@redhat.com>
207
208 * readelf.c (print_debug_line_section): Print section offset of each
209 CU's table, so they are easy to find from seeing the stmt_list value.
210
211 * readelf.c (dwarf_attr_string): Add all attributes in <dwarf.h>.
212 (attr_callback): Grok DW_AT_ranges and print offset in hex.
213
214 * readelf.c (attr_callback): Add 2 to addrsize * 2 for %#0* format.
215 (print_debug_ranges_section, print_debug_loc_section): Likewise.
216
217 * readelf.c (print_ops): Take different args for indentation control.
218 (attr_callback): Caller updated.
219 Grok several more block-form attributes as being location expressions.
220 For those same attributes with udata forms, format output differently
221 for location list offset.
222 (print_debug_loc_section): Implement it for real.
223
224 * readelf.c (options): Mention ranges for --debug-dump.
225 (enum section_e): Add section_ranges.
226 (parse_opt): Grok "ranges" for -w/--debug-dump.
227 (print_debug_ranges_section): New function.
228 (print_debug): Handle .debug_ranges section.
229
2302005-05-30 Ulrich Drepper <drepper@redhat.com>
231
232 * readelf.c (handle_notes): At least x86-64 need not have the note
233 section values aligned to 8 bytes.
234
2352005-05-18 Ulrich Drepper <drepper@redhat.com>
236
237 * readelf.c (dwarf_tag_string): Add new tags.
238
2392005-05-08 Roland McGrath <roland@redhat.com>
240
241 * strip.c (handle_elf): Don't translate hash and versym data formats,
242 elf_getdata already did it for us.
243
2442005-05-07 Ulrich Drepper <drepper@redhat.com>
245
246 * Makefile.am (findtextrel_LDADD): Add $(libmudflap).
247 (addr2line_LDADD): Likewise.
248
2492005-05-03 Roland McGrath <roland@redhat.com>
250
251 * strip.c (handle_elf): Apply symbol table fixups to discarded
252 relocation sections when they are being saved in the debug file.
253
254 * strip.c (handle_elf): Pass EHDR->e_ident[EI_DATA] to gelf_xlatetom
255 and gelf_xlatetof, not the native byte order.
256
257 * strip.c (parse_opt): Give error if -f or -o is repeated.
258 (main): Exit if argp_parse returns nonzero.
259
260 * strip.c (debug_fname_embed): New variable.
261 (options, parse_opt): New option -F to set it.
262
2632005-05-07 Ulrich Drepper <drepper@redhat.com>
264
265 * readelf.c (parse_opt): Make any_control_option variable
266 local. Simplify some tests.
267
2682005-05-03 Roland McGrath <roland@redhat.com>
269
270 * strip.c (crc32_file): Function removed (now in ../lib).
271
2722005-05-03 Roland McGrath <roland@redhat.com>
273
274 * elflint.c (is_debuginfo): New variable.
275 (options, parse_opt): New option --debuginfo/-d to set it.
276 (check_sections): If is_debuginfo, don't complain about SHT_NOBITS.
277 (check_note): If is_debuginfo, don't try to get note contents.
278
2792005-04-24 Ulrich Drepper <drepper@redhat.com>
280
281 * readelf.c (print_debug_abbrev_section): Don't print error when end of
282 section reached.
283
2842005-04-14 Ulrich Drepper <drepper@redhat.com>
285
286 * readelf.c (dwarf_encoding_string): New function.
287 (dwarf_inline_string): New function.
288 (dwarf_access_string): New function.
289 (dwarf_visibility_string): New function.
290 (dwarf_virtuality_string): New function.
291 (dwarf_identifier_case_string): New function.
292 (dwarf_calling_convention_string): New function.
293 (dwarf_ordering_string): New function.
294 (dwarf_discr_list_string): New function.
295 (attr_callback): Decode man more attribute values.
296
2972005-04-01 Ulrich Drepper <drepper@redhat.com>
298
299 * addr2line.c: Finish implementation of -f option.
300
3012005-03-29 Ulrich Drepper <drepper@redhat.com>
302
303 * addr2line.c: New file.
304 * Makefile.am (bin_PROGRAMS): Add addr2line.
305 Define addr2line_LDADD.
306
307 * findtextrel.c: Use new dwarf_addrdie function.
308
309 * findtextrel.c: Fix usage message and re-add accidentally removed
310 line.
311
3122005-03-28 Ulrich Drepper <drepper@redhat.com>
313
314 * findtextrel.c: New file.
315 * Makefile: Add rules to build findtextrel.
316
3172005-02-15 Ulrich Drepper <drepper@redhat.com>
318
319 * ldlex.l: Provide ECHO definition to avoid warning.
320
321 * elflint.c (check_program_header): Fix typo in RELRO test.
322
323 * Makefile.am (AM_CFLAGS): Add more warning options.
324 * elflint.c: Fix warnings introduced by the new warning options.
325 * i386_ld.c: Likewise.
326 * ld.c: Likewise.
327 * ld.h: Likewise.
328 * ldgeneric.c: Likewise.
329 * nm.c: Likewise.
330 * readelf.c: Likewise.
331 * sectionhash.c: Likewise.
332 * size.c: Likewise.
333 * string.c: Likewise.
334
3352005-02-05 Ulrich Drepper <drepper@redhat.com>
336
337 * Makefile.am: Check for text relocations in constructed DSOs.
338
339 * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap. Link all apps
340 with -lmudflap.
341
342 * ldscript.y: Add as_needed handling.
343 * ldlex.l: Recognize AS_NEEDED token.
344 * ld.h (struct filename_list): Add as_needed flag.
345
3462005-02-04 Ulrich Drepper <drepper@redhat.com>
347
348 * elflint.c (check_symtab): Correctly determine size of GOT section.
349
3502005-01-19 Ulrich Drepper <drepper@redhat.com>
351
352 * ld.c: Remove unnecessary more_help function. Print bug report
353 address using argp.
354 * strip.c: Likewise.
355 * size.c: Likewise.
356 * nm.c: Likewise.
357 * readelf.c: Likewise.
358 * elflint.c: Likewise.
359
360 * elflint.c (main): Don't check for parameter problems here.
361 (parse_opt): Do it here, where we get informed about some of them
362 anyway.
363
364 * readelf.c (main): Don't check for parameter problems here.
365 (parse_opt): Do it here, where we get informed about some of them
366 anyway.
367
3682005-01-11 Ulrich Drepper <drepper@redhat.com>
369
370 * strip.c: Update copyright year.
371 * readelf.c: Likewise.
372 * size.c: Likewise.
373 * nm.c: Likewise.
374 * ld.c: Likewise.
375 * elflint.c: Likewise.
376
377 * elflint.c (check_symtab): Don't warn about wrong size for
378 _DYNAMIC and __GLOBAL_OFFSET_TABLE__ for --gnu-ld.
379
3802004-10-05 Ulrich Drepper <drepper@redhat.com>
381
382 * readelf.c (print_phdr): In section mapping, also indicate
383 sections in read-only segments.
384
3852004-09-25 Ulrich Drepper <drepper@redhat.com>
386
387 * readelf.c: Make compile with gcc 4.0.
388 * strip.c: Likewise.
389
3902004-08-16 Ulrich Drepper <drepper@redhat.com>
391
392 * strip.c (handle_elf): Rewrite dynamic memory handling to use of
393 allocate to work around gcc 3.4 bug.
394
3952004-01-25 Ulrich Drepper <drepper@redhat.com>
396
397 * ldlex.l (invalid_char): Better error message.
398
3992004-01-23 Ulrich Drepper <drepper@redhat.com>
400
401 * readelf.c: Print SHT_GNU_LIBLIST sections.
402
403 * none_ld.c: New file.
404
4052004-01-21 Ulrich Drepper <drepper@redhat.com>
406
407 * Makefile.am: Enable building of machine specific linker.
408
4092004-01-20 Ulrich Drepper <drepper@redhat.com>
410
411 * Makefile.am: Support building with mudflap.
412
413 * i386_ld.c: Fix warnings gcc 3.4 spits out.
414 * ldgeneric.c: Likewise.
415 * ldscript.y: Likewise.
416 * readelf.c: Likewise.
417 * strip.c: Likewise.
418
419 * readelf.c (print_debug_line_section): Determine address size
420 correctly.
421
4222004-01-19 Ulrich Drepper <drepper@redhat.com>
423
424 * readelf.c (print_phdr): Show which sections are covered by the
425 PT_GNU_RELRO entry.
426
427 * elflint.c (check_program_header): Check PT_GNU_RELRO entry.
428
429 * readelf.c (print_debug_macinfo_section): Implement.
430
4312004-01-18 Ulrich Drepper <drepper@redhat.com>
432
433 * readelf.c (print_debug_line_section): Implement.
434
4352004-01-17 Ulrich Drepper <drepper@redhat.com>
436
437 * src/elflint.c: Use PACKAGE_NAME instead of PACKAGE.
438 * src/ld.c: Likewise.
439 * src/nm.c: Likewise.
440 * src/readelf.c: Likewise.
441 * src/size.c: Likewise.
442 * src/strip.c: Likewise.
443
444 * strip.c: Add a few more unlikely. Reduce scope of some variables.
445
446 * Makefile.am: Support building with mudflap.
447
4482004-01-16 Ulrich Drepper <drepper@redhat.com>
449
450 * readelf.c (print_debug_info_section): Free dies memory.
451
452 * readelf.c: Print .debug_info section content.
453
4542004-01-13 Ulrich Drepper <drepper@redhat.com>
455
456 * readelf.c (print_shdr): Add support for SHF_ORDERED and SHF_EXCLUDE.
457
4582004-01-12 Ulrich Drepper <drepper@redhat.com>
459
460 * readelf.c (print_debug_aranges): Implement using libdw.
461
4622004-01-11 Ulrich Drepper <drepper@redhat.com>
463
464 * nm.c: Adjust for Dwarf_Files type and dwarf_lineno interface change.
465
466 * readelf.c: Use libdw instead of libdwarf. Not all of the old
467 behavior is available yet.
468 * Makefile.am: Link readelf with libdw. Remove libdwarf include path.
469
4702004-01-09 Ulrich Drepper <drepper@redhat.com>
471
472 * nm.c (get_local_names): Adjust call to dwarf_nextcu.
473
474 * nm.c: Implement getting information about local variables.
475
4762004-01-07 Ulrich Drepper <drepper@redhat.com>
477
478 * nm.c: Read also debug information for local symbols.
479
4802004-01-05 Ulrich Drepper <drepper@redhat.com>
481
482 * nm.c: Shuffle dwarf handling code around so the maximum column
483 width can be computed ahead of printing. Avoid collection symbols
484 which are not printed anyway.
485
486 * nm.c: Rewrite dwarf handling to use libdw.
487 * Makefile.am (AM_CFLAGS): Add -std parameter.
488 (INCLUDES): Find header in libdw subdir.
489 (nm_LDADD): Replace libdwarf with libdw.
490
491 * elflint.c: Update copyright year.
492 * readelf.c: Likewise.
493 * size.c: Likewise.
494 * strip.c: Likewise.
495 * nm.c: Likewise.
496
4972003-12-31 Ulrich Drepper <drepper@redhat.com>
498
499 * strip.c (process_file): Close file before returning.
500
5012003-11-19 Ulrich Drepper <drepper@redhat.com>
502
503 * readelf.c (handle_dynamic): Make column for tag name wider.
504
5052003-09-29 Ulrich Drepper <drepper@redhat.com>
506
507 * readelf.c (handle_dynamic): Always terminate tag name with a space.
508
5092003-09-25 Ulrich Drepper <drepper@redhat.com>
510
511 * strip.c (process_file): Don't mmap the input file, we modify the
512 data structures and don't want the change end up on disk.
513
5142003-09-23 Jakub Jelinek <jakub@redhat.com>
515
516 * unaligned.h (union u_2ubyte_unaligned,
517 union u_4ubyte_unaligned, union u_8ubyte_unaligned): Add
518 packed attribute.
519 (add_2ubyte_unaligned, add_4ubyte_unaligned,
520 add_8ubyte_unaligned): Avoid nesting bswap_NN macros.
521 Read/store value through _ptr->u instead of *_ptr.
522
5232003-09-22 Ulrich Drepper <drepper@redhat.com>
524
525 * size.c (show_sysv): Change type of maxlen to int.
526
527 * strip.c (handle_elf): Handle the 64-bit archs which is 64-bit
528 buckets.
529
530 * i386_ld.c: Many many fixes and extensions.
531 * ld.c: Likewise.
532 * ldgeneric.c: Likewise.
533
5342003-08-16 Ulrich Drepper <drepper@redhat.com>
535
536 * ldgeneric.c (check_definition): Don't add symbol on dso_list if
537 the reference is from another DSO.
538
5392003-08-15 Ulrich Drepper <drepper@redhat.com>
540
541 * ldgeneric.c (find_entry_point): It is no fatal error if no entry
542 point is found when creating a DSO.
543
5442003-08-14 Ulrich Drepper <drepper@redhat.com>
545
546 * ld.c (main): Always call FLAG_UNRESOLVED.
547 * ldgeneric.c (ld_generic_flag_unresolved): Only complain about
548 undefined symbols if not creating DSO or ld_state.nodefs is not set.
549
5502003-08-13 Ulrich Drepper <drepper@redhat.com>
551
552 * Makefile.in: Depend on libebl.a, not libebl.so.
553
554 * ld.c (main): Mark stream for linker script as locked by caller.
555 (read_version_script): Likewise.
556 * ldlex.c: Define fread and fwrite to _unlocked variant.
557
558 * i386_ld.c (elf_i386_finalize_plt): Replace #ifdefs with uses of
559 target_bswap_32.
560 * unaligned.h: Define target_bswap_16, target_bswap_32, and
561 target_bswap_64.
562 (store_2ubyte_unaligned, store_4ubyte_unaligned,
563 store_8ubyte_unaligned): Define using new macros.
564
5652003-08-12 Ulrich Drepper <drepper@redhat.com>
566
567 * i386_ld.c (elf_i386_finalize_plt): Use packed structs to access
568 possibly unaligned memory. Support use of big endian machines.
569
5702003-08-11 Ulrich Drepper <drepper@redhat.com>
571
572 * Moved to CVS archive.