Home | History | Annotate | Download | only in src
      1 2016-01-13  Mark Wielaard  <mjw (a] redhat.com>
      2 
      3 	* elflint.c (check_elf_header): Recognize ELFOSABI_FREEBSD.
      4 
      5 2016-01-08  Mark Wielaard  <mjw (a] redhat.com>
      6 
      7 	* elfcompress.c (compress_section): Use %zu to print size_t.
      8 	* readelf.c (print_shdr): Use %zx to print size_t.
      9 
     10 2015-12-16  Mark Wielaard  <mjw (a] redhat.com>
     11 
     12 	* elfcompress.c: New file.
     13 	* Makefile.am (bin_PROGRAMS): Add elfcompress.
     14 	(elfcompress_LDADD): New variable.
     15 
     16 2015-12-18  Mark Wielaard  <mjw (a] redhat.com>
     17 
     18 	* elflint.c (section_flags_string): Add NEWFLAG COMPRESSED.
     19 	(check_sections): SHF_COMPRESSED can be on any special section.
     20 	SHF_COMPRESSED is a valid section flag. SHF_COMPRESSED cannot
     21 	be used together with SHF_ALLOC or with SHT_NOBITS. Should have
     22 	a valid Chdr.
     23 
     24 2015-10-20  Mark Wielaard  <mjw (a] redhat.com>
     25 
     26 	* readelf.c (options): Expand -z help text.
     27 	(dump_data_section): Check whether we need and can decompress section
     28 	data and call elf_rawzdata if so,
     29 	(print_string_section): Likewise.
     30 	(elf_contains_chdrs): New function.
     31 	(process_elf_file): Rename print_unrelocated to print_unchanged,
     32 	use elf_contains_chdrs.
     33 	(print_scngrp): Check whether section is compressed before use.
     34 	(print_symtab): Likewise.
     35 	(handle_hash): Likewise.
     36 
     37 2015-10-16  Mark Wielaard  <mjw (a] redhat.com>
     38 
     39 	* readelf.c (argp_option): Describe --decompress,-z.
     40 	(print_decompress): New bool.
     41 	(parse_opt): Handle -z.
     42 	(elf_ch_type_name): New function.
     43 	(print_shdr): Print section compress information.
     44 
     45 2015-12-31  Mark Wielaard  <mjw (a] redhat.com>
     46 
     47 	* elflint.c (check_symtab): Add _edata and _end (plus extra underscore
     48 	variants) to to the list of possibly dangling symbols.
     49 
     50 2015-12-02  Mark Wielaard  <mjw (a] redhat.com>
     51 
     52 	* nm.c (process_file): Accept fd and pass it on.
     53 	(handle_elf): Likewise.
     54 	(find_no_debuginfo): New.
     55 	(struct getdbg): Likewise.
     56 	(getdbg_dwflmod): Likewise.
     57 	(show_symbols): Take fd. If the file is ET_REL use libdwfl to get
     58 	the relocated Dwarf.
     59 
     60 2015-12-02  Mark Wielaard  <mjw (a] redhat.com>
     61 
     62 	* nm.c (get_local_names): Check for duplicates in local_root tree.
     63 
     64 2015-12-02  Mark Wielaard  <mjw (a] redhat.com>
     65 
     66 	* unstrip.c (struct data_list): New.
     67 	(new_data_list): Likewise.
     68 	(record_new_data): Likewise.
     69 	(free_new_data): Likewise.
     70 	(adjust_relocs): Call record_new_data.
     71 	(add_new_section_symbols): Likewise.
     72 	(copy_elided_sections): Call free_new_data.
     73 
     74 2015-12-01  Mark Wielaard  <mjw (a] redhat.com>
     75 
     76 	* elfcmp.c (main): Close ebl1 and ebl2 backends.
     77 
     78 2015-10-16  Mark Wielaard  <mjw (a] redhat.com>
     79 
     80 	* Makefile.am [BUILD_STATIC](libdw): Add -lz.
     81 	[BUILD_STATIC](libelf): Likewise.
     82 
     83 2015-10-16  Mark Wielaard  <mjw (a] redhat.com>
     84 
     85 	* elflint.c (check_symtab): Don't check TLS symbol value against TLS
     86 	phdr offset in debuginfo files.
     87 	(check_sections): Don't try to match section offsets to phdrs offsets
     88 	in debuginfo files.
     89 
     90 2015-10-16  Mark Wielaard  <mjw (a] redhat.com>
     91 
     92 	* elflint.c (check_reloc_shdr): Reject only desthdrs if they have both
     93 	SHF_MERGE and SHF_STRINGS set.
     94 
     95 2015-10-13  Jose E. Marchesi  <jose.marchesi (a] oracle.com>
     96 
     97 	* elflint.c (check_sections): Do not rely on
     98 	ebl_check_special_section when checking debuginfo files.  Also
     99 	check that the type of WE sections in debuginfo files is NOBITS.
    100 
    101 2015-10-13  Mark Wielaard  <mjw (a] redhat.com>
    102 
    103 	* elflint.c (check_program_header): Check relro flags are a subset
    104 	of the load segment if they don't fully overlap.
    105 
    106 2015-10-07  Mark Wielaard  <mjw (a] redhat.com>
    107 
    108 	* Makefile.am (ldlex_no_Wstack_usage): New.
    109 	* ldlex.l ([RWX]): Make cnt unsigned.
    110 
    111 2015-10-09  Josh Stone  <jistone (a] redhat.com>
    112 
    113 	* elflint.c (main): Replace stat64 and fstat64 with stat and fstat.
    114 	* readelf.c (process_file): Likewise.
    115 	(process_elf_file): Replace off64_t with off_t.
    116 	* findtextrel.c (process_file): Replace open64 with open.
    117 	* ld.c (main): Replace sizeof (off64_t) with 8.
    118 	* strings.c: Replace off64_t with off_t throughout.
    119 	(main): Replace stat64 and fstat64 with stat and fstat.
    120 	(map_file): Replace mmap64 with mmap.
    121 	(read_block): Likewise, and replace lseek64 with lseek.
    122 	* strip.c (handle_elf): Replace ftruncate64 with ftruncate.
    123 	(process_file): Replace stat64 and fstat64 with stat and fstat.
    124 	* unstrip.c (parse_opt): Replace stat64 with stat.
    125 	(handle_file): Replace open64 with open.
    126 	(open_file): Likewise.
    127 
    128 2015-10-08  Chih-Hung Hsieh  <chh (a] google.com>
    129 
    130 	* ld.c (determine_output_format): Move recursive nested
    131 	function "try" to file scope.
    132 
    133 2015-10-04  Mark Wielaard  <mjw (a] redhat.com>
    134 
    135 	* strip.c (handle_elf): Only sanity check section symbols to not
    136 	kept discarded sections if we are creating a debug file.
    137 
    138 2015-10-07  Mark Wielaard  <mjw (a] redhat.com>
    139 
    140 	* unstrip.c (MAX): Removed.
    141 	(find_alloc_sections_prelink): Allocate exact amount of bytes for
    142 	shdrs.
    143 
    144 2015-10-05  Chih-Hung Hsieh <chh (a] google.com>
    145 
    146 	* unstrip.c (find_alloc_sections_prelink): Do not allocate
    147 	on stack union types with variable length arrays; use xmalloc
    148 	for such dynamic sized objects.
    149 	* readelf.c (handle_core_item): Likewise, but use alloca
    150 	for small variable size data object and add assert(count < 128).
    151 
    152 2015-10-05  Josh Stone  <jistone (a] redhat.com>
    153 
    154 	* Makefile.am (libld_elf_i386.so): Add AM_V_CCLD silencer.
    155 	(.deps/none_ld.Po): Always silence the dummy command.
    156 	(make-debug-archive): Add AM_V_GEN and AM_V_at silencers.
    157 
    158 2015-10-02  Mark Wielaard  <mjw (a] redhat.com>
    159 
    160 	* unstrip.c (copy_elided_sections): Use SH_INFO_LINK_P, not just
    161 	SHF_INFO_LINK.
    162 
    163 2015-10-02  Mark Wielaard  <mjw (a] redhat.com>
    164 
    165 	* strip.c (handle_elf): Don't move around allocated NOBITS sections.
    166 	Don't just mark the section header string table as unused.
    167 	* unstrip.c (copy_elided_sections): Add header names to strtab if
    168 	shstrndx equals the symtab strtabndx.
    169 
    170 2015-09-22  Mark Wielaard  <mjw (a] redhat.com>
    171 
    172 	* strip.c (cleanup_debug): Remove old-style function definitions.
    173 
    174 2015-09-09  Chih-Hung Hsieh  <chh (a] google.com>
    175 
    176 	* readelf.c (print_debug_exception_table): Initialize variable before
    177 	it is used, because compiler does not know that error never returns.
    178 	(dump_arhive_index): Likewise.
    179 
    180 2015-09-04  Chih-Hung Hsieh  <chh (a] google.com>
    181 
    182 	* elflint.c (check_group): Replace %Z length modifier with %z.
    183 	(check_note_data): Likewise.
    184 	* findtextrel.c (process_file): Likewise.
    185 	* readelf.c (handle_dynamic): Likewise.
    186 	(handle_symtab): Likewise.
    187 	(handle_verneed): Likewise.
    188 	(handle_verdef): Likewise.
    189 	(handle_versym): Likewise.
    190 	(print_hash_info): Likewise.
    191 	(print_decoded_aranges_section): Likewise.
    192 	(print_debug_aranges_section): Likewise.
    193 	(print_debug_line_section): Likewise.
    194 	(hex_dump): Likewise.
    195 	(dump_data_section): Likewise.
    196 	(print_string_section): Likewise.
    197 	(dump_archive_index): Likewise.
    198 	* unstrip.c (adjust_relocs): Likewise.
    199 	(collect_symbols): likewise.
    200 	(get_section_name): Likewise.
    201 	(find_alloc_sections_prelink): Likewise.
    202 	(copy_elided_sections): Likewise.
    203 	* ldscript.y (add_id_list): Add missing '%s'.
    204 
    205 2015-09-03  Mark Wielaard  <mjw (a] redhat.com>
    206 
    207 	* readelf.c (handle_core_item): Handle right shift >= 32 bits.
    208 
    209 2015-08-11  Mark Wielaard  <mjw (a] redhat.com>
    210 
    211 	* elflint.c (check_sections): When gnuld and a NOBITS section falls
    212 	inside a segment make sure any ELF file contents is zero.
    213 
    214 2015-07-29  Mark Wielaard  <mjw (a] redhat.com>
    215 
    216 	* unstrip.c (sections_flags_match): New function.
    217 	(sections_match): Use sections_flags_match.
    218 	(find_alloc_sections_prelink): Only clear matched sections if there
    219 	is an undo section.
    220 	(copy_elided_sections): Add SHF_INFO_LINK to shdr_mem.sh_flags if
    221 	necessary.
    222 
    223 2015-06-27  Pino Toscano  <toscano.pino (a] tiscali.it>
    224 
    225 	* src/strings.c: Define MAP_POPULATE if not defined already.
    226 
    227 2015-06-27  Mark Wielaard  <mjw (a] redhat.com>
    228 
    229 	* nm.c (show_symbols): First call elf_getdata, then allocate memory.
    230 
    231 2015-06-18  Mark Wielaard  <mjw (a] redhat.com>
    232 
    233 	* findtextrel.c (process_file): Free segments after use.
    234 
    235 2015-06-18  Mark Wielaard  <mjw (a] redhat.com>
    236 
    237 	* readelf.c (print_phdr): Make sure phdr2_mem lifetime/scope equals
    238 	phdr2 pointer.
    239 
    240 2015-06-18  Mark Wielaard  <mjw (a] redhat.com>
    241 
    242 	* readelf.c (handle_gnu_hash): Free lengths on invalid_data.
    243 
    244 2015-06-18  Mark Wielaard  <mjw (a] redhat.com>
    245 
    246 	* elflint.c (check_symtab): Only check the PT_TLS phdr if it actually
    247 	exists. Warn otherwise.
    248 
    249 2015-06-18  Mark Wielaard  <mjw (a] redhat.com>
    250 
    251 	* nm.c (show_symbols): Check sizeof (sym_mem[0]), not GElf_Sym to
    252 	known whether or not we stack allocated memory.
    253 
    254 2015-06-18  Mark Wielaard  <mjw (a] redhat.com>
    255 
    256 	* strings.c (readelf): Use "<unknown>" if we cannot retrieve section
    257 	name.
    258 
    259 2015-06-09  Mark Wielaard  <mjw (a] redhat.com>
    260 
    261 	* addr2line.c (print_dwarf_function): Always free scopes before
    262 	returning.
    263 
    264 2015-06-09  Mark Wielaard  <mjw (a] redhat.com>
    265 
    266 	* strip.c (handle_ar): Mark as unused.
    267 	(process_file): Produce an error when trying to handle an ar.
    268 
    269 2015-05-30  Mark Wielaard  <mjw (a] redhat.com>
    270 
    271 	* elfcmp.c (main): Only call memcmp when d_size != 0.
    272 
    273 2015-05-23  Mark Wielaard  <mjw (a] redhat.com>
    274 
    275 	* Makefile.am: Define ldgeneric, readelf, nm, size, strip, elflint,
    276 	findtextrel, elfcmp objdump, ranlib, ar and unstrip no_Wstack_usage.
    277 
    278 2015-05-21  Mark Wielaard  <mjw (a] redhat.com>
    279 
    280 	* addr2line.c (handle_address): Set scopes to NULL after free.
    281 
    282 2015-05-20  Mark Wielaard  <mjw (a] redhat.com>
    283 
    284 	* addr2line.c (OPT_PRETTY): New constant define.
    285 	(argp_option): Add "pretty-print".
    286 	(pretty): New static bool.
    287 	(parse_opt): Set pretty.
    288 	(print_dwarf_function): Adjust output when pretty is set.
    289 	(print_addrsym): Likewise.
    290 	(handle_address): Likewise.
    291 
    292 2015-05-20  Mark Wielaard  <mjw (a] redhat.com>
    293 
    294 	* Makefile.am (addr2line_LDADD): Add demanglelib.
    295 	* addr2line.c (argp_option): Move demangle under output format.
    296 	(demangle): New static bool.
    297 	(demangle_buffer_len): New static size_t.
    298 	(demangle_buffer): New static char *.
    299 	(main): free demangle_buffer.
    300 	(parse_opt): Set demangle.
    301 	(symname): New static function.
    302 	(get_diename): Use symname.
    303 	(print_dwarf_function): Likewise.
    304 	(print_addrsym): Likewise.
    305 	(handle_address): Likewise.
    306 
    307 2015-05-20  Mark Wielaard  <mjw (a] redhat.com>
    308 
    309 	* addr2line.c (argp_option): Add "addresses", 'a'.
    310 	(print_addresses): New static bool.
    311 	(parse_opt): Set print_addresses.
    312 	(get_addr_width): New static function.
    313 	(handle_address): Print address if print_addresses is true.
    314 
    315 2015-05-20  Mark Wielaard  <mjw (a] redhat.com>
    316 
    317 	* addr2line.c (handle_address): Call strtoumax with base 16. Make
    318 	sure all input has been processed.
    319 
    320 2015-05-20  Mark Wielaard  <mjw (a] redhat.com>
    321 
    322 	* addr2line (argp_option): Group 'section' under "Input format
    323 	options".
    324 
    325 2015-05-12  Mark Wielaard  <mjw (a] redhat.com>
    326 
    327 	* strip.c (debug_fd): New static variable.
    328 	(tmp_debug_fname): Likewise.
    329 	(cleanup_debug): New function using the above to clean up temporary
    330 	debug file.
    331 	(INTERNAL_ERROR): Call cleanup_debug.
    332 	(handle_elf): Use debug_fd and tmp_debug_fname statics and call
    333 	cleanup_debug before any error. Use output_fname instead of fname in
    334 	error messages when it exists (-o was given). SHT_NOBITS sections
    335 	can also be moved freely even if SHF_ALLOC is set. Add various
    336 	sanity checks. Use elf_assert instead of plain assert.
    337 
    338 2015-05-08  Mark Wielaard  <mjw (a] redhat.com>
    339 
    340 	* nm.c (show_symbols): Call gelf_fsize with EV_CURRENT.
    341 	* strip.c (handle_elf): Likewise.
    342 
    343 2015-05-06  Mark Wielaard  <mjw (a] redhat.com>
    344 
    345 	* elflint.c (check_gnu_hash): Return early when 2nd hash function
    346 	shift too big. Check there is enough data available. Make sure
    347 	bitmask_words is not zero.
    348 	(check_verdef): Use Elf64_Word for shdr->sh_info cnt.
    349 	(check_verneed): Likewise.
    350 	(check_attributes): Break when vendor name isn't terminated.
    351 	Add overflow check for subsection_len.
    352 
    353 2015-05-05  Mark Wielaard  <mjw (a] redhat.com>
    354 
    355 	* nm.c (show_symbols): Handle dwarf_linesrc returning NULL.
    356 
    357 2015-05-04  Max Filippov  <jcmvbkbc (a] gmail.com>
    358 
    359 	* ar.c (do_oper_extract): Replace struct timeval with struct timespec
    360 	and futimes with futimens.
    361 	* strip.c (process_file): Replace struct timeval with struct timespec.
    362 	(handle_elf, handle_ar): Replace struct timeval with struct timespec
    363 	in prototype. Replace futimes with futimens.
    364 
    365 2015-05-04  Max Filippov  <jcmvbkbc (a] gmail.com>
    366 
    367 	* addr2line.c (main): Drop mtrace() call and #include <mcheck.h>.
    368 	* ar.c: Likewise.
    369 	* ld.c: Likewise.
    370 	* nm.c: Likewise.
    371 	* objdump.c: Likewise.
    372 	* ranlib.c: Likewise.
    373 	* size.c: Likewise.
    374 	* strip.c: Likewise.
    375 	* unstrip.c: Likewise.
    376 
    377 2015-05-04  Anthony G. Basile  <blueness (a] gentoo.org>
    378 
    379 	* Makefile.am (readelf_LDADD, nm_LDADD, size_LDADD, strip_LDADD)
    380 	(ld_LDADD, elflint_LDADD, findtextrel_LDADD, addr2line_LDADD)
    381 	(elfcmp_LDADD, objdump_LDADD, ranlib_LDADD, strings_LDADD)
    382 	(ar_LDADD, unstrip_LDADD, stack_LDADD): Append $(argp_LDADD).
    383 
    384 2015-03-22  Mark Wielaard  <mjw (a] redhat.com>
    385 
    386 	* readelf.c (print_debug_frame_section): Cast start to Dwarf_Off
    387 	before subtracting cie_id. And cast cie_offset to Dwarf_Off before
    388 	comparison.
    389 
    390 2015-03-22  Mark Wielaard  <mjw (a] redhat.com>
    391 
    392 	* readelf.c (print_gdb_index_section): Check all offsets used
    393 	against section d_size.
    394 
    395 2015-03-17  Mark Wielaard  <mjw (a] redhat.com>
    396 
    397 	* readelf.c (print_debug): Don't return, but always use dummy_dbg.
    398 
    399 2015-03-17  Mark Wielaard  <mjw (a] redhat.com>
    400 
    401 	* readelf.c (print_gdb_index_section): Add overflow checking for
    402 	dataend checks.
    403 
    404 2015-03-14  Mark Wielaard  <mjw (a] redhat.com>
    405 
    406 	* nm.c (INTERNAL_ERROR): Remove __DATE__.
    407 	* objdump.c (INTERNAL_ERROR): Likewise.
    408 	* size.c (INTERNAL_ERROR): Likewise.
    409 	* strip.c (INTERNAL_ERROR): Likewise.
    410 
    411 2015-03-18  Petr Machata  <pmachata (a] redhat.com>
    412 
    413 	* readelf.c (dwarf_tag_string, dwarf_attr_string)
    414 	(dwarf_form_string, dwarf_lang_string, dwarf_inline_string)
    415 	(dwarf_encoding_string, dwarf_access_string)
    416 	(dwarf_visibility_string, dwarf_virtuality_string)
    417 	(dwarf_identifier_case_string, dwarf_calling_convention_string)
    418 	(dwarf_ordering_string, dwarf_discr_list_string)
    419 	(dwarf_locexpr_opcode_string): Adjust uses of know-dwarf.h macros
    420 	to match the API changes.
    421 
    422 2015-03-09  Mark Wielaard  <mjw (a] redhat.com>
    423 
    424 	* elflint.c (compare_hash_gnu_hash): Correct gnu_symbias usage.
    425 
    426 2015-01-03  Mark Wielaard  <mjw (a] redhat.com>
    427 
    428 	* elfcmp (main): Check section name is not NULL. Check sh_entsize
    429 	is not zero for symbol tables. Check phdrs are not NULL.
    430 	(search_for_copy_reloc): Check sh_entsize is not zero.
    431 
    432 2014-12-30  Mark Wielaard  <mjw (a] redhat.com>
    433 
    434 	* elflint.c (check_scn_group): Check d_buf and name are not NULL.
    435 	(is_rel_dyn): Check d is not NULL. Check shdr->sh_entsize is not
    436 	zero.
    437 	(check_dynamic): Check strshdr is not NULL. Check d_tag is positive.
    438 	(check_symtab_shndx): Check symshdr and data->d_buf are not NULL.
    439 	Check shdr and symshdr sh_entsize are not zero.
    440 	(check_gnu_hash): Make sure maskidx is smaller than bitmask_words.
    441 	Check symshdr->sh_entsize is not zero. Check data->d_buf is not
    442 	NULL.
    443 	(compare_hash_gnu_hash): Check sections d_buf are not NULL.
    444 	Check section data is large enough. Use gnu_symbias.
    445 	(check_group): Check section val is valid.
    446 	(has_copy_reloc): Check sh_entsize is not zero.
    447 	(check_versym): Likewise.
    448 	(unknown_dependency_p): Likewise.
    449 	(check_verneed): Break on invalid ref or offset. Don't assert.
    450 	Report error when next offset is zero, but more vers expected.
    451 	(check_verdef): Likewise.
    452 	(check_attributes): Make sure d_buf is not NULL.
    453 	(check_note): Likewise.
    454 	(check_note_section): Likewise.
    455 	(check_program_header): Make sure section name is not NULL.
    456 
    457 2014-12-26  Mark Wielaard  <mjw (a] redhat.com>
    458 
    459 	* strings.c (read_elf): Produce error when section data falls outside
    460 	file.
    461 
    462 2014-12-26  Mark Wielaard  <mjw (a] redhat.com>
    463 
    464 	* nm.c (show_symbols): Guard against divide by zero in error check.
    465 	Add section index number in error message.
    466 
    467 2014-12-26  Mark Wielaard  <mjw (a] redhat.com>
    468 
    469 	* nm.c (handle_ar): Skip over /SYM64/ entries.
    470 
    471 2014-12-26  Mark Wielaard  <mjw (a] redhat.com>
    472 
    473 	* nm.c (handle_ar): Break on arsym with invalid offset.
    474 
    475 2014-12-20  Mark Wielaard  <mjw (a] redhat.com>
    476 
    477 	* readelf.c (print_debug_macinfo_section): Mark cus sentinel files
    478 	as -1 non-existent. Check macoff against sentinel cus.
    479 
    480 2014-12-20  Mark Wielaard  <mjw (a] redhat.com>
    481 
    482 	* readelf.c (print_debug_exception_table): Add max_action overflow
    483 	check. Check action_table_end before reading slib128. Check
    484 	max_ar_filter underflow.
    485 
    486 2014-12-18  Ulrich Drepper  <drepper (a] gmail.com>
    487 
    488 	* Makefile.am: Suppress output of textrel_check command.
    489 
    490 2014-12-17  Mark Wielaard  <mjw (a] redhat.com>
    491 
    492 	* readelf.c (print_cfa_program): Add bounds check before each op that
    493 	takes at least one argument.
    494 
    495 2014-12-16  Mark Wielaard  <mjw (a] redhat.com>
    496 
    497 	* readelf.c (print_decoded_line_section): Print dwarf_errmsg if
    498 	dwarf_onesrcline or dwarf_linesrc fails.
    499 
    500 2014-12-16  Mark Wielaard  <mjw (a] redhat.com>
    501 
    502 	* readelf.c (print_debug_line_section): Correct overflow check for
    503 	unit_length.
    504 	(print_debug_aranges_section): Correct overflow check for length.
    505 
    506 2014-12-15  Mark Wielaard  <mjw (a] redhat.com>
    507 
    508 	* readelf.c (notice_listptr): Return false if offset doesn't fit
    509 	in 61-bits.
    510 	(attr_callback): Warn if loclist or rangelist offset doesn't fit.
    511 
    512 2014-12-15  Mark Wielaard  <mjw (a] redhat.com>
    513 
    514 	* readelf.c (print_ops): Don't assert when addr_size or ref_size
    515 	is not 4 or 8, just report invalid data.
    516 
    517 2014-12-15  Mark Wielaard  <mjw (a] redhat.com>
    518 
    519 	* readelf.c (print_gdb_index_section): Add more bounds checks.
    520 
    521 2014-12-15  Mark Wielaard  <mjw (a] redhat.com>
    522 
    523 	* readelf.c (print_debug_line_section): Check there is enough room
    524 	for DW_LNE_set_address argument. Make sure there is enough room
    525 	for the the initial unit_length.
    526 
    527 2014-12-14  Mark Wielaard  <mjw (a] redhat.com>
    528 
    529 	* elflint.c (check_attributes): Call get_uleb128 with end pointer.
    530 	* readelf.c (print_attributes): Likewise.
    531 	(print_ops): Likewise and also for get_sleb128.
    532 	(print_cfa_program): Likewise and add more readp bounds checks.
    533 	(read_encoded): Likewise.
    534 	(print_debug_frame_section): Likewise.
    535 	(print_debug_line_section): Likewise.
    536 	(print_debug_macinfo_section): Likewise.
    537 	(print_debug_macro_section): Likewise.
    538 	(print_debug_exception_table): Likewise.
    539 
    540 2014-12-16  Mark Wielaard  <mjw (a] redhat.com>
    541 
    542 	* elfcmp.c (compare_Elf32_Word): Make sure (unsigned) Elf32_Word
    543 	difference doesn't wrap around before returning as int.
    544 
    545 2014-12-11  Mark Wielaard  <mjw (a] redhat.com>
    546 
    547 	* readelf.c (print_debug_exception_table): Check TType base offset
    548 	and Action table are sane.
    549 
    550 2014-12-11  Mark Wielaard  <mjw (a] redhat.com>
    551 
    552 	* readelf.c (print_debug_frame_section): Check number of augmentation
    553 	chars to print.
    554 
    555 2014-12-09  Mark Wielaard  <mjw (a] redhat.com>
    556 
    557 	* readelf.c (handle_file_note): Check count fits data section and
    558 	doesn't overflow fptr.
    559 
    560 2014-12-08  Mark Wielaard  <mjw (a] redhat.com>
    561 
    562 	* readelf.c (print_debug_exception_table): Report invalid data if
    563 	action table doesn't immediately follow call site table.
    564 
    565 2014-12-10  Josh Stone  <jistone (a] redhat.com>
    566 
    567 	* addr2line.c (get_diename): New, get linkage_name or name.
    568 	* addr2line.c (print_dwarf_function): Use get_diename.
    569 	* addr2line.c (handle_address): Likewise.
    570 	* addr2line.c (print_diesym): Removed.
    571 
    572 2014-12-10  Josh Stone  <jistone (a] redhat.com>
    573 
    574 	* addr2line.c (handle_address): Find the proper inline parents.
    575 
    576 2014-12-07  Mark Wielaard  <mjw (a] redhat.com>
    577 
    578 	* readelf.c (print_debug_line_section): max_ops_per_instr cannot
    579 	be zero.
    580 
    581 2014-12-07  Mark Wielaard  <mjw (a] redhat.com>
    582 
    583 	* readelf.c (print_ops): Handle zero ref_size for DW_OP_call_ref
    584 	and DW_OP_GNU_implicit_pointer.
    585 
    586 2014-12-04  Mark Wielaard  <mjw (a] redhat.com>
    587 
    588 	* objdump.c (show_relocs_x): Make sure destshdr exists.
    589 	(show_relocs_rel): Don't rely on shdr->sh_entsize, use gelf_fsize.
    590 	(show_relocs_rela): Likewise.
    591 	(show_relocs): Make sure destshdr, symshdr and symdata exists.
    592 
    593 2014-11-30  Mark Wielaard  <mjw (a] redhat.com>
    594 
    595 	* readelf.c (handle_sysv_hash64): Fix overflow check.
    596 
    597 2014-11-28  Mark Wielaard  <mjw (a] redhat.com>
    598 
    599 	* readelf.c (handle_relocs_rel): Don't reuse destshdr to store
    600 	section header of a relocation against a STT_SECTION symbol. Use
    601 	a new local variable secshdr.
    602 	(handle_relocs_rela): Likewise.
    603 
    604 2014-11-26  Mark Wielaard  <mjw (a] redhat.com>
    605 
    606 	* readelf.c (print_debug_aranges_section): Cast Dwarf_Word length
    607 	to ptrdiff_t for comparison.
    608 
    609 2014-11-24  Mark Wielaard  <mjw (a] redhat.com>
    610 
    611 	* readelf.c (print_debug_line_section): Check line_range is not zero
    612 	before usage.
    613 
    614 2014-11-23  Mark Wielaard  <mjw (a] redhat.com>
    615 
    616 	* readelf.c (print_debug_aranges_section): Check length to catch
    617 	nexthdr overflow.
    618 
    619 2014-11-21  Mark Wielaard  <mjw (a] redhat.com>
    620 
    621 	* readelf.c (print_attributes): Guard against empty section.
    622 	Document attribute format. Break when vendor name isn't terminated.
    623 	Add overflow check for subsection_len. Handle both gnu and non-gnu
    624 	attribute tags.
    625 
    626 2014-11-22  Mark Wielaard  <mjw (a] redhat.com>
    627 
    628 	* elflint.c (check_sections): Call ebl_bss_plt_p without ehdr.
    629 	* findtextrel.c (process_file): Use elf_getphdrnum.
    630 	* readelf.c (process_elf_file): Remove redundant ehdr->e_phoff check.
    631 	(print_phdr): Check phnum.
    632 	* size.c (show_segments): Use elf_getphdrnum.
    633 	* strip.c (handle_elf): Likewise.
    634 	* unstrip.c (copy_elf): Likewise.
    635 	(copy_elided_sections): Likewise.
    636 	(handle_file): Likewise.
    637 
    638 2014-11-18  Mark Wielaard  <mjw (a] redhat.com>
    639 
    640 	* readelf.c (print_cfa_program): Fix sanity check of DW_FORM_block
    641 	length.
    642 
    643 2014-11-17  Mark Wielaard  <mjw (a] redhat.com>
    644 
    645 	* readelf.c (handle_verneed): Check vna_next and vn_next exist.
    646 	(handle_verdef): Check vda_next and vd_next exist.
    647 	(handle_versym): Check vd_next, vna_next and vn_next exist.
    648 	Check vername and filename are not NULL before use.
    649 
    650 2014-11-17  Mark Wielaard  <mjw (a] redhat.com>
    651 
    652 	* elfcmp.c (main): Check section names are NULL before use.
    653 	* objdump.c (section_match): Likewise.
    654 	* size.c (show_sysv): Likewise.
    655 
    656 2014-11-17  Mark Wielaard  <mjw (a] redhat.com>
    657 
    658 	* readelf.c (print_debug_frame_section): Warn if ptr_size is not 4
    659 	or 8 instead of just calling print_cfa_program.
    660 
    661 2014-11-16  Mark Wielaard  <mjw (a] redhat.com>
    662 
    663 	* readelf (process_elf_file): Set phnum to zero if there aren't
    664 	actually any pheaders.
    665 	(print_phdr): Check there actually is a phdr.
    666 
    667 2014-11-16  Mark Wielaard  <mjw (a] redhat.com>
    668 
    669 	* readelf.c (print_cfa_program): Check block len before calling
    670 	print_ops.
    671 
    672 2014-11-14  Mark Wielaard  <mjw (a] redhat.com>
    673 
    674 	* readelf.c (print_debug_frame_section): Sanity Check CIE
    675 	unit_length and augmentationlen.
    676 
    677 2014-11-14  Mark Wielaard  <mjw (a] redhat.com>
    678 
    679 	* readelf.c (handle_versym): Check def == NULL before use.
    680 
    681 2014-11-08  Mark Wielaard  <mjw (a] redhat.com>
    682 
    683 	* readelf.c (handle_versym): Initialize vername and filename array
    684 	elements.
    685 
    686 2014-11-07  Mark Wielaard  <mjw (a] redhat.com>
    687 
    688 	* readelf.c (handle_sysv_hash): Sanity check section contents.
    689 	(handle_sysv_hash64): Likewise.
    690 	(handle_gnu_hash): Likewise.
    691 
    692 2014-09-14  Petr Machata  <pmachata (a] redhat.com>
    693 
    694 	* readelf.c (handle_relocs_rela): Typo fix, test DESTSHDR properly.
    695 
    696 2014-09-12  Petr Machata  <pmachata (a] redhat.com>
    697 
    698 	* readelf.c (encoded_ptr_size): In the switch statement, change
    699 	magic constants 3 and 4 to DW_EH_PE_* counterparts.  Still accept
    700 	0.  Print diagnostic for anything else.
    701 
    702 2014-08-25  Josh Stone  <jistone (a] redhat.com>
    703 
    704 	* Makefile.am: Prevent premature @AR@ replacement in a sed expression.
    705 
    706 2014-07-04  Menanteau Guy  <menantea (a] linux.vnet.ibm.com>
    707 	    Mark Wielaard  <mjw (a] redhat.com>
    708 
    709 	* elflint (check_symtab): Add ".TOC." to the list of possibly
    710 	dangling symbols because of sourceware PR13621.
    711 
    712 2014-06-14  Mark Wielaard  <mjw (a] redhat.com>
    713 
    714 	* elflint (check_symtab): Use ebl_func_addr_mask on st_value.
    715 
    716 2014-05-27  Mark Wielaard  <mjw (a] redhat.com>
    717 
    718 	* readelf.c (print_debug): Skip section if name is NULL.
    719 
    720 2014-05-26  Mark Wielaard  <mjw (a] redhat.com>
    721 
    722 	* readelf.c (handle_relocs_rela): Print header like handle_relocs_rel
    723 	does, when sh_info == 0.
    724 
    725 2014-05-26  Mark Wielaard  <mjw (a] redhat.com>
    726 
    727 	* unstrip.c (find_alloc_sections_prelink): Allow non-split .bss
    728 	section when sh_size of the original and undo .bss section are equal.
    729 
    730 2014-05-26  Mark Wielaard  <mjw (a] redhat.com>
    731 
    732 	* unstrip.c (options): Add --force, -F.
    733 	(struct arg_info): Add bool force.
    734 	(parse_opt): Handle 'F', set force.
    735 	(handle_explicit_files): Add force argument, add warn function,
    736 	separate check ehdr field checks, use warn.
    737 	(handle_dwfl_module): Add force argument, pass on to
    738 	handle_explicit_files.
    739 	(handle_output_dir_module): Add force argument, pass on to
    740 	handle_dwfl_module.
    741 	(handle_implicit_modules): Pass info->force to handle_dwfl_module and
    742 	handle_output_dir_module.
    743 	(main): Pass info.force to handle_explicit_files.
    744 
    745 2014-05-19  Mark Wielaard  <mjw (a] redhat.com>
    746 
    747 	* elflint.c (check_reloc_shdr): Check ebl_check_reloc_target_type.
    748 
    749 2014-05-01  Mark Wielaard  <mjw (a] redhat.com>
    750 
    751 	* readelf.c (find_no_debuginfo): Call dwfl_standard_find_debuginfo
    752 	if looking for alternate debug file.
    753 
    754 2014-04-11  Mark Wielaard  <mjw (a] redhat.com>
    755 
    756 	* Makefile.am (AM_CPPFLAGS): Add -I libdwelf.
    757 
    758 2014-04-22  Mark Wielaard  <mjw (a] redhat.com>
    759 
    760 	* readelf.c (handle_core_item): Make sure variable length array
    761 	contains at least enough space for terminating zero char.
    762 
    763 2014-04-22  Mark Wielaard  <mjw (a] redhat.com>
    764 
    765 	* readelf.c (print_gdb_index_section): Use unsigned int for 31 bits
    766 	left shift.
    767 
    768 2014-03-13  Mark Wielaard  <mjw (a] redhat.com>
    769 
    770 	* Makefile.am: Remove no_mudflap.os. Remove libmudflap from all
    771 	LDADD lines.
    772 	* strings.c (process_chunk): Remove _MUDFLAP condition.
    773 
    774 2014-04-09  Mark Wielaard  <mjw (a] redhat.com>
    775 
    776 	* readelf.c (print_debug_aranges_section): Don't get the raw section
    777 	data, use the possibly decompressed .[z]debug sectiondata.
    778 	(print_debug_ranges_section): Likewise.
    779 	(print_debug_frame_section): Likewise.
    780 	(print_debug_line_section): Likewise.
    781 	(print_debug_loc_section): Likewise.
    782 	(print_debug_macinfo_section): Likewise.
    783 	(print_debug_macro_section): Likewise.
    784 
    785 2014-04-10  Mark Wielaard  <mjw (a] redhat.com>
    786 
    787 	* readelf.c (buf_read_ulong): Pass actual long size to convert.
    788 
    789 2014-03-05  Mark Wielaard  <mjw (a] redhat.com>
    790 
    791 	* readelf.c (attr_callback): Print DW_FORM_sdata values as signed
    792 	numbers.
    793 
    794 2014-02-24  Mark Wielaard  <mjw (a] redhat.com>
    795 
    796 	* readelf (print_phdr): Check there is a SHT_PROGBITS section at the
    797 	offset given by p_offsets for a PT_INTERP segment before trying to
    798 	display the interpreter string.
    799 
    800 2014-02-07  Mark Wielaard  <mjw (a] redhat.com>
    801 
    802 	* readelf.c (print_phdr): Check phdr->p_filesz and make sure
    803 	interpreter string is zero terminated before calling printf.
    804 
    805 2014-01-22  Mark Wielaard  <mjw (a] redhat.com>
    806 
    807 	* Makefile.am (nm_no_Wformat): Removed.
    808 	(size_no_Wformat): Likewise.
    809 	(strings_no_Wformat): Likewise.
    810 	(addr2line_no_Wformat): Likewise.
    811 	* size.c (show_sysv): Use fmtstr directly as literal in printf.
    812 	(show_sysv_one_line): Likewise.
    813 	* strings.c (locfmt): Removed.
    814 	(radix): New static enum.
    815 	(parse_opt): Set radix, not locfmt.
    816 	(process_chunk_mb): Use fmtstr directly as literal in printf based
    817 	on radix.
    818 	(process_chunk): Likewise.
    819 	* nm.c (show_symbols_sysv): Use fmtstr directly as literal in printf.
    820 	(show_symbols_bsd): Likewise.
    821 	(show_symbols_posix): Likewise.
    822 
    823 2014-01-21  Mark Wielaard  <mjw (a] redhat.com>
    824 
    825 	* stack.c (show_inlines): New static boolean.
    826 	(print_frame): New function split out from...
    827 	(print_frames): ..here. If show_inlines is true and we found a
    828 	DIE for the frame address, call print_inline_frames otherwise
    829 	call print_frame. Keep track of and track frame_nr.
    830 	(print_inline_frames): New function.
    831 	(parse_opt): Handle '-i'.
    832 	(main): Add 'i' to options.
    833 
    834 2014-01-27  Mark Wielaard  <mjw (a] redhat.com>
    835 
    836 	* stack.c (maxframes): Initialize to 256.
    837 	(main): Document new default in options. Document magic number
    838 	used in frames.allocated initialization.
    839 
    840 2014-01-20  Mark Wielaard  <mjw (a] redhat.com>
    841 
    842 	* stack.c (show_debugname): New static boolean.
    843 	(die_name): New function.
    844 	(print_frames): If show_debugname is true set symname to the
    845 	first function-like DIE with a name in scope for the address in
    846 	the debuginfo.
    847 	(parse_opt): Handle '-d'.
    848 	(main): Add 'd' to options.
    849 
    850 2014-01-20  Mark Wielaard  <mjw (a] redhat.com>
    851 
    852 	* addr2line.c (handle_address): Initialize scopes to NULL.
    853 
    854 2014-01-17  Roland McGrath  <roland (a] redhat.com>
    855 
    856 	* strip.c (handle_elf): Check for bogus values in sh_link, sh_info,
    857 	st_shndx, e_shstrndx, and SHT_GROUP or SHT_SYMTAB_SHNDX data.
    858 	Don't use assert on input values, instead bail with "illformed" error.
    859 
    860 2014-01-17  Roland McGrath  <roland (a] redhat.com>
    861 
    862 	* readelf.c (handle_dynamic, handle_symtab): Check for bogus sh_link.
    863 	(handle_verneed, handle_verdef, handle_versym, handle_hash): Likewise.
    864 	(handle_scngrp): Check for bogus sh_info.
    865 
    866 2014-01-17  Jakub Jelinek  <jakub (a] redhat.com>
    867 
    868 	* elflint.c (section_name): Return "<invalid>" instead of
    869 	crashing on invalid section name.
    870 	(check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic,
    871 	check_symtab_shndx, check_hash, check_versym): Robustify.
    872 	(check_hash): Don't check entries beyond end of section.
    873 	(check_note): Don't crash if gelf_rawchunk fails.
    874 
    875 2014-01-17  Petr Machata  <pmachata (a] redhat.com>
    876 
    877 	* readelf.c (handle_dynamic, handle_relocs_rel)
    878 	(handle_relocs_rela, handle_versym, print_liblist):
    879 	Use gelf_fsize instead of relying on shdr->sh_entsize.
    880 
    881 2014-01-14  Mark Wielaard  <mjw (a] redhat.com>
    882 
    883 	* readelf.c (print_debug_macro_section): Clear vendor array before
    884 	use.
    885 
    886 2014-01-15  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    887 
    888 	Fix corruption of non-C++ symbols by the demangler.
    889 	* nm.c (show_symbols_sysv, show_symbols_bsd, show_symbols_posix)
    890 	(show_symbols): Check for _Z.
    891 	* stack.c (print_frames) <USE_DEMANGLE>: Check for _Z.
    892 
    893 2014-01-02  Mark Wielaard  <mjw (a] redhat.com>
    894 
    895 	* stack.c (show_raw): Declare unconditionally.
    896 	(parse_opt): Handle '-r' unconditionally.
    897 	(main): Show "raw" option even without USE_DEMANGLE.
    898 
    899 2014-01-02  Mark Wielaard  <mjw (a] redhat.com>
    900 
    901 	* stack.c (print_frames): Print 0x before build-id hex-offset.
    902 
    903 2014-01-02  Mark Wielaard  <mjw (a] redhat.com>
    904 
    905 	* stack.c (maxframes): Increase to 2048.
    906 	(struct frames): Add allocated field.
    907 	(frame_callback): If frames used is frames allocated, realloc.
    908 	(print_frames): Show an error if maxframes has been reached.
    909 	(parse_opt): Allow -n 0 for unlimited frames.
    910 	(main): Document -n 0 and new default 2048 frames. Allocate initial
    911 	number of frames with malloc.
    912 
    913 2013-12-30  Mark Wielaard  <mjw (a] redhat.com>
    914 
    915 	* stack.c (parse_opt): Explicitly call dwfl_linux_proc_attach
    916 	or dwfl_core_file_attach and check for errors.
    917 
    918 2013-12-28  Mark Wielaard  <mjw (a] redhat.com>
    919 
    920 	* stack.c (print_frames): Remove address width code and use...
    921 	(get_addr_width): ...this new function.
    922 	(show_modules): New static boolean.
    923 	(module_callback): New static function.
    924 	(parse_opt): Handle '-l'.
    925 	(main): Add 'l' to options. If show_modules then use dwfl_getmodules
    926 	with module_callback to show all detected modules and possible
    927 	build_id, elf and dwarf files.
    928 
    929 2013-12-27  Mark Wielaard  <mjw (a] redhat.com>
    930 
    931 	* stack.c (frames_shown): New static boolean.
    932 	(EXIT_OK,EXIT_ERROR,EXIT_BAD,EXIT_USAGES): New defines.
    933 	(frame_callback): Return -1 on error. Don't print error.
    934 	(print_frames): Add arguments, tid, dwflerr and what. Print tid.
    935 	If there was an error report it with address and module if possible.
    936 	Record whether any frames were actually printed.
    937 	(thread_callback): Collect tid and err, pass it to print_frames.
    938 	(parse_opt): Use EXIT_BAD for errors. On ARGP_KEY_END print errno
    939 	if dwfl_linux_proc_report returned it. Check whether we are properly
    940 	attached with dwfl_pid.
    941 	(main): Document exit status. Don't report DWARF_CB_ABORT from
    942 	callbacks as error. Pass real errors to print_frames. Return
    943 	EXIT_BAD if no frames could be shown. Return EXIT_ERROR if there
    944 	were any non-fatal errors.
    945 
    946 2013-12-23  Mark Wielaard  <mjw (a] redhat.com>
    947 
    948 	* Makefile.am (stack_LDADD): Add demanglelib.
    949 	* stack.c (show_quiet): New static boolean, default false.
    950 	(show_raw): Likewise.
    951 	(demangle_buffer_len): New static size_t.
    952 	(demangle_buffer): New static char *.
    953 	(print_frames): Don't resolve pc name if show_quiet. Demangle name
    954 	unless show_raw.
    955 	(parse_opt): Handle '-q' and '-r'.
    956 	(main): Add 'q' and 'r' to options. Free demangle_buffer.
    957 
    958 2013-12-23  Mark Wielaard  <mjw (a] redhat.com>
    959 
    960 	* stack.c (OPT_DEBUGINFO): New define.
    961 	(OPT_COREFILE): Likewise.
    962 	(pid): New static.
    963 	(core_fd): Likewise.
    964 	(core): Likewise.
    965 	(exec): Likewise.
    966 	(debuginfo_path): Likewise.
    967 	(parse_opt): Handle '-p', '--core', '-e' and '--debuginfo-path'.
    968 	Do argument sanity checking. Setup Dwfl.
    969 	(main): Add 'p', 'core', 'e' and 'debuginfo-path' to options.
    970 	Remove argp_child children, simplify argp doc, remove custom
    971 	usage message and construction of dwfl with dwfl_standard_argp.
    972 	Use pid directly as tid. close core and core_fd if opened. Print
    973 	pid of process or core.
    974 
    975 2013-12-23  Mark Wielaard  <mjw (a] redhat.com>
    976 
    977 	* stack.c (show_build_id): New static boolean.
    978 	(print_frames): Print module build-id, load address and pc offset
    979 	if show_build_id is true.
    980 	(parse_opt): Handle '-b'.
    981 	(main): Add -b to options.
    982 
    983 2013-12-22  Mark Wielaard  <mjw (a] redhat.com>
    984 
    985 	* stack.c (maxframes): New static unsigned. Initialize to 64.
    986 	(struct frame): New struct.
    987 	(struct frames): Likewise.
    988 	(dwfl): New static Dwfl pointer.
    989 	(frame_callback): Use arg as struct frames and fill it next frame.
    990 	Return DWARF_CB_ABORT when maxframes has been reached. Move
    991 	printing of frame to...
    992 	(print_frames): ...here. New function.
    993 	(thread_callback): Use arg as struct frames and set frames to zero.
    994 	Call print_frames.
    995 	(parse_opt): Handle '-n'.
    996 	(main): Add -n to options. Allocate frames using maxframes. Pass
    997 	frames to frame_callback and thread_callback.
    998 
    999 2013-12-20  Mark Wielaard  <mjw (a] redhat.com>
   1000 
   1001 	* stack.c (show_one_tid): New static boolean.
   1002 	(parse_opt): Handle '-1'.
   1003 	(main): Add -1 to options. Call dwfl_getthread_frames when
   1004 	show_one_tid is true.
   1005 
   1006 2013-12-18  Mark Wielaard  <mjw (a] redhat.com>
   1007 
   1008 	* addr2line.c (options): Add symbol-sections, 'x'.
   1009 	(show_symbol_sections): New static bool.
   1010 	(parse_opt): Handle 'x'.
   1011 	(print_addrsym): Use dwfl_module_addrinfo value.r
   1012 	Also show section of address with show_symbol_sections.
   1013 	(find_symbol): Use dwfl_module_getsym_info and set value.
   1014 	(handle_address): Request value and use it instead of sym.st_value.
   1015 	* readelf.c (format_dwarf_addr): Use dwfl_module_addrinfo to get
   1016 	name and offset.
   1017 
   1018 2013-12-17  Masatake YAMATO  <yamato (a] redhat.com>
   1019 	    Mark Wielaard  <mjw (a] redhat.com>
   1020 
   1021 	* stack.c (show_activation, show_module, show_source): New variables.
   1022 	(parse_opt): Set show_activation if -a option is given.
   1023 	Set show_module if -m option is given. Set show_source if -s option
   1024 	is given. Set all show booleans when -v option is given.
   1025 	(main): Added `-a', `-m', `-s', and `-v' to the help message.
   1026 	(frame_callback): Print module and source file information.
   1027 
   1028 2013-11-25  Petr Machata  <pmachata (a] redhat.com>
   1029 
   1030 	* elflint.c (valid_e_machine): Add EM_AARCH64.
   1031 
   1032 2013-11-14  Petr Machata  <pmachata (a] redhat.com>
   1033 
   1034 	* readelf.c (handle_core_item) <'h'>: New branch for handling
   1035 	fields that shouldn't be displayed.
   1036 
   1037 2013-11-10  Mark Wielaard  <mjw (a] redhat.com>
   1038 
   1039 	* stack.c: Use ARGP_PROGRAM_VERSION_HOOK_DEF and
   1040 	ARGP_PROGRAM_BUG_ADDRESS_DEF.
   1041 	(print_version): New function.
   1042 
   1043 2013-11-09  Mark Wielaard  <mjw (a] redhat.com>
   1044 
   1045 	* arlib.c (arlib_init): Call snprintf before using the result
   1046 	with memcpy.
   1047 	(arlib_finalize): Likewise.
   1048 	* nm.c (show_symbols_sysv): Don't modify cnt inside assert.
   1049 
   1050 2013-11-07  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   1051 
   1052 	* Makefile.am (bin_PROGRAMS): Add stack.
   1053 	(stack_LDADD): New.
   1054 	* stack.c: New file.
   1055 
   1056 2013-11-05  Mark Wielaard  <mjw (a] redhat.com>
   1057 
   1058 	* readelf.c (print_debug_ranges_section): Cast address to size_t
   1059 	before comparison.
   1060 	(print_debug_loc_section): Likewise.
   1061 
   1062 2013-10-18  Mark Wielaard  <mjw (a] redhat.com>
   1063 
   1064 	* ar.c (main): Correct operation check when instance_specifed is set.
   1065 
   1066 2013-09-26  Petr Machata  <pmachata (a] redhat.com>
   1067 
   1068 	* readelf.c (handle_file_note): New function.
   1069 	(handle_notes_data): Call it to handle NT_FILE notes.
   1070 
   1071 2013-09-26  Petr Machata  <pmachata (a] redhat.com>
   1072 
   1073 	* readelf.c (handle_siginfo_note): New function.
   1074 	(handle_notes_data): Call it to handle NT_SIGINFO notes.
   1075 	(buf_read_int, buf_read_ulong, buf_has_data): New functions.
   1076 
   1077 2013-08-13  Mark Wielaard  <mjw (a] redhat.com>
   1078 
   1079 	* addr2line.c (options): Add "inlines", 'i'.
   1080 	(show_inlines): New bool.
   1081 	(parse_opt): Handle 'i'.
   1082 	(print_diesym): New static function.
   1083 	(print_src): New function taking code from...
   1084 	(handle_address): here. Call print_src. Print inlines.
   1085 
   1086 2013-08-12  Mark Wielaard  <mjw (a] redhat.com>
   1087 
   1088 	* addr2line.c (main): If there is a newline char at end of buf,
   1089 	then remove it.
   1090 
   1091 2013-07-05  Mark Wielaard  <mjw (a] redhat.com>
   1092 
   1093 	* readelf.c (print_ops): Take CU as argument, use it to print
   1094 	parameter_ref DIE offset.
   1095 	(struct listptr): Replace base field with cu.
   1096 	(listptr_base): New function.
   1097 	(compare_listptr): Use listptr_base.
   1098 	(notice_listptr): Take CU as argument.
   1099 	(skip_listptr_hole): Likewise.
   1100 	(print_debug_ranges_section): Pass NULL as CU to skip_listptr_hole.
   1101 	(print_cfa_program): Pass NULL as CU to print_ops.
   1102 	(struct attrcb_args): Replace cu_base field with cu.
   1103 	(attr_callback): Pass cu not cu_base to notice_listptr.
   1104 	(print_debug_units): Don't calculate base, just set cu.
   1105 	(print_debug_loc_section): Pass cu to skip_listptr_hole and
   1106 	print_ops.
   1107 
   1108 2013-05-06  Mark Wielaard  <mjw (a] redhat.com>
   1109 
   1110 	* readelf.c (print_ops): Format first DW_OP_GNU_implicit_pointer
   1111 	argument as DIE offset.
   1112 
   1113 2013-04-24  Mark Wielaard  <mjw (a] redhat.com>
   1114 
   1115 	* Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
   1116 
   1117 2013-03-25  Mark Wielaard  <mjw (a] redhat.com>
   1118 
   1119 	* readelf.c (argp_options): Add decodedline.
   1120 	(decodedline): New boolean initialized to false.
   1121 	(parse_opt): Set decodedline when arg is decodedline.
   1122 	(print_decoded_line_section): New function.
   1123 	(print_debug_line_section): Call print_decoded_line_section when
   1124 	decodedline is true.
   1125 
   1126 2013-03-25  Mark Wielaard  <mjw (a] redhat.com>
   1127 
   1128 	* readelf.c (argp_option): Add decodedaranges.
   1129 	(decodedaranges): New boolean initialized to false.
   1130 	(parse_opt): Set decodedaranges when arg is decodedaranges.
   1131 	(print_debug_aranges_section): Reimplemented and original
   1132 	implementation renamed to...
   1133 	(print_decoded_aranges_section): this.
   1134 
   1135 2013-03-25  Mark Wielaard  <mjw (a] redhat.com>
   1136 
   1137 	* readelf.c (attrcb_args): Add Dwarf_Die.
   1138 	(attr_callback): When highpc is in constant form also print as
   1139 	address.
   1140 	(print_debug_units): Set args.die.
   1141 
   1142 2013-03-19  Mark Wielaard  <mjw (a] redhat.com>
   1143 
   1144 	* readelf.c (print_gdb_index_section): Free format_dwarf_addr results.
   1145 
   1146 2013-03-18  Mark Wielaard  <mjw (a] redhat.com>
   1147 
   1148 	* readelf.c (print_gdb_index_section): Accept version 8.
   1149 
   1150 2013-03-01  Mark Wielaard  <mjw (a] redhat.com>
   1151 
   1152 	* findtextrel.c (process_file): Release ELF and close file when not
   1153 	text relocations are found.
   1154 	* strip.c (handle_elf): Track memory used for .debuglink section data
   1155 	and free when done.
   1156 
   1157 2013-02-24  Mark Wielaard  <mjw (a] redhat.com>
   1158 
   1159 	* elflint.c (check_symtab): Add __bss_start__ to the list of symbols
   1160 	allowed to have out of section values because of GNU ld bugs.
   1161 
   1162 2013-02-06  Mark Wielaard  <mjw (a] redhat.com>
   1163 
   1164 	* elflint.c (check_symtab): Add __bss_start and __TMC_END__ to the
   1165 	list of symbols allowed to have out of section values because of
   1166 	GNU ld bugs in either .symtab or .dynsym, but only when they are
   1167 	zero sized.
   1168 
   1169 2013-01-24  Mark Wielaard  <mjw (a] redhat.com>
   1170 
   1171 	* readelf.c (argp_option): Add unresolved-address-offsets, U.
   1172 	(print_unresolved_addresses): New static.
   1173 	(parse_opt): Handle 'U', set print_unprocessed_values.
   1174 	(format_dwarf_addr): Take and handle new raw argument.
   1175 	(print_ops): Call format_dwarf_addr with raw offset values.
   1176 	(print_debug_ranges_section): Likewise.
   1177 	(print_debug_frame_section): Likewise.
   1178 	(attr_callback): Likewise.
   1179 	(print_debug_line_section): Likewise.
   1180 	(print_debug_loc_section): Likewise.
   1181 	(print_gdb_index_section): Likewise.
   1182 
   1183 2013-01-18  Mark Wielaard  <mjw (a] redhat.com>
   1184 
   1185 	* readelf.c (struct listptr): Add base Dwarf_Addr field.
   1186 	(compare_listptr): Warn for same offset with different base.
   1187 	(notice_listptr): Take base argument and set it.
   1188 	(skip_listptr_hole): Likewise.
   1189 	(struct attrcb_args): Removed unused cu_offset field.
   1190 	Add cu_base Dwarf_Addr field.
   1191 	(attr_callback): Call notice_listptr with cbargs->cu_base.
   1192 	(print_debug_units): Set args.cu_base.
   1193 	(print_debug_ranges_section): Get base and use for format_dwarf_addr.
   1194 	(print_debug_loc_section): Likewise.
   1195 
   1196 2013-01-29  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   1197 
   1198 	* readelf.c (handle_core_items): Limit special repeated items handling
   1199 	to single-item formats '\n', 'b' and 'B', assert OFFSET 0 there.
   1200 
   1201 2012-12-18  Mark Wielaard  <mark (a] bordewijk.wildebeest.org>
   1202 
   1203 	* readelf.c (ELF_INPUT_SECTION): New argp key value.
   1204 	(argp_option): Add elf-section.
   1205 	(elf_input_section): New static.
   1206 	(parse_opt): Handle ELF_INPUT_SECTION and set elf_input_section.
   1207 	(open_input_section): New function.
   1208 	(process_file): Call open_input_section if elf_input_section set.
   1209 
   1210 2013-01-13  David Abdurachmanov  <David.Abdurachmanov (a] cern.ch>
   1211 
   1212 	ar.c (do_oper_delete): Fix num passed to memset.
   1213 
   1214 2012-12-21  Mark Wielaard  <mjw (a] redhat.com>
   1215 
   1216 	* readelf.c (print_debug_frame_section): Adjust FDE start address
   1217 	if pcrel before feeding it to format_dwarf_addr.
   1218 
   1219 2012-12-21  Mark Wielaard  <mjw (a] redhat.com>
   1220 
   1221 	* addr2line.c (main): Call dwfl_end.
   1222 
   1223 2012-12-11  Roland McGrath  <roland (a] hack.frob.com>
   1224 
   1225 	* nm.c (show_symbols_sysv): Fix size passed to snprintf for invalid
   1226 	sh_name case.
   1227 	Reported by David Abdurachmanov <David.Abdurachmanov (a] cern.ch>.
   1228 
   1229 2012-10-16  Mark Wielaard  <mjw (a] redhat.com>
   1230 
   1231 	* readelf.c (print_ops): DW_OP_skip and DW_OP_bra targets are
   1232 	calculated beginning after the operand and 2-byte constant.
   1233 
   1234 2012-10-12  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   1235 
   1236 	* readelf.c (ITEM_WRAP_COLUMN, REGISTER_WRAP_COLUMN): Merge to ...
   1237 	(WRAP_COLUMN): ... here.
   1238 	(print_core_item): Remove parameter format_max.  Update function
   1239 	comment.  Replace FORMAT_MAX by the real output width.
   1240 	(handle_core_item): Remove the FORMAT_MAX values in TYPES, DO_TYPE,
   1241 	calls of print_core_item, remove variable maxfmt, change
   1242 	ITEM_WRAP_COLUMN to WRAP_COLUMN.
   1243 	(handle_core_register): Remove the FORMAT_MAX values in TYPES, BITS,
   1244 	calls of print_core_item, change REGISTER_WRAP_COLUMN to WRAP_COLUMN.
   1245 
   1246 2012-10-11  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   1247 
   1248 	* readelf.c (handle_core_item) <b>: Make run an outer block variable.
   1249 	Increase run only if LASTBIT != 0.  Print last element only if RUN > 0.
   1250 
   1251 2012-08-27  Mark Wielaard  <mjw (a] redhat.com>
   1252 
   1253 	* readelf.c (print_debug_macro_section): Print offset as PRIx64.
   1254 
   1255 2012-08-27  Mark Wielaard  <mjw (a] redhat.com>
   1256 
   1257 	* readelf.c (register_info): Handle loc == NULL.
   1258 
   1259 2012-08-22  Jeff Kenton  <jkenton (a] tilera.com>
   1260 
   1261 	* elflint.c (valid_e_machine): Add EM_TILEGX and EM_TILEPRO.
   1262 
   1263 2012-08-16  Mark Wielaard  <mjw (a] redhat.com>
   1264 
   1265 	* readelf.c (dwarf_tag_name): Renamed from dwarf_tag_string.
   1266 	Uses new dwarf_tag_string or adds ??? or lo_user+%#x when
   1267 	appropriate.
   1268 	(dwarf_attr_name): Likewise.
   1269 	(dwarf_form_name): Likewise.
   1270 	(dwarf_lang_name): Likewise.
   1271 	(dwarf_inline_name): Likewise.
   1272 	(dwarf_encoding_name): Likewise.
   1273 	(dwarf_access_name): Likewise.
   1274 	(dwarf_visibility_name): Likewise.
   1275 	(dwarf_virtuality_name): Likewise.
   1276 	(dwarf_identifier_case_name): Likewise.
   1277 	(dwarf_calling_convention_name): Likewise.
   1278 	(dwarf_ordering_name): Likewise.
   1279 	(dwarf_discr_list_name): Likewise.
   1280 	(print_ops): Remove KNOWN.  Use dwarf_locexpr_opcode_string.
   1281 	(attr_callback): Call new dwarf_foobar_name instead of old
   1282 	dwarf_foobar_string functions.
   1283 	(dwarf_tag_string): New function using known-dwarf.h macros.
   1284 	(dwarf_attr_string): Likewise.
   1285 	(dwarf_form_string): Likewise.
   1286 	(dwarf_lang_string): Likewise.
   1287 	(dwarf_inline_string): Likewise.
   1288 	(dwarf_encoding_string): Likewise.
   1289 	(dwarf_access_string): Likewise.
   1290 	(dwarf_visibility_string): Likewise.
   1291 	(dwarf_virtuality_string): Likewise.
   1292 	(dwarf_identifier_case_string): Likewise.
   1293 	(dwarf_calling_convention_string): Likewise.
   1294 	(dwarf_ordering_string): Likewise.
   1295 	(dwarf_discr_list_string): Likewise.
   1296 	(dwarf_locexpr_opcode_string): Likewise.
   1297 
   1298 2012-06-27  Mark Wielaard  <mjw (a] redhat.com>
   1299 
   1300 	* readelf.c (dwarf_form_string): Handle DW_FORM_GNU_ref_alt and
   1301 	DW_FORM_GNU_strp_alt.
   1302 	(attr_callback): Likewise.
   1303 
   1304 2012-07-30  Petr Machata  <pmachata (a] redhat.com>
   1305 
   1306 	* nm.c (show_symbols_bsd): Reorder arguments in {S,}FMTSTRS (and
   1307 	corresponding printf) so that those that are referenced by only
   1308 	one of the formatting strings are at the end.
   1309 
   1310 2012-07-29  Mark Wielaard  <mjw (a] redhat.com>
   1311 
   1312 	* readelf.c (dwarf_lang_string): Use DW_LANG_ObjC, not DW_LANG_Objc.
   1313 	(print_ops): Use known[op], not op_name, for DW_OP_GNU_parameter_ref.
   1314 
   1315 2012-07-19  Mark Wielaard  <mjw (a] redhat.com>
   1316 
   1317 	* readelf.c (print_ops): Handle DW_OP_GNU_parameter_ref.
   1318 
   1319 2012-07-11  Mark Wielaard  <mjw (a] redhat.com>
   1320 
   1321 	* readelf.c (options): Add macro to help of debug-dump.
   1322 	(section_e): Add section_macro.
   1323 	(section_all): Add section_macro.
   1324 	(parse_opt): Handle macro.
   1325 	(print_debug_macro_section): New function.
   1326 	(print_debug): Add NEW_SECTION (macro).
   1327 
   1328 2012-07-10  Mark Wielaard  <mjw (a] redhat.com>
   1329 
   1330 	* readelf.c (print_gdb_index_section): Add version 7 support.
   1331 	Keep track of cu_nr. Print kind and static/global flag for each
   1332 	symbol. When a symbol is in the TU list add 'T'.
   1333 
   1334 2012-06-26  Mark Wielaard  <mjw (a] redhat.com>
   1335 
   1336 	* readelf.c (dwarf_attr_string): Add DW_AT_GNU_macros.
   1337 
   1338 2012-06-22  Mark Wielaard  <mjw (a] redhat.com>
   1339 
   1340 	* readelf.c (print_ops): Cast printf PRIu/x64 arguments to uint64_t
   1341 	for gcc 4.7 -Wformat.
   1342 
   1343 2012-05-09  Roland McGrath  <roland (a] hack.frob.com>
   1344 
   1345 	* elflint (check_sections): Allow zero sized sections at (filesz) end
   1346 	of segment. And make check overflow-proofed.
   1347 
   1348 2012-04-24  Mark Wielaard  <mjw (a] redhat.com>
   1349 
   1350 	* readelf.c (print_ops): Add DW_OP_GNU_push_tls_address,
   1351 	DW_OP_GNU_uinit and DW_OP_GNU_encoded_addr.
   1352 
   1353 2012-03-28  Roland McGrath  <roland (a] hack.frob.com>
   1354 
   1355 	* elflint.c (special_sections): Accept SHF_INFO_LINK for reloc sections.
   1356 
   1357 2012-03-28  Mark Wielaard  <mjw (a] redhat.com>
   1358 
   1359 	* readelf.c (print_debug_abbrev_section): Check there is Dwarf
   1360 	section data.
   1361 	(print_debug_str_section): Likewise.
   1362 
   1363 2012-03-21  Mark Wielaard  <mjw (a] redhat.com>
   1364 
   1365 	* readelf.c (print_gdb_index_section): Accept version 6.
   1366 
   1367 2012-01-31  Mark Wielaard  <mjw (a] redhat.com>
   1368 
   1369 	* readelf.c (attr_callback): Don't special case DW_FORM_sec_offset.
   1370 
   1371 2012-01-21  Ulrich Drepper  <drepper (a] gmail.com>
   1372 
   1373 	* addr2line.c: Update copyright year.
   1374 	* ar.c: Likewise.
   1375 	* elfcmp.c: Likewise.
   1376 	* elflint.c: Likewise.
   1377 	* findtextrel.c: Likewise.
   1378 	* ld.c: Likewise.
   1379 	* nm.c: Likewise.
   1380 	* objdump.c: Likewise.
   1381 	* ranlib.c: Likewise.
   1382 	* readelf.c: Likewise.
   1383 	* size.c: Likewise.
   1384 	* strings.c: Likewise.
   1385 	* strip.c: Likewise.
   1386 	* unstrip.c: Likewise.
   1387 
   1388 	* nm.c (argp_children): Define.
   1389 	(argp): Hook up argp_children.
   1390 	(handle_ar): Optimize puts call.
   1391 	(show_symbols_bsd): Use positional parameters to also print color
   1392 	codes.  Don't print STT_FILE symbols.
   1393 	* objdump.c (options): Improve help text.
   1394 	(argp_children): Define.
   1395 	(argp): Hook up argp_children.
   1396 	(disasm_info): Add elements for color codes.
   1397 	(disasm_output): Print color codes as well.
   1398 	(show_disasm): Set up disasm_info data for callback.
   1399 
   1400 2012-01-20  Roland McGrath  <roland (a] hack.frob.com>
   1401 
   1402 	* arlib-argp.c (arlib_deterministic_output): Initialize from
   1403 	configured value.
   1404 	(help_filter): New function.
   1405 	(argp): Use it.
   1406 
   1407 	* ar.c (main): Handle oper_none as usage error.
   1408 
   1409 	* arlib-argp.c (options, parse_opt): Grok -U as inverse of -D.
   1410 
   1411 	* ranlib.c (argp): Use arlib_argp_children.
   1412 
   1413 	* arlib.c (arlib_init): Obey arlib_deterministic_output.
   1414 
   1415 	* arlib-argp.c: New file.
   1416 	* Makefile.am (libar_a_SOURCES): Add it.
   1417 	* arlib.h (arlib_deterministic_output, arlib_argp_children):
   1418 	Declare new variables.
   1419 	* ar.c (deterministic_output): Variable removed.
   1420 	(do_oper_insert): Use arlib_deterministic_output instead.
   1421 	(options, parse_opt): Don't handle -D here.  Add group numbers.
   1422 	(argp): Use arlib_argp_children.
   1423 
   1424 2011-12-20  Roland McGrath  <roland (a] hack.frob.com>
   1425 
   1426 	* readelf.c (print_debug): Initialize DUMMY_DBG.elf.
   1427 	Reported by Karel Klic <kklic (a] redhat.com>.
   1428 
   1429 2011-11-05  Roland McGrath  <roland (a] hack.frob.com>
   1430 
   1431 	* ar.c (deterministic_output): New flag variable.
   1432 	(options, parse_opt): Grok -D to set it.
   1433 	(do_oper_insert): When set, use zero from mtime, uid, and gid.
   1434 
   1435 	* ar.c (do_oper_insert): Fix check on elf_rawfile return value.
   1436 
   1437 2011-10-04  Marek Polacek  <mpolacek (a] redhat.com>
   1438 
   1439 	* readelf.c (register_info): Assume the right size of an array.
   1440 
   1441 2011-10-03  Ulrich Drepper  <drepper (a] gmail.com>
   1442 
   1443 	* nm.c: Recognize option --mark-special.  Still recognize --mark-weak
   1444 	but don't show it in help anymore.
   1445 	(mark_special): Renamed from mark_weak.
   1446 	(parse_opt): Adjust.
   1447 	(class_type_char): Take additional parameters for ELF file and ELF
   1448 	header.  Treat TLS symbols like objects.
   1449 	In case of D symbols, show u for unique symbols, R for symbols in
   1450 	read-only sections, B for symbols in BSS sections.
   1451 	(show_symbols_bsd): Take additional parameters for ELF file and ELF
   1452 	header.  Adjust for class_type_char change.  Show TLS symbols with
   1453 	@ after them in case --mark-special is selected.
   1454 	(show_symbols_posix): Likewise.
   1455 	(show_symbols): Adjust calls to show_symbols_bsd and
   1456 	show_symbols_posix.
   1457 	(show_symbols_sysv): Avoid printing adress and size for undefined
   1458 	symbols.  Don't print initial special entry and section entries.
   1459 
   1460 2011-10-02  Ulrich Drepper  <drepper (a] gmail.com>
   1461 
   1462 	* Makefile.am (demanglelib): Define.
   1463 	(nm_LDADD): Add demanglelib.
   1464 	* nm.c (options): Add -C option.
   1465 	(demangle): Define as global variable.
   1466 	(parse_opt): Recognize -C.
   1467 	(show_symbols_sysv): Handle demangling.
   1468 	(show_symbols_bad): Likewise.
   1469 	(show_symbols_posix): Likewise.
   1470 	(show_symbols): Likewise.
   1471 
   1472 2011-07-09  Roland McGrath  <roland (a] hack.frob.com>
   1473 
   1474 	* readelf.c (options, parse_opt): Grok -W/--wide and ignore it.
   1475 
   1476 	* ar.c (parse_opt): Grok -u.
   1477 
   1478 2011-05-30  Mark Wielaard  <mjw (a] redhat.com>
   1479 
   1480 	* strip.c (relocate): Make offset check overflow-proof.
   1481 
   1482 2011-05-23  Mark Wielaard  <mjw (a] redhat.com>
   1483 
   1484 	* strip.c (relocate): Take new arguments is_rela to indicate
   1485 	whether the relocation is from a SHT_REL or SHT_RELA section.
   1486 	Relocate against any debug section symbol, not just STT_SECTION
   1487 	symbols. For SHT_REL relocations, fetch addend from offset and
   1488 	add it to symbol value if not zero.
   1489 
   1490 2011-05-23  Mark Wielaard  <mjw (a] redhat.com>
   1491 
   1492 	* strip.c (OPT_RELOC_DEBUG): New option.
   1493 	(argp_option): Add new --reloc-debug-sections option.
   1494 	(main): Check new option.
   1495 	(parse_opt): Likewise.
   1496 	(handle_elf): Remove any relocations between debug sections
   1497 	in ET_REL for the debug file when requested.
   1498 
   1499 2011-05-18  Mark Wielaard  <mjw (a] redhat.com>
   1500 
   1501 	* strip.c (handle_elf): Make sure all sections of a removed group
   1502 	section are removed too. Don't discard SHT_GROUP sections, copy
   1503 	section table before it gets modified. Section group signature
   1504 	symbols don't have to be retained.
   1505 
   1506 2011-05-16  Jakub Jelinek  <jakub (a] redhat.com>
   1507 
   1508 	* readelf.c (print_ops): Handle DW_OP_GNU_const_type,
   1509 	DW_OP_GNU_regval_type, DW_OP_GNU_deref_type, DW_OP_GNU_convert
   1510 	and DW_OP_GNU_reinterpret.
   1511 
   1512 2011-05-17  Mark Wielaard  <mjw (a] redhat.com>
   1513 
   1514 	* readelf.c (dwarf_tag_string): Fixup DW_TAG_GNU_call_site and
   1515 	DW_TAG_GNU_call_site_parameter return strings.
   1516 
   1517 2011-05-11  Marek Polacek  <mpolacek (a] redhat.com>
   1518 
   1519 	* nm.c (show_symbols_sysv): Remove unused if/else, remove
   1520 	unused `prefix' and `fname' parameters.
   1521 
   1522 2011-05-07  Marek Polacek  <mpolacek (a] redhat.com>
   1523 
   1524 	* unstrip.c (compare_sections_nonrel): Mark this function as static.
   1525 
   1526 2011-04-26  Mark Wielaard  <mjw (a] redhat.com>
   1527 
   1528 	* readelf.c (handle_notes_data): Call ebl_object_note_type_name
   1529 	with note name.
   1530 
   1531 2011-04-14  Mark Wielaard  <mjw (a] redhat.com>
   1532 
   1533 	* readelf.c (options): Add gdb_index.
   1534 	(section_e): Define section_gdb_index.
   1535 	(parse_opt): Recognize gdb_index debug-dump argument.
   1536 	(print_gdb_index_section): New function.
   1537 	(print_debug): Add gdb_index to debug_sections.
   1538 
   1539 2011-03-24  Petr Machata  <pmachata (a] redhat.com>
   1540 
   1541 	* readelf.c (print_debug_line_section): Emit initial space for all
   1542 	opcode lines.  Print offset in front of each opcode.
   1543 
   1544 2011-03-22  Marek Polacek  <mpolacek (a] redhat.com>
   1545 
   1546 	* readelf.c (handle_dynamic): Don't segfault at DT_PLTREL case.
   1547 
   1548 2011-03-22  Mark Wielaard  <mjw (a] redhat.com>
   1549 
   1550 	* readelf.c (dwarf_tag_string): Support DW_TAG_GNU_call_site
   1551 	and DW_TAG_GNU_call_site_parameter.
   1552 	(dwarf_attr_string): Support DW_AT_GNU_call_site_value,
   1553 	DW_AT_GNU_call_site_data_value,
   1554 	DW_AT_GNU_call_site_target,
   1555 	DW_AT_GNU_call_site_target_clobbered,
   1556 	DW_AT_GNU_tail_call,
   1557 	DW_AT_GNU_all_tail_call_sites,
   1558 	DW_AT_GNU_all_call_sites,
   1559 	and DW_AT_GNU_all_source_call_sites.
   1560 	(print_ops): Handle DW_OP_GNU_entry_value.
   1561 	(attr_callback): Handle DW_AT_GNU_call_site_value,
   1562 	DW_AT_GNU_call_site_data_value,
   1563 	DW_AT_GNU_call_site_target,
   1564 	and DW_AT_GNU_call_site_target_clobbered.
   1565 
   1566 2011-03-10  Mark Wielaard  <mjw (a] redhat.com>
   1567 
   1568 	* elflint.c (check_symtab): Use ebl_check_st_other_bits.
   1569 
   1570 2011-02-27  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   1571 
   1572 	* readelf.c (reset_listptr): Clear TABLE->TABLE.
   1573 
   1574 2011-02-25  Mark Wielaard  <mjw (a] redhat.com>
   1575 
   1576 	* readelf.c (dwarf_attr_string): Add DW_AT_GNU_* handling.
   1577 	(dwarf_form_string): Properly format and return unknown form.
   1578 
   1579 2011-02-23  Roland McGrath  <roland (a] redhat.com>
   1580 
   1581 	* readelf.c (section_name): New function.
   1582 	(print_debug_abbrev_section): Use it instead of constant.
   1583 	(print_debug_aranges_section): Likewise.
   1584 	(print_debug_ranges_section): Likewise.
   1585 	(print_debug_units): Likewise.
   1586 	(print_debug_line_section): Likewise.
   1587 	(print_debug_loc_section): Likewise.
   1588 	(print_debug_macinfo_section): Likewise.
   1589 	(print_debug_pubnames_section): Likewise.
   1590 	(print_debug_str_section): Likewise.
   1591 	(print_debug) [USE_ZLIB]: Match .zdebug_* sections too.
   1592 	(print_debug_abbrev_section): Use decoded d_size, not sh_size.
   1593 	(print_debug_str_section): Likewise.
   1594 
   1595 	* readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature.
   1596 
   1597 2011-02-11  Roland McGrath  <roland (a] redhat.com>
   1598 
   1599 	* elfcmp.c (verbose): New variable.
   1600 	(options, parse_opt): Grok -l/--verbose to set it.
   1601 	(main): Under -l, keep going after first difference.
   1602 
   1603 	* elfcmp.c (ignore_build_id): New variable.
   1604 	(options, parse_opt): Grok --ignore-build-id to set it.
   1605 	(main): For SHT_NOTE sections, compare note details rather than raw
   1606 	bytes.  Under --ignore-build-id, don't complain about differing build
   1607 	ID contents if lengths match.
   1608 
   1609 2011-02-08  Roland McGrath  <roland (a] redhat.com>
   1610 
   1611 	* ldscript.y (filename_id_star): Remove unused variable.
   1612 
   1613 	* unstrip.c (copy_elided_sections): Remove unused variable.
   1614 
   1615 	* elflint.c (check_dynamic): Remove unused variables.
   1616 
   1617 	* elflint.c (check_symtab): Warn about missing xndx section only once.
   1618 
   1619 	* ldgeneric.c (check_for_duplicate2): Remove unused variable.
   1620 
   1621 2011-01-06  Roland McGrath  <roland (a] redhat.com>
   1622 
   1623 	* strip.c (handle_elf): Under --strip-sections, remove all
   1624 	non-allocated sections and never generate .gnu_debuglink.
   1625 
   1626 2011-01-04  Roland McGrath  <roland (a] redhat.com>
   1627 
   1628 	* strip.c (remove_shdrs): New variable.
   1629 	(options, parse_opt): Grok --strip-sections to set it.
   1630 	(handle_elf): When that's set, truncate off .shstrtab and shdrs.
   1631 
   1632 2010-11-10  Roland McGrath  <roland (a] redhat.com>
   1633 
   1634 	* findtextrel.c (process_file): Don't assume order of sections.
   1635 	Reported by Mike Hommey <mh (a] glandium.org>.
   1636 
   1637 2010-07-26  Roland McGrath  <roland (a] redhat.com>
   1638 
   1639 	* readelf.c (print_ops): Handle DW_OP_GNU_implicit_pointer.
   1640 
   1641 2010-08-30  Roland McGrath  <roland (a] redhat.com>
   1642 
   1643 	Print .debug_loc/.debug_ranges with cognizance of actual DIE uses.
   1644 	* readelf.c (parse_opt): Add section_info to implicit_debug_sections
   1645 	for ranges, loc.
   1646 	(struct listptr, struct listptr_table): New types.
   1647 	(compare_listptr, reset_listptr, sort_listptr): New functions.
   1648 	(notice_listptr, skip_listptr_hole): New functions.
   1649 	(struct attrcb_args): Add silent member.
   1650 	(attr_callback): Call notice_listptr for loclistptr and rangelistptr.
   1651 	Suppress output if silent, but still call notice_listptr.
   1652 	(print_debug_units): Suppress output if section_info not requested.
   1653 	(print_debug_loc_section): Call sort_listptr, skip_listptr_hole.
   1654 	(print_debug_ranges_section): Likewise.
   1655 	(print_debug): Call reset_listptr on both tables.
   1656 
   1657 	* readelf.c (print_debug_ranges_section): Print empty list.
   1658 	(print_debug_loc_section): Likewise.
   1659 
   1660 	* readelf.c (print_debug_loc_section): Check for bogus length
   1661 	before calling print_ops.
   1662 	(print_ops): Check harder for bogus data that would read off end.
   1663 
   1664 2010-08-11  Roland McGrath  <roland (a] redhat.com>
   1665 
   1666 	* readelf.c (for_each_section_argument): Process all sections with
   1667 	matching name, not just the first.
   1668 
   1669 2010-07-26  Roland McGrath  <roland (a] redhat.com>
   1670 
   1671 	* readelf.c (print_ops): Take new argument for CU version.
   1672 	Fix DW_OP_call_ref decoding to depend on it.
   1673 	(print_debug_loc_section): Update caller.
   1674 	(print_cfa_program): Take new argument, pass it down.
   1675 	(print_debug_frame_section): Update caller.
   1676 	(struct attrcb_args): New member version.
   1677 	(print_debug_units): Initialize it.
   1678 
   1679 2010-07-02  Roland McGrath  <roland (a] redhat.com>
   1680 
   1681 	* readelf.c (print_debug_frame_section): Use format_dwarf_addr for
   1682 	initial_location.
   1683 
   1684 2010-06-30  Roland McGrath  <roland (a] redhat.com>
   1685 
   1686 	* strings.c (main): Use STDIN_FILENO, not STDOUT_FILENO.
   1687 	Ignore st_size for a non-S_ISREG file descriptor.
   1688 	(read_block): Move assert after no-mmap bail-out.
   1689 	(read_block_no_mmap): Fix size calculations for moving buffer remnant.
   1690 
   1691 2010-06-22  Roland McGrath  <roland (a] redhat.com>
   1692 
   1693 	* readelf.c (print_debug_line_section): Fix braino in DW_LNS_set_isa.
   1694 
   1695 2010-06-21  Roland McGrath  <roland (a] redhat.com>
   1696 
   1697 	* readelf.c (dwarf_tag_string): Handle new v4 tags.
   1698 	(dwarf_attr_string): Add new attributes.
   1699 	(dwarf_tag_string): Handle DW_TAG_GNU_*.
   1700 
   1701 	* readelf.c (print_ops): Use 64-bit types for LEB128 operands.
   1702 	(print_cfa_program): Likewise.
   1703 
   1704 2010-06-20  Roland McGrath  <roland (a] redhat.com>
   1705 
   1706 	* readelf.c (print_debug_units): New function, broken out of ...
   1707 	(print_debug_info_section): ... here.  Call it.
   1708 	(print_debug_types_section): New function.
   1709 	(enum section_e): Add section_types alias for section_info.
   1710 	(print_debug): Add types to the sections table.
   1711 
   1712 	* readelf.c (print_debug_frame_section): Handle version 4 format.
   1713 
   1714 	* readelf.c (print_debug_line_section): Handle version 4 format.
   1715 
   1716 2010-06-14  Roland McGrath  <roland (a] redhat.com>
   1717 
   1718 	* unstrip.c (copy_elided_sections): Make sure all sections' data have
   1719 	been read in before we write anything out.
   1720 
   1721 2010-06-04  Roland McGrath  <roland (a] redhat.com>
   1722 
   1723 	* unstrip.c (update_shdr): New function.
   1724 	(update_sh_size): Call it instead of gelf_update_shdr.
   1725 	(adjust_relocs, add_new_section_symbols): Likewise.
   1726 	(new_shstrtab, copy_elided_sections): Likewise.
   1727 
   1728 	* unstrip.c (copy_elided_sections): Bail if stripped file has more
   1729 	sections than unstripped file, rather than getting confused later.
   1730 
   1731 2010-06-01  Roland McGrath  <roland (a] redhat.com>
   1732 
   1733 	* readelf.c (dwarf_form_string): Handle DWARF 4 forms.
   1734 	(attr_callback): Handle DW_FORM_flag_present, DW_FORM_exprloc,
   1735 	DW_FORM_sec_offset, DW_FORM_ref_sig8.
   1736 
   1737 	* readelf.c (print_debug): Don't bail if libdw setup fails.
   1738 	Suppress complaint if we only want .eh_frame anyway.
   1739 
   1740 2010-05-28  Ulrich Drepper  <drepper (a] redhat.com>
   1741 
   1742 	* readelf.c (attr_callback): Also print form information.
   1743 
   1744 2010-05-19  Roland McGrath  <roland (a] redhat.com>
   1745 
   1746 	* addr2line.c (find_symbol): Short-circuit on empty name.
   1747 	(handle_address): Handle SYMBOL with no +OFFSET.
   1748 
   1749 2010-05-08  Roland McGrath  <roland (a] redhat.com>
   1750 
   1751 	* readelf.c (print_ops): Take new arg OFFSET_SIZE.
   1752 	Use that for DW_OP_call_ref, not ADDRSIZE.
   1753 	(print_cfa_program): Update caller.
   1754 	(struct attrcb_args): Add offset_size field.
   1755 	(attr_callback): Use it for print_ops call.
   1756 	(print_debug_info_section): Initialize it.
   1757 	(print_ops): Likewise.
   1758 
   1759 2010-04-14  Roland McGrath  <roland (a] redhat.com>
   1760 
   1761 	* readelf.c (handle_core_item): Fix bitmask printing.
   1762 
   1763 2010-04-06  Roland McGrath  <roland (a] redhat.com>
   1764 
   1765 	* ld.c (options): Fix some typos in messages.
   1766 	* elflint.c (check_scn_group, check_group): Likewise.
   1767 	* ldscript.y (add_id_list): Likewise.
   1768 	* readelf.c (print_hash_info): Add xgettext:no-c-format magic comment
   1769 	before translated string containing a literal %.
   1770 
   1771 2010-02-26  Roland McGrath  <roland (a] redhat.com>
   1772 
   1773 	* readelf.c (process_file): Don't leak an fd in failure case.
   1774 
   1775 2010-02-15  Roland McGrath  <roland (a] redhat.com>
   1776 
   1777 	* Makefile.am: Use config/eu.am for common stuff.
   1778 
   1779 	* readelf.c (print_debug_frame_section): Add a cast to avoid sign
   1780 	mismatch in comparison.
   1781 
   1782 2010-02-02  Roland McGrath  <roland (a] redhat.com>
   1783 
   1784 	* readelf.c (print_encoding_base): Handle DW_EH_PE_absptr (zero).
   1785 	(read_encoded): Likewise.
   1786 	(print_debug_frame_section): Check for bogus augmentation length.
   1787 	For P augmentation, use read_encoded, print the encoding description,
   1788 	and use hex for unsigned values.
   1789 
   1790 2010-01-15  Roland McGrath  <roland (a] redhat.com>
   1791 
   1792 	* ar.c: Include <sys/stat.h>.
   1793 	* elflint.c: Likewise.
   1794 	* readelf.c: Likewise.
   1795 	* strip.c: Likewise.
   1796 	* unstrip.c: Likewise
   1797 
   1798 2010-01-07  Roland McGrath  <roland (a] redhat.com>
   1799 
   1800 	* readelf.c (print_ehdr): Handle PN_XNUM.
   1801 	(phnum): New static variable.
   1802 	(process_elf_file): Set it with elf_getphdrnum.
   1803 	(print_phdr): Use phnum instead of EHDR->e_phnum.
   1804 	(print_dynamic, handle_notes): Likewise.
   1805 	(handle_relocs_rel, handle_relocs_rela): Likewise.
   1806 
   1807 	* elfcmp.c (main): Use elf_getshdrnum and elf_getphdrnum.
   1808 
   1809 	* elflint.c (phnum): New static variable.
   1810 	(check_elf_header): Set it, handling PN_XNUM.
   1811 	Use that in place of EHDR->e_phnum throughout.
   1812 	(check_symtab, check_reloc_shdr, check_dynamic): Likewise.
   1813 	(unknown_dependency_p, check_sections, check_program_header): Likewise.
   1814 
   1815 2010-01-05  Roland McGrath  <roland (a] redhat.com>
   1816 
   1817 	* readelf.c (dwarf_attr_string): Match DW_AT_GNU_vector and
   1818 	DW_AT_GNU_template_name.
   1819 
   1820 2010-01-04  Roland McGrath  <roland (a] redhat.com>
   1821 
   1822 	* readelf.c (handle_notes_data): Grab NT_AUXV only for name "CORE".
   1823 	(handle_core_note): Pass NHDR and NAME to ebl_core_note.
   1824 	(handle_core_item): Handle .format of '\n' as \n-separated strings.
   1825 
   1826 	* readelf.c (implicit_debug_sections): New variable.
   1827 	(parse_opt): Set it instead of print_debug_sections for -a.
   1828 	OR them together for print_debug check.
   1829 	(print_debug): OR them together for section check.
   1830 
   1831 	* readelf.c (options): Repartition into set implied by -a and others.
   1832 	Correct -a text to match reality.
   1833 
   1834 	* readelf.c (struct section_argument): Add bool member 'implicit'.
   1835 	(parse_opt): Set it for -a cases, clear it for -x args.
   1836 	(for_each_section_argument): Don't complain about a missing section by
   1837 	name if it's implicit.
   1838 
   1839 2009-11-16  Roland McGrath  <roland (a] redhat.com>
   1840 
   1841 	* readelf.c (print_string_section): Punt SHT_NOBITS like empty
   1842 	sections, just as dump_data_section already does.
   1843 
   1844 2009-09-21  Ulrich Drepper  <drepper (a] redhat.com>
   1845 
   1846 	* elflint.c (special_sections): Allow MERGE and STRINGS flags to be
   1847 	set for .comment section.
   1848 	Patch by Mark Wielaard <mjw (a] redhat.com>.
   1849 
   1850 2009-09-08  Roland McGrath  <roland (a] redhat.com>
   1851 
   1852 	* ar.c (main): Fix typo in message format.
   1853 
   1854 2009-08-21  Roland McGrath  <roland (a] redhat.com>
   1855 
   1856 	* readelf.c (attr_callback): Use print_block only when we don't use
   1857 	print_ops.
   1858 
   1859 2009-08-14  Roland McGrath  <roland (a] redhat.com>
   1860 
   1861 	* ar.c (do_oper_extract): Use pathconf instead of statfs.
   1862 
   1863 2009-08-01  Ulrich Drepper  <drepper (a] redhat.com>
   1864 
   1865 	* debugpred.h: Add two most const.
   1866 
   1867 2009-07-26  Mark Wielaard  <mjw (a] redhat.com>
   1868 
   1869 	* elflint.c (check_note_data): Recognize NT_GNU_GOLD_VERSION.
   1870 
   1871 2009-07-25  Mark Wielaard  <mjw (a] redhat.com>
   1872 
   1873 	* Makefile.am (addr2line_LDADD): Add $(libelf).
   1874 
   1875 2009-07-24  Roland McGrath  <roland (a] redhat.com>
   1876 
   1877 	* readelf.c (print_block): New function.
   1878 	(print_ops): Use it.
   1879 	(attr_callback): Use it for DW_FORM_block* forms.
   1880 
   1881 2009-07-20  Mark Wielaard  <mjw (a] redhat.com>
   1882 
   1883 	* readelf.c (print_ops): Add handling of DW_OP_implicit_value
   1884 	and DW_OP_stack_value.
   1885 
   1886 2009-07-14  Ulrich Drepper  <drepper (a] redhat.com>
   1887 
   1888 	* elflint.c (check_elf_header): Allow Linux ABI.
   1889 	(check_symtab): Handle STB_GNU_UNIQUE.
   1890 
   1891 2009-07-08  Mark Wielaard  <mjw (a] redhat.com>
   1892 
   1893 	* readelf.c (attr_callback): Handle DW_Form constants for
   1894 	DW_AT_data_member_location.
   1895 
   1896 2009-07-06  Roland McGrath  <roland (a] redhat.com>
   1897 
   1898 	* readelf.c (register_info): New function.  Handle unknown register #s.
   1899 	(print_cfa_program): Use it.
   1900 	(handle_core_register, handle_core_registers): Likewise.
   1901 
   1902 2009-06-28  Roland McGrath  <roland (a] redhat.com>
   1903 
   1904 	* readelf.c (print_address_names): New static variable.
   1905 	(options, parse_opt): Grok -N/--numeric-addresses to clear it.
   1906 	(format_dwarf_addr): Don't look up name if !print_address_names.
   1907 
   1908 2009-06-13  Ulrich Drepper  <drepper (a] redhat.com>
   1909 
   1910 	* ldgeneric.c: Don't use deprecated libelf functions.
   1911 	* nm.c: Likewise.
   1912 	* objdump.c: Likewise.
   1913 	* readelf.c: Likewise.
   1914 	* size.c: Likewise.
   1915 	* strip.c: Likewise.
   1916 	* unstrip.c: Likewise.
   1917 	* ld.h: Fix up comment.
   1918 
   1919 2009-06-01  Ulrich Drepper  <drepper (a] redhat.com>
   1920 
   1921 	* readelf.c (print_relocs): Expect ELF header argument and pass on
   1922 	to handle_relocs_rel* functions. Adjust caller.
   1923 	(handle_relocs_rel): Add ELF header argument.  Add special case for
   1924 	the IRELATIVE relocations in statically linked executables.
   1925 	(handle_relocs_rela): Likewise.
   1926 
   1927 2009-04-29  Ulrich Drepper  <drepper (a] redhat.com>
   1928 
   1929 	* elflint.c (check_symtab): Add tests of st_other field.
   1930 
   1931 2009-04-23  Ulrich Drepper  <drepper (a] redhat.com>
   1932 
   1933 	* Makefile [BUILD_STATIC] (libdw): Add $(zip_LIBS).
   1934 
   1935 2009-04-20  Roland McGrath  <roland (a] redhat.com>
   1936 
   1937 	* addr2line.c (print_dwarf_function): Honor -s and -A for file names
   1938 	of inline call sites.
   1939 
   1940 	* addr2line.c (just_section): New variable.
   1941 	(adjust_to_section): New function, broken out of ...
   1942 	(handle_address): ... here.
   1943 	(options, parse_opt): Add -j/--section=NAME to set it.
   1944 
   1945 2009-04-15  Roland McGrath  <roland (a] redhat.com>
   1946 
   1947 	* readelf.c (print_debug_frame_section): Check for DW_CIE_ID_64 in
   1948 	64-bit format header, DW_CIE_ID_32 in 32-bit format header.
   1949 
   1950 2009-04-14  Roland McGrath  <roland (a] redhat.com>
   1951 
   1952 	* readelf.c (print_attributes): Treat SHT_ARM_ATTRIBUTES on EM_ARM
   1953 	like SHT_GNU_ATTRIBUTES.
   1954 
   1955 	* readelf.c (handle_core_registers): Fix error message.
   1956 
   1957 	* strip.c (handle_elf: check_preserved): Don't note any change when
   1958 	.debug_data is already filled from a previous pass.
   1959 
   1960 2009-02-05  Ulrich Drepper  <drepper (a] redhat.com>
   1961 
   1962 	* objdump.c (show_relocs_x): Minor cleanups.
   1963 
   1964 	* readelf.c (print_cfa_program): Correct a few labels.
   1965 	Print first DW_CFA_expression and DW_CFA_val_expression parameter
   1966 	as register.
   1967 
   1968 2009-02-01  Ulrich Drepper  <drepper (a] redhat.com>
   1969 
   1970 	* objdump.c (show_relocs_rel, show_relocs_rela): Split common parts
   1971 	into ...
   1972 	(show_relocs_x): ...here.  New function.
   1973 	(show_relocs): Better spacing in output.
   1974 
   1975 	* objdump.c (show_relocs_rela): Show offsets as signed values.
   1976 
   1977 	* ar.c (main): Fix recognition of invalid modes for a, b, i modifiers.
   1978 	Improve some error messages.
   1979 	Use program_invocation_short_name instead of AR macro.
   1980 	* Makefile.am (CFLAGS_ar): Remove.
   1981 	* elflint.c (parse_opt): ARGP_HELP_EXIT_ERR does nothing for argp_help.
   1982 	* objdump.c (parse_opt): Likewise.
   1983 	* readelf.c (parse_opt): Likewise.
   1984 
   1985 2009-01-27  Roland McGrath  <roland (a] redhat.com>
   1986 
   1987 	* readelf.c (print_ops): Notice short length, don't overrun buffer
   1988 	(still need to fix LEB128).
   1989 
   1990 	* readelf.c (print_ops): Fix DW_OP_call[24] decoding.
   1991 
   1992 	* readelf.c (print_ops): Print (empty)\n when LEN == 0.
   1993 
   1994 2009-01-24  Ulrich Drepper  <drepper (a] redhat.com>
   1995 
   1996 	* readelf.c (print_debug_frame_section): Fix computation of vma_base
   1997 	for PC-relative mode.
   1998 
   1999 2009-01-23  Ulrich Drepper  <drepper (a] redhat.com>
   2000 
   2001 	* size.c (process_file): When handling archive, close file descriptor
   2002 	here.  For unknown file format also close file descriptor.
   2003 	(handle_ar): Don't close file descriptor here.
   2004 
   2005 	* readelf.c (parse_opt): Move code to add to dump_data_sections and
   2006 	string_sections list in local function add_dump_section.  Adjust 'x'
   2007 	key handling.  For 'a' key add .strtab, .dynstr, and .comment section
   2008 	to string_sections list.
   2009 
   2010 2009-01-22  Roland McGrath  <roland (a] redhat.com>
   2011 
   2012 	* readelf.c (print_phdr): Don't print section mapping when no sections.
   2013 
   2014 	* Makefile.am (AM_CFLAGS): Pass -Wno-format for *_no_Wformat.
   2015 
   2016 	* readelf.c (print_debug_frame_section): Initialize IS_SIGNED to false
   2017 	and reset it only for the 'true' cases.
   2018 
   2019 	* Makefile.am (addr2line_no_Wformat): New variable.
   2020 
   2021 	* readelf.c (print_debug_frame_section): Use t instead of j formats
   2022 	for ptrdiff_t OFFSET.
   2023 
   2024 2009-01-21  Ulrich Drepper  <drepper (a] redhat.com>
   2025 
   2026 	* elflint.c (check_program_header): Fix typo in .eh_frame_hdr section
   2027 	test.  Handle debuginfo files.
   2028 	(check_exception_data): First sanity test.
   2029 
   2030 2009-01-17  Ulrich Drepper  <drepper (a] redhat.com>
   2031 
   2032 	* readelf.c (print_debug_exception_table): Show target of ar_disp
   2033 	field.
   2034 
   2035 	* elflint.c (check_program_header): Add most consistency checks for
   2036 	PT_GNU_EH_FRAME entry.
   2037 
   2038 	* addr2line.c: Use ARGP_PROGRAM_VERSION_HOOK_DEF and
   2039 	ARGP_PROGRAM_BUG_ADDRESS_DEF.
   2040 	* ar.c: Likewise.
   2041 	* elfcmp.c: Likewise.
   2042 	* elflint.c: Likewise.
   2043 	* findtextrel.c: Likewise.
   2044 	* ld.c: Likewise.
   2045 	* nm.c: Likewise.
   2046 	* objdump.c: Likewise.
   2047 	* ranlib.c: Likewise.
   2048 	* readelf.c: Likewise.
   2049 
   2050 	* size.c: Likewise.
   2051 	* strings.c: Likewise.
   2052 	* strip.c: Likewise.
   2053 	* unstrip.c: Likewise.
   2054 
   2055 2009-01-16  Ulrich Drepper  <drepper (a] redhat.com>
   2056 
   2057 	* elflint.c (check_program_header): Check that PT_GNU_EH_FRAME entry
   2058 	matches .eh_frame_hdr section, if it is available.  Also check that
   2059 	the segment is allocated, not writable, not executable.
   2060 
   2061 	* readelf.c: Add -e option.  Dump exception and unwind related
   2062 	sections.  Add -e to -a.
   2063 	(print_encoding_base): Handle DW_EH_PE_omit.
   2064 	(print_debug_exception_table): Beginning of support.
   2065 	(print_debug): Hook up print_debug_exception_table for
   2066 	.gcc_except_table sections.
   2067 
   2068 	* readelf.c (print_debug_frame_section): Some fixes for last change.
   2069 
   2070 2009-01-15  Ulrich Drepper  <drepper (a] redhat.com>
   2071 
   2072 	* readelf.c (print_encoding): Now a toplevel function.
   2073 	(print_relinfo): Likewise.
   2074 	(print_encoding_base): Broken out of print_debug_frame_section.
   2075 	(print_debug_frame_section): Print different header for .eh_frame
   2076 	sections.  Fix recognition of matching CIEs in .debug_frame sections.
   2077 	Print absolute offset for PC-relative FDE locations.  Don't print
   2078 	table header for FDEs if the table is empty.
   2079 	(read_encoded): New function.
   2080 	(print_debug_frame_hdr_section): New function.
   2081 	(print_debug): Hook up print_debug_frame_hdr_section for .eh_frame_hdr
   2082 	sections.
   2083 
   2084 	* readelf.c (handle_relocs_rel): Print section number.
   2085 	(print_debug_abbrev_section): Likewise.
   2086 	(print_debug_aranges_section): Likewise.
   2087 	(print_debug_ranges_section): Likewise.
   2088 	(print_debug_info_section): Likewise.
   2089 	(print_debug_line_section): Likewise.
   2090 	(print_debug_loc_section): Likewise.
   2091 	(print_debug_macinfo_section): Likewise.
   2092 	(print_debug_pubnames_section): Likewise.
   2093 	(print_debug_str_section): Likewise.
   2094 
   2095 2009-01-10  Ulrich Drepper  <drepper (a] redhat.com>
   2096 
   2097 	* strings.c (read_block): Fix typo in error message string.
   2098 
   2099 2009-01-07  Ulrich Drepper  <drepper (a] redhat.com>
   2100 
   2101 	* ld.c (ld_new_searchdir): Fix adding to search path list.
   2102 
   2103 2009-01-06  Ulrich Drepper  <drepper (a] redhat.com>
   2104 
   2105 	* readelf.c: Implement call frame debug section dumping.
   2106 
   2107 2009-01-05  Roland McGrath  <roland (a] redhat.com>
   2108 
   2109 	* elfcmp.c: Exit with status 2 for errors (like cmp, diff, grep).
   2110 	Status 1 (aka EXIT_FAILURE) is only for completed OK but not equal.
   2111 
   2112 2009-01-01  Ulrich Drepper  <drepper (a] redhat.com>
   2113 
   2114 	* addr2line.c: Update copyright year.
   2115 	* ar.c: Likewise.
   2116 	* elfcmp.c: Likewise.
   2117 	* elflint.c: Likewise.
   2118 	* findtextrel.c: Likewise.
   2119 	* ld.c: Likewise.
   2120 	* nm.c: Likewise.
   2121 	* objdump.c: Likewise.
   2122 	* ranlib.c: Likewise.
   2123 	* readelf.c: Likewise.
   2124 	* size.c: Likewise.
   2125 	* strings.c: Likewise.
   2126 	* strip.c: Likewise.
   2127 	* unstrip.c: Likewise.
   2128 
   2129 2008-12-11  Roland McGrath  <roland (a] redhat.com>
   2130 
   2131 	* nm.c (sym_name): New function.
   2132 	(show_symbols_sysv): Use it in place of elf_strptr.
   2133 	(show_symbols_bsd, show_symbols_posix): Likewise.
   2134 	Fixes RHBZ#476136.
   2135 
   2136 	* nm.c (show_symbols_sysv): Use an alloca'd backup section name when
   2137 	elf_strptr fails.
   2138 
   2139 2008-12-02  Roland McGrath  <roland (a] redhat.com>
   2140 
   2141 	* readelf.c (count_dwflmod, process_file): Don't presume encoding of
   2142 	nonzero OFFSET argument to dwfl_getmodules.
   2143 
   2144 2008-08-07  Roland McGrath  <roland (a] redhat.com>
   2145 
   2146 	* addr2line.c (main): Pass string to handle_address.
   2147 	(see_one_module): New function, subroutine of handle_address.
   2148 	(find_symbol): Likewise.
   2149 	(handle_address): Take string argument rather than address.
   2150 	Convert plain number, or handle strings like "(section)+offset"
   2151 	or "symbol+offset".
   2152 
   2153 2008-08-01  Roland McGrath  <roland (a] redhat.com>
   2154 
   2155 	* readelf.c (handle_core_item): Handle 'B' type for 1-origin bitset.
   2156 	For 'b' and 'B', print <x-y,z> or ~<x,y-z> rather than 1/0 string.
   2157 
   2158 	* readelf.c (convert): Take new argument SIZE.
   2159 	(handle_core_register, handle_core_item): Update callers.
   2160 	(handle_core_item): Take new arg REPEATED_SIZE.
   2161 	(handle_core_items): Special case for a singleton item,
   2162 	let handle_core_item handle repeats if it wants to.
   2163 
   2164 	* readelf.c (handle_core_items): Give abridged output
   2165 	for identical groups repeated more than twice.
   2166 
   2167 2008-07-04  Roland McGrath  <roland (a] redhat.com>
   2168 
   2169 	* readelf.c (handle_core_items): Handle ELF_T_ADDR.
   2170 
   2171 2008-04-10  Roland McGrath  <roland (a] redhat.com>
   2172 
   2173 	* strip.c (handle_elf): Don't keep sections that kept symbol tables
   2174 	refer to.  Instead, just be sure to preserve the original symbol
   2175 	table in the debug file so those symbols go with their sections and
   2176 	can be elided from the stripped version of the symbol table.
   2177 
   2178 	* strip.c (handle_elf): When a discarded section kept in the debug
   2179 	file refers to a nondiscard section via sh_link/sh_info, preserve
   2180 	that nondiscarded section unmodified in the debug file as well.
   2181 	Skip adjustment of discarded sections symbol table references when
   2182 	that symbol table is copied in this way.
   2183 
   2184 	* elflint.c (check_symtab): Don't crash from missing symbol names
   2185 	after diagnosing bogus strtab.
   2186 
   2187 	* strip.c (handle_elf): Cosmetic cleanup in special section contents
   2188 	adjustment for symtab changes.
   2189 
   2190 2008-03-31  Roland McGrath  <roland (a] redhat.com>
   2191 
   2192 	* elflint.c (check_sections): Add checks on SHF_EXECINSTR sections:
   2193 	must be SHT_PROGBITS, must not be SHF_WRITE.  Let backend hook
   2194 	excuse a special section.
   2195 
   2196 2008-03-27  Roland McGrath  <roland (a] redhat.com>
   2197 
   2198 	* elflint.c (check_sections): Check that executability and writability
   2199 	of sections is reflected in segment p_flags.
   2200 
   2201 2008-03-26  Roland McGrath  <roland (a] redhat.com>
   2202 
   2203 	* elflint.c (check_program_header): Accept PT_GNU_RELRO p_flags
   2204 	that matches its PT_LOAD's p_flags &~ PF_W.  On sparc, PF_X really
   2205 	is valid in RELRO.
   2206 
   2207 2008-02-29  Roland McGrath  <roland (a] redhat.com>
   2208 
   2209 	* readelf.c (print_attributes): Add a cast.
   2210 	* elflint.c (check_attributes): Likewise.
   2211 
   2212 	* unaligned.h (add_8ubyte_unaligned): Cast PTR argument for parity
   2213 	with [UNALIGNED_ACCESS_CLASS == BYTE_ORDER] definition.
   2214 	(add_4ubyte_unaligned, add_2ubyte_unaligned): Likewise.
   2215 
   2216 2008-02-03  Ulrich Drepper  <drepper (a] redhat.com>
   2217 
   2218 	* i386_ld.c (elf_i386_count_relocations): Implement R_386_TLS_GD
   2219 	when linked into executable.
   2220 	(elf_i386_create_relocations): Likewise.
   2221 
   2222 2008-02-20  Roland McGrath  <roland (a] redhat.com>
   2223 
   2224 	* readelf.c (print_attributes): New function.
   2225 	(process_elf_file): Call it under -A.
   2226 
   2227 	* elflint.c (check_attributes): Implement it for real.
   2228 
   2229 2008-02-19  Roland McGrath  <roland (a] redhat.com>
   2230 
   2231 	* elflint.c (special_sections): Handle .gnu.attributes section.
   2232 	(check_sections): Likewise.
   2233 	(check_attributes): New function.
   2234 
   2235 2008-02-10  Roland McGrath  <roland (a] redhat.com>
   2236 
   2237 	* elfcmp.c (main): Ignore sh_offset differences in non-SHF_ALLOC
   2238 	sections and ET_REL files.
   2239 
   2240 2008-02-02  Ulrich Drepper  <drepper (a] redhat.com>
   2241 
   2242 	* elf32-i386.script: Add .eh_frame_hdr, .tdata, and .tbss sections.
   2243 	* i386_ld.c (elf_i386_count_relocations): Handle R_386_TLS_LDO_32
   2244 	and R_386_TLS_LE.
   2245 	(elf_i386_create_relocations): Likewise.
   2246 	* ld.h (struct ld_state): Add need_tls, tls_start, and tls_tcb
   2247 	elements.
   2248 	* ldgeneric.c (add_section): If TLS section is used, set need_tls flag.
   2249 	(ld_generic_create_outfile): Add PT_TLS entry to program  header.
   2250 	Fix generation of PT_GNU_STACK entry.
   2251 
   2252 2008-02-01  Ulrich Drepper  <drepper (a] redhat.com>
   2253 
   2254 	* ld.c (replace_args): Prevent loop over replacements if the parameter
   2255 	is only two characters long.
   2256 
   2257 	* ld.c: Recognize sha1 argument for --build-id parameter.
   2258 	* ldgeneric.c (create_build_id_section): Handle sha1.
   2259 	(compute_hash_sum): New function.  Broken out of compute_build_id.
   2260 	Take hash function and context as parameters.
   2261 	(compute_build_id): Use compute_hash_sum for md5 and the new sha1
   2262 	implementation.
   2263 
   2264 2008-01-31  Ulrich Drepper  <drepper (a] redhat.com>
   2265 
   2266 	* elf32-i386.script: Add .note.ABI-tag and .note.gnu.build-id sections.
   2267 	* ld.c: Recognize --build-id command line parameter.
   2268 	* ld.h: Define scn_dot_note_gnu_build_id.
   2269 	(struct ld_state): Add build_id and buildidscnidx elements.
   2270 	* ldgeneric.c: Implement --build-id command line parameter.
   2271 	* ldlex.l (ID): Recognize - as valid character after the first one.
   2272 
   2273 2008-01-29  Ulrich Drepper  <drepper (a] redhat.com>
   2274 
   2275 	* ld.c (replace_args): New function.
   2276 	(main): Use it to rewrite old-style parameters.
   2277 
   2278 	* elf32-i386.script: Add .gnu.hash section.
   2279 	* ldgeneric.c (optimal_bucket_size): A tiny bit more efficient.
   2280 	(fillin_special_symbol): Initialize st_size.
   2281 	(sortfct_hashval): New function.
   2282 	(create_gnu_hash): New function.
   2283 	(create_hash): New function.
   2284 	(ld_generic_create_outfile): Use the new functions to create the
   2285 	hash tables.
   2286 
   2287 	* elflint.c (check_gnu_hash): Fix index value printed in error message.
   2288 
   2289 2008-01-24  Ulrich Drepper  <drepper (a] redhat.com>
   2290 
   2291 	* elflint.c (check_group): Check that signature symbol for section
   2292 	group is not an empty string.
   2293 	* ldgeneric.c: Remove magic assignment of indeces in the dynsym
   2294 	section.  Start implementation of --hash-style.
   2295 	* i386_ld.c: Likewise.
   2296 	* ld.c: Recognize --hash-style.
   2297 	* ld.h (struct scninfo): Add comdat_group.
   2298 	Add additional parameter to finalize_plt callback.
   2299 
   2300 2008-01-22  Ulrich Drepper  <drepper (a] redhat.com>
   2301 
   2302 	* ld.h (struct callbacks): Add initialize_gotplt.
   2303 	(struct scnhead): Add scn_dot_gotplt.
   2304 	(struct ld_state): Add gotpltscnidx.
   2305 	* i386_ld.c (elf_i386_initialize_plt): Minor optimization.
   2306 	(elf_i386_initialize_pltrel): Likewise.
   2307 	(elf_i386_initialize_got): There is now a separate .got.plt, so
   2308 	don't do the PLT-related work here.  Initialize d_type.
   2309 	(elf_i386_initialize_gotplt): New function.
   2310 	(elf_i386_plt0): Use ud2a after indirect jump.
   2311 	(elf_i386_pic_plt0_entry): Likewise.
   2312 	(elf_i386_finalize_plt): Reference now .got.plt.
   2313 	(elf_i386_count_relocations): For GOT entries which need no relocation
   2314 	don't bump nrel_got.
   2315 	(elf_i386_create_relocations): Also get .got.plt.  Rewrite R-386_GOT32
   2316 	handling for split .got/.got.plt.
   2317 	(elf_i386_ld_init): Initialize callbacks.initialize_gotplt.
   2318 	* elf32-i386.script: Sort sections for security.  There are no .got
   2319 	input sections.  Add .got.plt.
   2320 	* ldgeneric.c (ld_generic_generate_sections): Add .got.plt section.
   2321 	(ld_generic_create_outfile): Initialize .got.plt section.
   2322 	Use .got.plt address for _GLOBAL_OFFSET_TABLE_ symbol and DT_PLTGOT.
   2323 
   2324 2008-01-19  Ulrich Drepper  <drepper (a] redhat.com>
   2325 
   2326 	* i386_ld.c (elf_i386_count_relocations): PLT relocations for undefined
   2327 	symbols are not carried over into statically linked output files.
   2328 	Add dummy entries for more TLS relocations.
   2329 
   2330 	* ld.c (options): Add long names for -( and -).
   2331 
   2332 	* ldgeneric.c (check_definition): For newly found definitions don't
   2333 	mark section as used if symbol is absolute.
   2334 	(extract_from_archive): Only assign archive sequence number the first
   2335 	time the archive is handled.  Update ld_state.last_archive_used
   2336 	if any symbol was used.  Remove nround variable.
   2337 	(file_process2): When using symbol from an archive, update
   2338 	ld_state.group_start_archive, ld_state.archives, and
   2339 	ld_state.tailarchives.
   2340 	(ld_generic_file_process): If group is not handled anymore, after
   2341 	freeing ELF handles for the archives, clear ld_state.archives and
   2342 	*nextp.  Fix wrong logic in recognizing first iteration of group
   2343 	loop.  When clearing flags, also clear ld_state.group_start_archive.
   2344 
   2345 2008-01-11  Ulrich Drepper  <drepper (a] redhat.com>
   2346 
   2347 	* objdump.c (show_disasm): Adjust disassembler format string for
   2348 	removal of %e.
   2349 
   2350 2008-01-04  Roland McGrath  <roland (a] redhat.com>
   2351 
   2352 	* readelf.c (handle_core_items): Take new arg DESCSZ; if nonzero,
   2353 	a size greater than the items cover means multiple sets of items.
   2354 	(handle_core_note): Update caller.
   2355 
   2356 2008-01-04  Roland McGrath  <roland (a] redhat.com>
   2357 
   2358 	* strip.c (handle_elf): Move SHDRIDX defn to silence gcc warning.
   2359 
   2360 2008-01-03  Roland McGrath  <roland (a] redhat.com>
   2361 
   2362 	* ld.h (linked_from_dso_p): Use __attribute__ ((__gnu_inline__)).
   2363 
   2364 	* elflint.c (check_dynamic): Remove duplicate initializer.
   2365 
   2366 2008-01-02  Ulrich Drepper  <drepper (a] redhat.com>
   2367 
   2368 	* addr2line.c: Update copyright year.
   2369 	* ar.c: Likewise.
   2370 	* elfcmp.c: Likewise.
   2371 	* elflint.c: Likewise.
   2372 	* findtextrel.c: Likewise.
   2373 	* ld.c: Likewise.
   2374 	* nm.c: Likewise.
   2375 	* objdump.c: Likewise.
   2376 	* ranlib.c: Likewise.
   2377 	* readelf.c: Likewise.
   2378 	* size.c: Likewise.
   2379 	* strings.c: Likewise.
   2380 	* strip.c: Likewise.
   2381 	* unstrip.c: Likewise.
   2382 
   2383 2007-12-30  Ulrich Drepper  <drepper (a] redhat.com>
   2384 
   2385 	* objdump (show_disasm): Use %e after third parameter.
   2386 
   2387 2007-12-21  Ulrich Drepper  <drepper (a] redhat.com>
   2388 
   2389 	* strip.c: Fix wrong parenthesis in a few branch predictions.
   2390 	* strings.c: Likewise.
   2391 
   2392 2007-12-20  Ulrich Drepper  <drepper (a] redhat.com>
   2393 
   2394 	* Makefile.am (DEFS): Add DEBUGPRED.
   2395 	* addr2line.c: Include debugpred.h.
   2396 	* ar.c: Likewise.
   2397 	* elfcmp.c: Likewise.
   2398 	* elflint.c: Likewise.
   2399 	* findtextrel.c: Likewise.
   2400 	* nm.c: Likewise.
   2401 	* objdump.c: Likewise.
   2402 	* ranlib.c: Likewise.
   2403 	* readelf.c: Likewise.
   2404 	* size.c: Likewise.
   2405 	* strings.c: Likewise.
   2406 	* strip.c: Likewise.
   2407 	* unstrip.c: Likewise.
   2408 	* debugpred.h: New file.
   2409 
   2410 	* readelf.c (handle_relocs_rel): Use elf_scnshndx.
   2411 	(handle_relocs_rela): Likewise.
   2412 
   2413 	* readelf.c: Add lots of likely/unlikely.
   2414 
   2415 	* elflint.c: Minor cleanups.
   2416 
   2417 2007-11-19  Roland McGrath  <roland (a] redhat.com>
   2418 
   2419 	* readelf.c (print_ops): Handle all bad op codes gracefully.
   2420 	Print their numbers instead of just ???.
   2421 
   2422 2007-11-09  Roland McGrath  <roland (a] redhat.com>
   2423 
   2424 	* readelf.c (attr_callback): Handle DW_AT_data_location.
   2425 	Handle block forms to mean a DWARF expression for DW_AT_allocated,
   2426 	DW_AT_associated, DW_AT_bit_size, DW_AT_bit_offset, DW_AT_bit_stride,
   2427 	DW_AT_byte_size, DW_AT_byte_stride, DW_AT_count, DW_AT_lower_bound,
   2428 	DW_AT_upper_bound.
   2429 
   2430 2007-10-20  Roland McGrath  <roland (a] redhat.com>
   2431 
   2432 	* unstrip.c (options): Update -R description.
   2433 	(struct symbol): Put symbol details a union with a size_t pointer
   2434 	`duplicate'.
   2435 	(compare_symbols_output): Use null ->name as marker for discard
   2436 	symbols, not zero *->map.
   2437 	(copy_elided_sections): Record forwarding pointers for discarded
   2438 	duplicates and fill SYMNDX_MAP elements through them.
   2439 
   2440 	* readelf.c (process_file): Set offline_next_address to 0 at start.
   2441 	(struct process_dwflmod_args): New type.
   2442 	(process_dwflmod): Take args in it, pass fd to process_elf_file.
   2443 	(process_file): Update caller; dup FD for passing to libdwfl.
   2444 	(process_elf_file): Take new arg FD.  For ET_REL file when
   2445 	displaying data affected by libdwfl relocation, open a new Elf handle.
   2446 
   2447 2007-10-17  Roland McGrath  <roland (a] redhat.com>
   2448 
   2449 	* readelf.c (print_debug_line_section): For invalid data inside a
   2450 	unit with plausible length, keep printing at the next unit boundary.
   2451 
   2452 	* readelf.c (attr_callback): Use dwarf_formref_die, not dwarf_formref.
   2453 
   2454 2007-10-16  Roland McGrath  <roland (a] redhat.com>
   2455 
   2456 	* readelf.c (hex_dump): Fix rounding error in whitespace calculation.
   2457 
   2458 2007-10-15  Roland McGrath  <roland (a] redhat.com>
   2459 
   2460 	* make-debug-archive.in: New file.
   2461 	* Makefile.am (EXTRA_DIST): Add it.
   2462 	(make-debug-archive): New target.
   2463 	(bin_SCRIPTS, CLEANFILES): Add it.
   2464 
   2465 2007-10-10  Roland McGrath  <roland (a] redhat.com>
   2466 
   2467 	* elflint.c (special_sections): Add new attrflag value exact_or_gnuld.
   2468 	Use it to check MERGE|STRINGS for .debug_str.
   2469 	(check_sections): Handle exact_or_gnuld.
   2470 
   2471 2007-10-08  Roland McGrath  <roland (a] redhat.com>
   2472 
   2473 	* readelf.c (handle_core_item): Handle 'T'|0x80 to indicate
   2474 	64-bit struct timeval with 32-bit tv_usec.
   2475 
   2476 2007-10-07  Roland McGrath  <roland (a] redhat.com>
   2477 
   2478 	* readelf.c (check_archive_index): New function.
   2479 	(process_file): Call it.  Change signature to take only fd and name.
   2480 	Use libdwfl to open the file, then iterate on its modules (multiple
   2481 	for an archive) to print file name and call process_elf_file.
   2482 	(main): Update caller.  Let process_file do elf_begin.
   2483 	(count_dwflmod, process_dwflmod, find_no_debuginfo): New functions.
   2484 	(process_elf_file): Take only Dwfl_Module * argument.
   2485 	Don't print the file name here.
   2486 	(print_debug_*_section): Take Dwfl_Module * argument.
   2487 	(print_debug): Likewise.  Update caller.
   2488 	(format_dwarf_addr): New function.
   2489 	(print_debug_ranges_section): Use it.
   2490 	(attr_callback): Likewise.
   2491 	(print_debug_line_section, print_debug_loc_section): Likewise.
   2492 
   2493 	* readelf.c (print_debug_ranges_section): Translate all strings.
   2494 	(print_debug_loc_section): Likewise.
   2495 
   2496 	* unstrip.c (copy_elided_sections): Initialize SEC.
   2497 
   2498 	* ar.c (do_oper_insert): Put trailing / on short names.
   2499 
   2500 	* arlib.h (MAX_AR_NAME_LEN): Decrease by one.
   2501 
   2502 	* arlib2.c (arlib_add_long_name): Adjust for header size.
   2503 
   2504 	* arlib.c (arlib_finalize): Pad long name table to keep size even.
   2505 
   2506 	* ar.c (do_oper_insert): Use write_retry for padding write.
   2507 
   2508 	* ar.c (do_oper_insert): Initialize CUR_OFF in no_old case.
   2509 	Unconditionally set FOUND[CNT]->elf when setting ->mem.
   2510 	(remember_long_name): New function.
   2511 	(do_oper_insert): Call it.  Correctly use length of basename,
   2512 	not original name.  Don't store long name twice for new member.
   2513 
   2514 2007-10-06  Roland McGrath  <roland (a] redhat.com>
   2515 
   2516 	* elflint.c (check_note): Skip empty segment.
   2517 	(check_note_section): Skip empty section.
   2518 
   2519 	* unstrip.c (options, parse_opt, struct arg_info): Grok -R/--relocate.
   2520 	(handle_output_dir_module, handle_implicit_modules): Pass it down.
   2521 	(handle_dwfl_module): When set, use ET_REL already loaded by Dwfl.
   2522 	(compare_alloc_sections): Take new arg REL, ignore address if true.
   2523 	(compare_sections): Likewise, pass it down.
   2524 	(compare_sections_rel, compare_sections_nonrel): New functions.
   2525 	(find_alloc_sections_prelink, copy_elided_sections): Use them
   2526 	instead of compare_sections.
   2527 	(sections_match): New function, broken out of ...
   2528 	(find_alloc_section): ... here.
   2529 	(copy_elided_sections): Reorganize section match-up logic.
   2530 	Use sections_match for SHF_ALLOC in ET_REL.
   2531 	For ET_REL, let the nonzero sh_addr from the debug file dominate.
   2532 
   2533 	* unstrip.c (add_new_section_symbols): Take new arg REL.
   2534 	When true, do not update section symbol values.
   2535 	(collect_symbols): Likewise.  Update section symbols with address
   2536 	of chosen output section, not original section.
   2537 	(check_symtab_section_symbols, copy_elided_sections): Update callers.
   2538 
   2539 	* unstrip.c (compare_alloc_sections): At the same address, preserve
   2540 	original section order.
   2541 
   2542 	* elflint.c (special_sections): Don't require MERGE|STRINGS for
   2543 	.debug_str, it didn't always have them with older tools.
   2544 
   2545 	* elflint.c (check_symtab, check_one_reloc): Ignore sh_addr in ET_REL.
   2546 
   2547 2007-10-05  Roland McGrath  <roland (a] redhat.com>
   2548 
   2549 	* elflint.c (check_symtab): Allow SHN_UNDEF _GLOBAL_OFFSET_TABLE_ in
   2550 	ET_REL file.
   2551 
   2552 	* elflint.c (check_symtab): For _GLOBAL_OFFSET_TABLE_, diagnose
   2553 	SHN_UNDEF as "bad section".  Use shndx value in messages.
   2554 
   2555 	* elflint.c (special_sections): Add ".debug_str".  Decrement namelen
   2556 	for ".debug" so it matches as a prefix.
   2557 	(IS_KNOWN_SPECIAL): New macro.
   2558 	(check_sections): Use it for ".plt" match.  Cite wrong SHT_NOBITS
   2559 	type even under -d, for a .debug* or .shstrtab section.
   2560 
   2561 	* readelf.c (print_ops): Use hex for address operand.
   2562 
   2563 2007-10-04  Roland McGrath  <roland (a] redhat.com>
   2564 
   2565 	* unstrip.c (copy_elided_sections): Initialize NDX_SECTION element for
   2566 	.gnu_debuglink section to SHN_UNDEF.  Drop STT_SECTION symbols for
   2567 	sections mapped to SHN_UNDEF.
   2568 
   2569 2007-10-04  Ulrich Drepper  <drepper (a] redhat.com>
   2570 
   2571 	* readelf.c (dump_archive_index): Avoid warning about uninitialized
   2572 	variable with older glibc versions.
   2573 	Add some branch prediction.
   2574 
   2575 2007-10-04  Roland McGrath  <roland (a] redhat.com>
   2576 
   2577 	* readelf.c (print_archive_index): New variable.
   2578 	(options, parse_opt): Accept -c/--archive-index to set it.
   2579 	(dump_archive_index): New function.
   2580 	(process_file): Take new arg WILL_PRINT_ARCHIVE_INDEX.
   2581 	Call dump_archive_index on archives if set.
   2582 	(main): Update caller.
   2583 	(any_control_option): Give it file scope, moved out of ...
   2584 	(parse_opt): ... here.
   2585 
   2586 2007-10-03  Roland McGrath  <roland (a] redhat.com>
   2587 
   2588 	* unstrip.c (struct arg_info): Add `list' flag.
   2589 	(options, parse_opt): Grok -n/--list to set it.
   2590 	(list_module): New function.
   2591 	(handle_implicit_modules): Call it under -n.
   2592 
   2593 	* elflint.c (check_note_section): New function.
   2594 	(check_sections): Call it for SHT_NOTE.
   2595 
   2596 	* readelf.c (handle_notes): Use sections when available.
   2597 
   2598 	* elflint.c (check_note_data): New function, broken out of ...
   2599 	(check_note): ... here.  Call it and elf_getdata_rawchunk.
   2600 
   2601 	* readelf.c (handle_auxv_note): Take offset as argument, not buffer.
   2602 	Use elf_getdata_rawchunk and gelf_getauxv.
   2603 	(handle_notes_data): New function, broken out of ...
   2604 	(handle_notes): ... here.  Call it and elf_getdata_rawchunk.
   2605 
   2606 2007-10-01  Roland McGrath  <roland (a] redhat.com>
   2607 
   2608 	* readelf.c (hex_dump): Fix transposed subtraction generating spaces.
   2609 
   2610 	* readelf.c (hex_dump): Fix line header to be hex instead of decimal.
   2611 
   2612 2007-09-10  Roland McGrath  <roland (a] redhat.com>
   2613 
   2614 	* readelf.c (options): Give -p optional argument, alias --string-dump.
   2615 	(string_sections, string_sections_tail): New static variables.
   2616 	(parse_opt): Set them when -p has an argument.
   2617 	(print_string_section): New function, broken out of ...
   2618 	(print_strings): ... here.  Call it.
   2619 	(dump_data_section): New function, broken out of ...
   2620 	(dump_data): ... here.  Call it.
   2621 	(for_each_section_argument): New function, broken out of ...
   2622 	(dump_data): ... here.  Call it.
   2623 	(dump_strings): New function.
   2624 
   2625 2007-08-31  Roland McGrath  <roland (a] redhat.com>
   2626 
   2627 	* readelf.c (print_strings): Typo fix.
   2628 
   2629 2007-08-23  Roland McGrath  <roland (a] redhat.com>
   2630 
   2631 	* readelf.c (printf_with_wrap): Function removed.
   2632 	(REGISTER_WRAP_COLUMN): New macro.
   2633 	(handle_core_register): Use print_core_item instead.
   2634 	(struct register_info): New type.
   2635 	(compare_registers, compare_register_sets): New functions.
   2636 	(register_bitpos, compare_sets_by_info): New functions.
   2637 	(handle_core_registers): Use those to segregate and sort registers
   2638 	for display.
   2639 
   2640 	* readelf.c (ITEM_WRAP_COLUMN): New macro.
   2641 	(print_core_item): New function.
   2642 	(handle_core_item): Use it instead of printf_with_wrap.
   2643 	(compare_core_items, compare_core_item_groups): New functions.
   2644 	(handle_core_items): Use them.  Sort by group and force line breaks
   2645 	between groups.
   2646 
   2647 	* readelf.c (handle_core_registers, handle_core_items): New functions,
   2648 	broken out of ...
   2649 	(handle_core_note): ... here.   Call them.
   2650 
   2651 2007-08-22  Roland McGrath  <roland (a] redhat.com>
   2652 
   2653 	* unstrip.c (new_shstrtab): New function, broken out of ...
   2654 	(copy_elided_sections): ... here.
   2655 
   2656 2007-08-20  Roland McGrath  <roland (a] redhat.com>
   2657 
   2658 	Avoid local function trampolines in nm binary.
   2659 	* nm.c (sort_by_address): Move to a static function instead of local
   2660 	inside show_symbols.
   2661 	(sort_by_name_strtab): New static variable.
   2662 	(sort_by_name): Use it.  Move to a static function instead of local
   2663 	inside show_symbols.
   2664 	(show_symbols): Set sort_by_name_strtab.
   2665 
   2666 2007-08-19  Roland McGrath  <roland (a] redhat.com>
   2667 
   2668 	* readelf.c (handle_auxv_note): New function.
   2669 	(handle_notes): Call it.
   2670 
   2671 	* readelf.c (printf_with_wrap, convert): New functions.
   2672 	(handle_core_item, (handle_core_register): New functions.
   2673 	(handle_notes): Call those with details from ebl_core_note.
   2674 
   2675 2007-08-12  Roland McGrath  <roland (a] redhat.com>
   2676 
   2677 	* elflint.c (check_note): Accept type 0 with name "Linux".
   2678 
   2679 	* elflint.c (special_sections): Accept SHF_ALLOC for ".note".
   2680 
   2681 	* elflint.c (section_flags_string): Return "none" for 0, not "".
   2682 
   2683 2007-08-11  Roland McGrath  <roland (a] redhat.com>
   2684 
   2685 	* elflint.c (check_note): Accept NT_GNU_HWCAP, NT_GNU_BUILD_ID.
   2686 
   2687 2007-08-04  Ulrich Drepper  <drepper (a] redhat.com>
   2688 
   2689 	* readelf.c (hex_dump): Use isprint to determine whether to print
   2690 	character itself or full stop character.
   2691 	(dump_data): No need to check endp for NULL after strtol call.
   2692 
   2693 2007-08-03  Roland McGrath  <roland (a] redhat.com>
   2694 
   2695 	* readelf.c (print_string_sections): New variable.
   2696 	(options, parse_opt): Handle --strings/-p to set it.
   2697 	(print_strings): New function.
   2698 	(process_elf_file): Call it under -p.
   2699 
   2700 	* readelf.c (options): Add hidden aliases --segments, --sections,
   2701 	as taken by binutils readelf.
   2702 
   2703 2007-08-01  Roland McGrath  <roland (a] redhat.com>
   2704 
   2705 	* readelf.c (dump_data_sections, dump_data_sections_tail):
   2706 	New variables.
   2707 	(options, parse_opt): Handle --hex-dump/-x, set them.
   2708 	(hex_dump): New function.
   2709 	(dump_data): New function, call it.
   2710 	(process_elf_file): Call it.
   2711 
   2712 2007-07-25  Roland McGrath  <roland (a] redhat.com>
   2713 
   2714 	* addr2line.c (show_symbols): New variable.
   2715 	(print_addrsym): New function.
   2716 	(handle_address): Call it.
   2717 	(options, parse_opt): Handle -S/--symbols.
   2718 
   2719 2007-06-05  Ulrich Drepper  <drepper (a] redhat.com>
   2720 
   2721 	* addr2line.c: Update for latest autoconf header.
   2722 	* ar.c: Likewise.
   2723 	* elfcmp.c: Likewise.
   2724 	* elflint.c: Likewise.
   2725 	* findtextrel.c: Likewise.
   2726 	* ld.c: Likewise.
   2727 	* ldgeneric.c: Likewise.
   2728 	* nm.c: Likewise.
   2729 	* objdump.c: Likewise.
   2730 	* ranlib.c: Likewise.
   2731 	* readelf.c: Likewise.
   2732 	* size.c: Likewise.
   2733 	* strings.c: Likewise.
   2734 	* strip.c: Likewise.
   2735 	* unstrip.c: Likewise.
   2736 
   2737 2007-05-18  Roland McGrath  <roland (a] redhat.com>
   2738 
   2739 	* unstrip.c (copy_elided_sections): Match up non-NOBITS sections with
   2740 	stripped file, so as not to duplicate a section copied in both.
   2741 
   2742 	* strip.c (handle_elf): Keep SHT_NOTE section copies in the debug file.
   2743 
   2744 2007-05-17  Roland McGrath  <roland (a] redhat.com>
   2745 
   2746 	* unstrip.c (copy_elided_sections): Don't call gelf_newphdr for 0.
   2747 
   2748 	* unstrip.c (handle_file): Tweak BIAS != 0 warning.
   2749 
   2750 	* unstrip.c (handle_file): Take new arg CREATE_DIRS.  If set,
   2751 	call make_directories here.
   2752 	(handle_explicit_files): Take new arg CREATE_DIRS, pass it down.
   2753 	(handle_dwfl_module): Likewise.
   2754 	(handle_implicit_modules): Update callers.
   2755 	(handle_output_dir_module): Likewise.  Don't do make_directories here.
   2756 
   2757 	* unstrip.c (get_section_name): New function, broken out of ...
   2758 	(copy_elided_sections): here.  Update callers.
   2759 	(find_alloc_section): Broken out of ...
   2760 	(copy_elided_sections): ... here.  Update caller.
   2761 	(symtab_count_leading_section_symbols): Take new arg NEWSYMDATA,
   2762 	update STT_SECTION symbols' st_value fields as a side effect.
   2763 	(check_symtab_section_symbols): Update caller.
   2764 	(add_new_section_symbols): Set st_value in symbols added.
   2765 	(collect_symbols): Reset S->value for STT_SECTION symbols recorded.
   2766 	Take new arg SPLIT_BSS.  Adjust S->shndx recorded for symbols moved
   2767 	from .bss to .dynbss.
   2768 	(find_alloc_sections_prelink): New function.  Associate debug file
   2769 	allocated SHT_NOBITS shdrs with stripped moved by prelink via
   2770 	.gnu.prelink_undo information.
   2771 	(copy_elided_sections): Call it when we couldn't find every allocated
   2772 	section.  Don't use a debug file non-NOBITS section if SHF_ALLOC.
   2773 	Take STRIPPED_EHDR arg instead of E_TYPE and PHNUM.
   2774 	(handle_file): Update callers.
   2775 
   2776 	* unstrip.c (copy_elided_sections): Ignore unfound unallocated section
   2777 	named ".comment".
   2778 
   2779 	* elflint.c (check_sections): Fix association of segments with
   2780 	sections when p_memsz > p_filesz.
   2781 
   2782 2007-04-29  Roland McGrath  <roland (a] redhat.com>
   2783 
   2784 	* addr2line.c (options, main): Tweak argp group settings to fix
   2785 	usage output.
   2786 
   2787 2007-04-28  Roland McGrath  <roland (a] redhat.com>
   2788 
   2789 	* strip.c (handle_elf): Update debug file's SHT_NOBITS sections'
   2790 	sizes to match sections adjusted in the stripped file.
   2791 
   2792 2007-04-24  Roland McGrath  <roland (a] redhat.com>
   2793 
   2794 	* elfcmp.c (OPT_HASH_INEXACT): New macro.
   2795 	(hash_inexact): New variable.
   2796 	(options, parse_opt): Add --hash-inexact option to set it.
   2797 	(hash_content_equivalent): New function.
   2798 	(main): Call it for differing SHT_HASH sections under --hash-inexact.
   2799 
   2800 2007-04-23  Roland McGrath  <roland (a] redhat.com>
   2801 
   2802 	* unstrip.c: New file.
   2803 	* Makefile.am (bin_PROGRAMS): Add it.
   2804 	(unstrip_LDADD): New variable.
   2805 
   2806 	* strip.c (options): Allow --output for -o.
   2807 
   2808 2007-02-15  Ulrich Drepper  <drepper (a] redhat.com>
   2809 
   2810 	* readelf.c: Remove unused code.  Add a few consts.
   2811 
   2812 2007-02-15  Roland McGrath  <roland (a] redhat.com>
   2813 
   2814 	* readelf.c (print_debug): Fix brainos in SHDR test.
   2815 
   2816 2007-02-05  Roland McGrath  <roland (a] redhat.com>
   2817 
   2818 	* ar.c: Include <limits.h>, since we use LONG_MAX.
   2819 
   2820 2007-02-05  Ulrich Drepper  <drepper (a] redhat.com>
   2821 
   2822 	* ar.c: Add ugly hack to work around gcc complaining that we
   2823 	ignore fchown's return value.
   2824 	(do_oper_insert): Handle error when writing padding.
   2825 	* ranlib.c: Add fchown complain work around.
   2826 
   2827 	* arlib.c: Make symtab a global variable.  Change all users.
   2828 	* arlib2.c: Likewise.
   2829 	* ranlib.c: Likewise.
   2830 	* ar.c: Likewise.
   2831 	* arlib.h: Declare it.
   2832 
   2833 2007-01-11  Roland McGrath  <roland (a] redhat.com>
   2834 
   2835 	* elflint.c (check_sections): Use ebl_machine_section_flag_check on
   2836 	SHF_MASKPROC bits separately from generic sh_flags validation.
   2837 
   2838 2007-02-04  Ulrich Drepper  <drepper (a] redhat.com>
   2839 
   2840 	* ar.c: New file.
   2841 	* arlib.c: New file.
   2842 	* arlib2.c: New file.
   2843 	* arlib.h: New file.
   2844 	* Makefile (noinst_LIBRARIES): Add libar.
   2845 	(libar_a_SOURCES): Define.
   2846 	(ar_LDADD): Define.
   2847 	(CFLAGS_ar): Define.
   2848 	* ranlib.c: Change to use arlib.
   2849 
   2850 	* elflint.c (check_symtab): Work around GNU ld bug which omits
   2851 	sections but not symbols in those sections.
   2852 
   2853 2007-01-10  Ulrich Drepper  <drepper (a] redhat.com>
   2854 
   2855 	* addr2line.c: Update copyright year.
   2856 	* elfcmp.c: Likewise.
   2857 	* elflint.c: Likewise.
   2858 	* findtextrel.c: Likewise.
   2859 	* ld.c: Likewise.
   2860 	* nm.c: Likewise.
   2861 	* objdump.c: Likewise.
   2862 	* ranlib.c:  Likewise.
   2863 	* readelf.c: Likewise.
   2864 	* size.c: Likewise.
   2865 	* strings.c: Likewise.
   2866 	* strip.c: Likewise.
   2867 
   2868 2006-12-09  Ulrich Drepper  <drepper (a] redhat.com>
   2869 
   2870 	* elflint.c (compare_hash_gnu_hash): New function.  Report if the
   2871 	two hash tables have different content (module expected omission
   2872 	of undefined symbols).
   2873 
   2874 2006-10-31  Roland McGrath  <roland (a] redhat.com>
   2875 
   2876 	* elflint.c (check_program_header): Don't complain about
   2877 	p_filesz > p_memsz if p_memsz is zero and p_type is PT_NOTE.
   2878 
   2879 2006-09-19  Jakub Jelinek  <jakub (a] redhat.com>
   2880 
   2881 	* strip.c (process_file): Disallow -f on archives.
   2882 
   2883 2006-10-09  Roland McGrath  <roland (a] redhat.com>
   2884 
   2885 	* Makefile.am (libld_elf_i386.so): Use $(LINK), not $(CC).
   2886 
   2887 2006-08-29  Roland McGrath  <roland (a] redhat.com>
   2888 
   2889 	* Makefile.am (MAINTAINERCLEANFILES): New variable.
   2890 
   2891 	* readelf.c (handle_relocs_rel): Typo fix, test DESTSHDR properly.
   2892 	Reported by Christian Aichinger <Greek0 (a] gmx.net>.
   2893 
   2894 	* elflint.c (valid_e_machine): Add EM_ALPHA.
   2895 	Reported by Christian Aichinger <Greek0 (a] gmx.net>.
   2896 
   2897 2006-08-08  Ulrich Drepper  <drepper (a] redhat.com>
   2898 
   2899 	* elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
   2900 	Keep track of which "high DT" entries are present.
   2901 	Check that either old or GNU-style hash table is present.
   2902 	If GNU-style hash table is used a symbol table is mandatory.
   2903 	Check that if any prelink entry is present all of them are.
   2904 	(check_gnu_hash): Only fail for undefined symbols in GNU-style hash
   2905 	table if they don't refer to functions.
   2906 
   2907 2006-07-17  Roland McGrath  <roland (a] redhat.com>
   2908 
   2909 	* elflint.c (struct version_namelist): Use GElf_Versym for `ndx' field.
   2910 	(add_version): Likewise for argument.
   2911 	(check_versym): Cast constant to GElf_Versym for comparison.
   2912 
   2913 2006-07-12  Roland McGrath  <roland (a] redhat.com>
   2914 
   2915 	* readelf.c (handle_gnu_hash): Add casts for machines where
   2916 	Elf32_Word != unsigned int.
   2917 
   2918 2006-07-12  Ulrich Drepper  <drepper (a] redhat.com>
   2919 
   2920 	* elflint.c (check_sysv_hash64): Fix printf format.
   2921 
   2922 2006-07-11  Roland McGrath  <roland (a] redhat.com>
   2923 
   2924 	* addr2line.c (options): English fix in -f doc string.
   2925 
   2926 	* addr2line.c (use_comp_dir): New variable.
   2927 	(options, parse_opt): Grok -A/--absolute to set it.
   2928 	(handle_address): If set, prepend dwfl_line_comp_dir results to
   2929 	relative file names.
   2930 
   2931 2006-07-06  Ulrich Drepper  <drepper (a] redhat.com>
   2932 
   2933 	* elflint.c: Adjust for latest new hash table format.
   2934 	* readelf.c: Likewise.
   2935 
   2936 	* elflint.c (check_versym): Ignore hidden bit when comparing version
   2937 	numbers.
   2938 
   2939 2006-07-05  Ulrich Drepper  <drepper (a] redhat.com>
   2940 
   2941 	* ldgeneric.c (ld_generic_create_outfile): Correctly recognize
   2942 	discarded COMDAT symbols.
   2943 
   2944 	* i386_ld.c (elf_i386_count_relocations): Lot of corrections.
   2945 	(elf_i386_create_relocations): Likewise.
   2946 	* ld.h (struct symbol): Add local and hidden bits.
   2947 	* ld.c (create_special_section_symbol): These synthsized symbols
   2948 	are local and hidden.
   2949 	* ldgeneric.c (file_process2): Check whether input file matches
   2950 	the emulation.
   2951 	(fillin_special_symbol): Create symbols as local and/or hidden
   2952 	if requested.
   2953 	(ld_generic_create_outfile): Make local copy of symbol.
   2954 	Don't hide global, defined symbols in dynamic symbol table unless
   2955 	requested.  Synthetic symbols have no version information.
   2956 
   2957 	* elflint.c: Add support for checking 64-bit SysV-style hash tables.
   2958 	* readelf.c: Add support for printing 64-bit SysV-style hash tables.
   2959 
   2960 2006-07-04  Ulrich Drepper  <drepper (a] redhat.com>
   2961 
   2962 	* elflint.c (is_rel_dyn): Fix and extend DT_RELCOUNT/DT_RELACOUNT
   2963 	testing.
   2964 
   2965 2006-07-03  Ulrich Drepper  <drepper (a] redhat.com>
   2966 
   2967 	* elflint.c: Add testing of DT_GNU_HASH.
   2968 	* readelf.c: Implement showing histogram for DT_GNU_HASH section.
   2969 
   2970 	* Makefile.am: Add hacks to create dependency files for non-generic
   2971 	linker.
   2972 
   2973 2006-06-12  Ulrich Drepper  <drepper (a] redhat.com>
   2974 
   2975 	* ldgeneric.c (ld_generic_generate_sections): Don't create .interp
   2976 	section if creating a DSO and no interpreter is given.
   2977 	(ld_generic_create_outfile): Don't store reference to symbols in
   2978 	discarded COMDAT groups.  Don't create PHDR and INTERP program header
   2979 	for DSO if no interpreter is specified.
   2980 	(create_verneed_data): Pretty printing.
   2981 
   2982 	* ldscript.y (content): If a DSO is created don't set default
   2983 	interpreter from linker script.
   2984 
   2985 	* i386_ld.c (elf_i386_count_relocations): Do not add relocations
   2986 	for symbols in discarded COMDAT groups.
   2987 	(elf_i386_create_relocations): Likewise.
   2988 	* ld.h (struct scninfo): Add unused_comdat.
   2989 	* ldgeneric.c (add_section): Also check group signature when
   2990 	matching COMDAT sections.
   2991 	(add_relocatable_file): Ignore symbols in COMDAT group which are
   2992 	discarded.
   2993 
   2994 	* elflint.c (check_one_reloc): For *_NONE relocs only check type
   2995 	and symbol reference.
   2996 
   2997 2006-06-11  Ulrich Drepper  <drepper (a] redhat.com>
   2998 
   2999 	* elflint.c (check_dynamic): Fix checking value of tags which are
   3000 	offsets in the string section.  Make sure DT_STRTAB points to the
   3001 	section referenced in sh_link.
   3002 
   3003 	* ld.c (options): Add headers.  Add short option 'R' for '--rpath'.
   3004 
   3005 	* ld.c: Recognize --eh-frame-hdr option.
   3006 	* ld.h (struct ld_state): Add eh_frame_hdr field.
   3007 	* ldgeneric.c (struct unw_eh_frame_hdr): Define.
   3008 
   3009 	* ldgeneric.c (add_section): Use ebl_sh_flags_combine instead of
   3010 	SH_FLAGS_COMBINE.
   3011 	(add_relocatable_file): Minor optimization of last change.
   3012 	(match_section): Don't preserve SHF_GROUP flag any longer.
   3013 
   3014 2006-06-10  Ulrich Drepper  <drepper (a] redhat.com>
   3015 
   3016 	* ld.c (parse_z_option): Recognize execstack and noexecstack.
   3017 	Handle record and ignore as position dependent options.
   3018 	(parse_z_option_2): Handle ignore and record here.
   3019 	* ld.h (struct ld_state): Add execstack field.
   3020 	* ldgeneric.c (add_relocatable_file): Recognize .note.GNU-stack
   3021 	sections.
   3022 	(ld_generic_create_outfile): Fix program header creation in native
   3023 	linker.  Add PT_GNU_STACK program header.
   3024 
   3025 2006-06-09  Ulrich Drepper  <drepper (a] redhat.com>
   3026 
   3027 	* i386_ld.c (elf_i386_finalize_plt): Don't change symbol table entries
   3028 	for PLT entries if there is no local definition.
   3029 
   3030 	* ld.c (parse_option): Handle -z ignore like --as-needed and
   3031 	-z record like --no-as-needed.
   3032 	* ld.h (struct ld_state): Remove ignore_unused_dsos field.
   3033 	* ldgeneric.c (new_generated_scn): Always compute ndt_needed by
   3034 	looping over DSOs.  When deciding about adding DT_NEEDED entries
   3035 	use ->as_needed instead of ignore_unused_dsos.
   3036 
   3037 2006-05-31  Ulrich Drepper  <drepper (a] redhat.com>
   3038 
   3039 	* ld.c: Recognize --as-needed and --no-as-needed options.
   3040 	* ld.h (struct usedfile): Add as_needed field.
   3041 	(struct ld_state): Likewise.
   3042 	* ldgeneric.c (ld_handle_filename_list): Copy as_needed flag from
   3043 	the list.
   3044 	* ldscript.y (filename_id_list): Split to correctly parse all
   3045 	combinations.
   3046 	(mark_as_needed): Fix loop.
   3047 
   3048 2006-05-28  Ulrich Drepper  <drepper (a] redhat.com>
   3049 
   3050 	* addr2line.c (print_dwarf_function): Use unsigned type for lineno
   3051 	and colno.
   3052 
   3053 2006-05-27  Ulrich Drepper  <drepper (a] redhat.com>
   3054 
   3055 	* readelf.c (handle_relocs_rela): Better notations for addon value.
   3056 	(print_ehdr): Distinguish e_ident[EI_VERSION] from e_version.
   3057 
   3058 2006-04-04  Ulrich Drepper  <drepper (a] redhat.com>
   3059 
   3060 	* addr2line.c: Update copyright year.
   3061 	* elfcmp.c: Likewise.
   3062 	* elflint.c: Likewise.
   3063 	* findtextrel.c: Likewise.
   3064 	* ld.c: Likewise.
   3065 	* nm.c: Likewise.
   3066 	* objdump.c: Likewise.
   3067 	* ranlib.c: Likewise.
   3068 	* readelf.c: Likewise.
   3069 	* size.c: Likewise.
   3070 	* strings.c: Likewise.
   3071 	* strip.c: Likewise.
   3072 
   3073 2006-03-09  Roland McGrath  <roland (a] redhat.com>
   3074 
   3075 	* Makefile.am (AM_LDFLAGS): New variable.
   3076 
   3077 2006-03-01  Roland McGrath  <roland (a] redhat.com>
   3078 
   3079 	* readelf.c (dwarf_tag_string, dwarf_attr_string): Update name tables
   3080 	for dwarf.h changes matching 3.0 spec.
   3081 	(dwarf_encoding_string, dwarf_lang_string, print_ops): Likewise.
   3082 
   3083 2005-12-04  Ulrich Drepper  <drepper (a] redhat.com>
   3084 
   3085 	* elflint.c (check_one_reloc): If relocation section is not loaded,
   3086 	don't check whether the relocations modify read-only sections or
   3087 	loaded and unloaded sections.
   3088 
   3089 2005-11-28  Ulrich Drepper  <drepper (a] redhat.com>
   3090 
   3091 	* elflint.c (check_one_reloc): Take additional parameters.  Use
   3092 	them to determine whether relocation is valid in this type of
   3093 	file.  DSOs and executables can contain relocation sections in
   3094 	unloaded sections which just show the relocations the linker
   3095 	applied.  Adjust all callers.
   3096 	(check_program_header): Check that PT_PHDR is loaded and that offset
   3097 	matches the one in the ELF header.
   3098 
   3099 2005-10-26  Roland McGrath  <roland (a] redhat.com>
   3100 
   3101 	* nm.c (get_var_range): dwarf_getloclist -> dwarf_getlocation.
   3102 
   3103 2005-09-03  Ulrich Drepper  <drepper (a] redhat.com>
   3104 
   3105 	* strip.c (handle_elf): Unify some error messages.
   3106 	* ld.c (main): Likewise.
   3107 	* ldgeneric.c (open_elf): Likewise.
   3108 	* elfcmp.c (main): Likewise.
   3109 	* elflint.c (check_elf_header): Likewise.
   3110 
   3111 	* size.c (process_file): Fix typo in error message.
   3112 
   3113 	* readelf.c: Lots of little cleanups.  Use _unlocked functions.
   3114 
   3115 2005-09-02  Ulrich Drepper  <drepper (a] redhat.com>
   3116 
   3117 	* strings.c (main): Reset elfmap variable after munmap call.
   3118 	[_MUDFLAP] (map_file): Simplify mudflap debugging by not using mmap.
   3119 
   3120 2005-08-28  Ulrich Drepper  <drepper (a] redhat.com>
   3121 
   3122 	* ranlib.c: Don't define pread_retry and write_retry here.
   3123 
   3124 	* Makefile.an [BUILD_STATIC] (libdw): Add -ldl.
   3125 	(CLEANFILES): Add *.gcno *.gcda *.gconv.
   3126 
   3127 	* strings.c (process_chunk): Reorder expressions in conditional
   3128 	(process_chunk_mb): Likewise.
   3129 
   3130 	* strings.c: New file.
   3131 	* Makefile.am (bin_PROGRAMS): Add strings.
   3132 	(strings_no_Wstring): Define.
   3133 	(strings_LDADD): Define.
   3134 
   3135 2005-08-27  Roland McGrath  <roland (a] redhat.com>
   3136 
   3137 	* addr2line.c (dwarf_diename_integrate): Function removed.
   3138 	(print_dwarf_function): Use plain dwarf_diename.
   3139 
   3140 2005-08-24  Ulrich Drepper  <drepper (a] redhat.com>
   3141 
   3142 	* elflint.c (check_versym): Versioned symbols should not have
   3143 	local binding.
   3144 
   3145 2005-08-15  Ulrich Drepper  <drepper (a] redhat.com>
   3146 
   3147 	* elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
   3148 	undefined.
   3149 
   3150 	* Makefile.am: Add rules to build ranlib.
   3151 	* ranlib.c: New file.
   3152 
   3153 2005-08-14  Roland McGrath  <roland (a] redhat.com>
   3154 
   3155 	* elflint.c (check_sections): Use ebl_section_type_name and allow any
   3156 	sh_type it recognizes.
   3157 
   3158 	* elflint.c (check_sections): Print unknown flags in hex, don't
   3159 	truncate high bits.  Print section number and name for unknown type.
   3160 
   3161 2005-08-13  Roland McGrath  <roland (a] redhat.com>
   3162 
   3163 	* elflint.c (check_program_header): Use ebl_segment_type_name and
   3164 	allow any p_type it recognizes.  Include p_type value in error
   3165 	message for unknown type.
   3166 
   3167 2005-08-13  Ulrich Drepper  <drepper (a] redhat.com>
   3168 
   3169 	* elflint.c (check_symtab): Simplify last change a bit.  Pass ehdr
   3170 	to ebl_check_special_symbol.
   3171 	(check_sections): Pass ehdr to ebl_bss_plt_p.
   3172 
   3173 2005-08-12  Roland McGrath  <roland (a] redhat.com>
   3174 
   3175 	* elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx
   3176 	refers to the right section if it's not SHN_ABS.
   3177 	Let ebl_check_special_symbol override _G_O_T_ value and size checks.
   3178 
   3179 	* elflint.c (check_sections): Don't complain about a non-NOBITS
   3180 	section taking no segment space, if it's sh_size is 0.
   3181 
   3182 	* elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should
   3183 	be PROGBITS or NOBITS.
   3184 
   3185 	* elflint.c (check_symtab): Use ebl_check_special_symbol to override
   3186 	standard st_value and st_size checks.
   3187 
   3188 2005-07-28  Roland McGrath  <roland (a] redhat.com>
   3189 
   3190 	* addr2line.c (options, parse_opt): Don't handle -e here.
   3191 	(executable): Variable removed.
   3192 	(argp_children): New static variable.
   3193 	(argp): Use it.  Make const.
   3194 	(main): Fill in argp_children from dwfl_standard_argp ().
   3195 	Let libdwfl handle file selection, pass Dwfl handle to handle_address.
   3196 	(print_dwarf_function): New function.  Try to figure out inline chain.
   3197 	(elf_getname): Function removed, libdwfl does it for us.
   3198 	(handle_address): Take Dwfl handle instead of Elf, Dwarf handles.
   3199 	Use dwfl_module_addrname instead of elf_getname.
   3200 	Use dwfl_module_getsrc and dwfl_lineinfo instead of libdw calls.
   3201 	* Makefile.am (INCLUDES): Add libdwfl directory to path.
   3202 
   3203 2005-08-10  Ulrich Drepper  <drepper (a] redhat.com>
   3204 
   3205 	* strip.c (parse_opt): STATE parameter is now used.
   3206 	Various little cleanups.
   3207 
   3208 	* readelf.c (print_debug_line_section): Correct fallout of renaming
   3209 	of DW_LNS_set_epilog_begin.
   3210 
   3211 2005-08-08  Roland McGrath  <roland (a] redhat.com>
   3212 
   3213 	* strip.c (options, parse_opt): Grok -R .comment for compatibility
   3214 	with binutils strip.  Likewise -d, -S, as aliases for -g.
   3215 	Likewise ignore -s/--strip-all.
   3216 
   3217 2005-08-07  Roland McGrath  <roland (a] redhat.com>
   3218 
   3219 	* strip.c (process_file): Open read-only when using a different output
   3220 	file.
   3221 
   3222 2005-08-06  Ulrich Drepper  <drepper (a] redhat.com>
   3223 
   3224 	* elflint.c (in_nobits_scn): New function.
   3225 	(check_versym): Allow references for defined symbols against versions
   3226 	of other DSOs also for symbols in nobits sections.
   3227 	Move a few variables around.
   3228 
   3229 	* Makefile.am (AM_CFLAGS): Avoid duplication.
   3230 	Link with statis libs if BUILD_STATIC.
   3231 
   3232 2005-08-05  Ulrich Drepper  <drepper (a] redhat.com>
   3233 
   3234 	* elflint.c: Many, many more tests.  Mostly related to symbol
   3235 	versioning.  Those sections should now be completely checked.
   3236 
   3237 	* readelf.c (print_dynamic): Use gelf_offscn.
   3238 
   3239 2005-08-04  Ulrich Drepper  <drepper (a] redhat.com>
   3240 
   3241 	* elflint.c: Add lots more tests: more extension symbol table sanity,
   3242 	versioning section tests, hash table tests.  General cleanup.
   3243 
   3244 2005-08-02  Ulrich Drepper  <drepper (a] redhat.com>
   3245 
   3246 	* objdump.c: New file.
   3247 	* Makefile.am (bin_PROGRAMS): Add objdump.
   3248 	(objdump_LDADD): Define.
   3249 
   3250 	* elflint.c (check_reloc_shdr): New function split out from check_rela
   3251 	and check_rel.
   3252 	(check_one_reloc): New function.  Likewise.
   3253 	(check_rela): Use check_reloc_shdr and check_one_reloc.
   3254 	(check_rel): Likewise.
   3255 	(check_program_header): Check that PT_DYNAMIC entry matches .dynamic
   3256 	section.
   3257 	Add checks that relocations against read-only segments are flagged,
   3258 	that the text relocation flag is not set unnecessarily, and that
   3259 	relocations in one section are either against loaded or not-loaded
   3260 	segments.
   3261 
   3262 2005-08-01  Ulrich Drepper  <drepper (a] redhat.com>
   3263 
   3264 	* elfcmp.c (main): Ignore section count and section name string table
   3265 	section index.
   3266 
   3267 2005-07-27  Roland McGrath  <roland (a] redhat.com>
   3268 
   3269 	* elfcmp.c: Include <locale.h>.
   3270 
   3271 2005-07-27  Ulrich Drepper  <drepper (a] redhat.com>
   3272 
   3273 	* elfcmp.c: Print name and index of differing section.
   3274 
   3275 2005-07-24  Ulrich Drepper  <drepper (a] redhat.com>
   3276 
   3277 	* elfcmp.c: Implement comparing gaps between sections.
   3278 
   3279 2005-07-23  Ulrich Drepper  <drepper (a] redhat.com>
   3280 
   3281 	* elflint.c: Include libeblP.h instead of libebl.h.
   3282 	* nm.c: Likewise.
   3283 	* readelf.c: Likewise.
   3284 	* elfcmp.c: Likewise.
   3285 
   3286 	* elfcmp.c (main): Compare individual ELF header fields, excluding
   3287 	e_shoff instead of the whole struct at once.
   3288 	Use ebl_section_strip_p instead of SECTION_STRIP_P.
   3289 	* strip.c: Use ebl_section_strip_p instead of SECTION_STRIP_P.
   3290 
   3291 2005-07-22  Ulrich Drepper  <drepper (a] redhat.com>
   3292 
   3293 	* elfcmp.c (main): Take empty section into account when comparing
   3294 	section content.
   3295 
   3296 	* elflint.c (check_dynamic): Check that d_tag value is >= 0 before
   3297 	using it.
   3298 
   3299 2005-07-21  Ulrich Drepper  <drepper (a] redhat.com>
   3300 
   3301 	* elfcmp.c: New file.
   3302 	* Makefile.am (bin_PROGRAMS): Add elfcmp.
   3303 	(elfcmp_LDADD): Define.
   3304 
   3305 	* elflint.c (check_rela): Check that copy relocations only reference
   3306 	object symbols or symbols with unknown type.
   3307 	(check_rel): Likewise.
   3308 
   3309 2005-06-08  Roland McGrath  <roland (a] redhat.com>
   3310 
   3311 	* readelf.c (print_ops): Add consts.
   3312 
   3313 2005-05-31  Roland McGrath  <roland (a] redhat.com>
   3314 
   3315 	* readelf.c (print_debug_abbrev_section): Don't bail after first CU's
   3316 	abbreviations.  Print a header line before each CU section.
   3317 
   3318 	* readelf.c (print_debug_loc_section): Fix indentation for larger
   3319 	address size.
   3320 
   3321 2005-05-30  Roland McGrath  <roland (a] redhat.com>
   3322 
   3323 	* readelf.c (print_debug_line_section): Print section offset of each
   3324 	CU's table, so they are easy to find from seeing the stmt_list value.
   3325 
   3326 	* readelf.c (dwarf_attr_string): Add all attributes in <dwarf.h>.
   3327 	(attr_callback): Grok DW_AT_ranges and print offset in hex.
   3328 
   3329 	* readelf.c (attr_callback): Add 2 to addrsize * 2 for %#0* format.
   3330 	(print_debug_ranges_section, print_debug_loc_section): Likewise.
   3331 
   3332 	* readelf.c (print_ops): Take different args for indentation control.
   3333 	(attr_callback): Caller updated.
   3334 	Grok several more block-form attributes as being location expressions.
   3335 	For those same attributes with udata forms, format output differently
   3336 	for location list offset.
   3337 	(print_debug_loc_section): Implement it for real.
   3338 
   3339 	* readelf.c (options): Mention ranges for --debug-dump.
   3340 	(enum section_e): Add section_ranges.
   3341 	(parse_opt): Grok "ranges" for -w/--debug-dump.
   3342 	(print_debug_ranges_section): New function.
   3343 	(print_debug): Handle .debug_ranges section.
   3344 
   3345 2005-05-30  Ulrich Drepper  <drepper (a] redhat.com>
   3346 
   3347 	* readelf.c (handle_notes): At least x86-64 need not have the note
   3348 	section values aligned to 8 bytes.
   3349 
   3350 2005-05-18  Ulrich Drepper  <drepper (a] redhat.com>
   3351 
   3352 	* readelf.c (dwarf_tag_string): Add new tags.
   3353 
   3354 2005-05-08  Roland McGrath  <roland (a] redhat.com>
   3355 
   3356 	* strip.c (handle_elf): Don't translate hash and versym data formats,
   3357 	elf_getdata already did it for us.
   3358 
   3359 2005-05-07  Ulrich Drepper  <drepper (a] redhat.com>
   3360 
   3361 	* Makefile.am (findtextrel_LDADD): Add $(libmudflap).
   3362 	(addr2line_LDADD): Likewise.
   3363 
   3364 2005-05-03  Roland McGrath  <roland (a] redhat.com>
   3365 
   3366 	* strip.c (handle_elf): Apply symbol table fixups to discarded
   3367 	relocation sections when they are being saved in the debug file.
   3368 
   3369 	* strip.c (handle_elf): Pass EHDR->e_ident[EI_DATA] to gelf_xlatetom
   3370 	and gelf_xlatetof, not the native byte order.
   3371 
   3372 	* strip.c (parse_opt): Give error if -f or -o is repeated.
   3373 	(main): Exit if argp_parse returns nonzero.
   3374 
   3375 	* strip.c (debug_fname_embed): New variable.
   3376 	(options, parse_opt): New option -F to set it.
   3377 
   3378 2005-05-07  Ulrich Drepper  <drepper (a] redhat.com>
   3379 
   3380 	* readelf.c (parse_opt): Make any_control_option variable
   3381 	local.  Simplify some tests.
   3382 
   3383 2005-05-03  Roland McGrath  <roland (a] redhat.com>
   3384 
   3385 	* strip.c (crc32_file): Function removed (now in ../lib).
   3386 
   3387 2005-05-03  Roland McGrath  <roland (a] redhat.com>
   3388 
   3389 	* elflint.c (is_debuginfo): New variable.
   3390 	(options, parse_opt): New option --debuginfo/-d to set it.
   3391 	(check_sections): If is_debuginfo, don't complain about SHT_NOBITS.
   3392 	(check_note): If is_debuginfo, don't try to get note contents.
   3393 
   3394 2005-04-24  Ulrich Drepper  <drepper (a] redhat.com>
   3395 
   3396 	* readelf.c (print_debug_abbrev_section): Don't print error when end of
   3397 	section reached.
   3398 
   3399 2005-04-14  Ulrich Drepper  <drepper (a] redhat.com>
   3400 
   3401 	* readelf.c (dwarf_encoding_string): New function.
   3402 	(dwarf_inline_string): New function.
   3403 	(dwarf_access_string): New function.
   3404 	(dwarf_visibility_string): New function.
   3405 	(dwarf_virtuality_string): New function.
   3406 	(dwarf_identifier_case_string): New function.
   3407 	(dwarf_calling_convention_string): New function.
   3408 	(dwarf_ordering_string): New function.
   3409 	(dwarf_discr_list_string): New function.
   3410 	(attr_callback): Decode man more attribute values.
   3411 
   3412 2005-04-01  Ulrich Drepper  <drepper (a] redhat.com>
   3413 
   3414 	* addr2line.c: Finish implementation of -f option.
   3415 
   3416 2005-03-29  Ulrich Drepper  <drepper (a] redhat.com>
   3417 
   3418 	* addr2line.c: New file.
   3419 	* Makefile.am (bin_PROGRAMS): Add addr2line.
   3420 	Define addr2line_LDADD.
   3421 
   3422 	* findtextrel.c: Use new dwarf_addrdie function.
   3423 
   3424 	* findtextrel.c: Fix usage message and re-add accidentally removed
   3425 	line.
   3426 
   3427 2005-03-28  Ulrich Drepper  <drepper (a] redhat.com>
   3428 
   3429 	* findtextrel.c: New file.
   3430 	* Makefile: Add rules to build findtextrel.
   3431 
   3432 2005-02-15  Ulrich Drepper  <drepper (a] redhat.com>
   3433 
   3434 	* ldlex.l: Provide ECHO definition to avoid warning.
   3435 
   3436 	* elflint.c (check_program_header): Fix typo in RELRO test.
   3437 
   3438 	* Makefile.am (AM_CFLAGS): Add more warning options.
   3439 	* elflint.c: Fix warnings introduced by the new warning options.
   3440 	* i386_ld.c: Likewise.
   3441 	* ld.c: Likewise.
   3442 	* ld.h: Likewise.
   3443 	* ldgeneric.c: Likewise.
   3444 	* nm.c: Likewise.
   3445 	* readelf.c: Likewise.
   3446 	* sectionhash.c: Likewise.
   3447 	* size.c: Likewise.
   3448 	* string.c: Likewise.
   3449 
   3450 2005-02-05  Ulrich Drepper  <drepper (a] redhat.com>
   3451 
   3452 	* Makefile.am: Check for text relocations in constructed DSOs.
   3453 
   3454 	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap.  Link all apps
   3455 	with -lmudflap.
   3456 
   3457 	* ldscript.y: Add as_needed handling.
   3458 	* ldlex.l: Recognize AS_NEEDED token.
   3459 	* ld.h (struct filename_list): Add as_needed flag.
   3460 
   3461 2005-02-04  Ulrich Drepper  <drepper (a] redhat.com>
   3462 
   3463 	* elflint.c (check_symtab): Correctly determine size of GOT section.
   3464 
   3465 2005-01-19  Ulrich Drepper  <drepper (a] redhat.com>
   3466 
   3467 	* ld.c: Remove unnecessary more_help function.  Print bug report
   3468 	address using argp.
   3469 	* strip.c: Likewise.
   3470 	* size.c: Likewise.
   3471 	* nm.c: Likewise.
   3472 	* readelf.c: Likewise.
   3473 	* elflint.c: Likewise.
   3474 
   3475 	* elflint.c (main): Don't check for parameter problems here.
   3476 	(parse_opt): Do it here, where we get informed about some of them
   3477 	anyway.
   3478 
   3479 	* readelf.c (main): Don't check for parameter problems here.
   3480 	(parse_opt): Do it here, where we get informed about some of them
   3481 	anyway.
   3482 
   3483 2005-01-11  Ulrich Drepper  <drepper (a] redhat.com>
   3484 
   3485 	* strip.c: Update copyright year.
   3486 	* readelf.c: Likewise.
   3487 	* size.c: Likewise.
   3488 	* nm.c: Likewise.
   3489 	* ld.c: Likewise.
   3490 	* elflint.c: Likewise.
   3491 
   3492 	* elflint.c (check_symtab): Don't warn about wrong size for
   3493 	_DYNAMIC and __GLOBAL_OFFSET_TABLE__ for --gnu-ld.
   3494 
   3495 2004-10-05  Ulrich Drepper  <drepper (a] redhat.com>
   3496 
   3497 	* readelf.c (print_phdr): In section mapping, also indicate
   3498 	sections in read-only segments.
   3499 
   3500 2004-09-25  Ulrich Drepper  <drepper (a] redhat.com>
   3501 
   3502 	* readelf.c: Make compile with gcc 4.0.
   3503 	* strip.c: Likewise.
   3504 
   3505 2004-08-16  Ulrich Drepper  <drepper (a] redhat.com>
   3506 
   3507 	* strip.c (handle_elf): Rewrite dynamic memory handling to use of
   3508 	allocate to work around gcc 3.4 bug.
   3509 
   3510 2004-01-25  Ulrich Drepper  <drepper (a] redhat.com>
   3511 
   3512 	* ldlex.l (invalid_char): Better error message.
   3513 
   3514 2004-01-23  Ulrich Drepper  <drepper (a] redhat.com>
   3515 
   3516 	* readelf.c: Print SHT_GNU_LIBLIST sections.
   3517 
   3518 	* none_ld.c: New file.
   3519 
   3520 2004-01-21  Ulrich Drepper  <drepper (a] redhat.com>
   3521 
   3522 	* Makefile.am: Enable building of machine specific linker.
   3523 
   3524 2004-01-20  Ulrich Drepper  <drepper (a] redhat.com>
   3525 
   3526 	* Makefile.am: Support building with mudflap.
   3527 
   3528 	* i386_ld.c: Fix warnings gcc 3.4 spits out.
   3529 	* ldgeneric.c: Likewise.
   3530 	* ldscript.y: Likewise.
   3531 	* readelf.c: Likewise.
   3532 	* strip.c: Likewise.
   3533 
   3534 	* readelf.c (print_debug_line_section): Determine address size
   3535 	correctly.
   3536 
   3537 2004-01-19  Ulrich Drepper  <drepper (a] redhat.com>
   3538 
   3539 	* readelf.c (print_phdr): Show which sections are covered by the
   3540 	PT_GNU_RELRO entry.
   3541 
   3542 	* elflint.c (check_program_header): Check PT_GNU_RELRO entry.
   3543 
   3544 	* readelf.c (print_debug_macinfo_section): Implement.
   3545 
   3546 2004-01-18  Ulrich Drepper  <drepper (a] redhat.com>
   3547 
   3548 	* readelf.c (print_debug_line_section): Implement.
   3549 
   3550 2004-01-17  Ulrich Drepper  <drepper (a] redhat.com>
   3551 
   3552 	* src/elflint.c: Use PACKAGE_NAME instead of PACKAGE.
   3553 	* src/ld.c: Likewise.
   3554 	* src/nm.c: Likewise.
   3555 	* src/readelf.c: Likewise.
   3556 	* src/size.c: Likewise.
   3557 	* src/strip.c: Likewise.
   3558 
   3559 	* strip.c: Add a few more unlikely.  Reduce scope of some variables.
   3560 
   3561 	* Makefile.am: Support building with mudflap.
   3562 
   3563 2004-01-16  Ulrich Drepper  <drepper (a] redhat.com>
   3564 
   3565 	* readelf.c (print_debug_info_section): Free dies memory.
   3566 
   3567 	* readelf.c: Print .debug_info section content.
   3568 
   3569 2004-01-13  Ulrich Drepper  <drepper (a] redhat.com>
   3570 
   3571 	* readelf.c (print_shdr): Add support for SHF_ORDERED and SHF_EXCLUDE.
   3572 
   3573 2004-01-12  Ulrich Drepper  <drepper (a] redhat.com>
   3574 
   3575 	* readelf.c (print_debug_aranges): Implement using libdw.
   3576 
   3577 2004-01-11  Ulrich Drepper  <drepper (a] redhat.com>
   3578 
   3579 	* nm.c: Adjust for Dwarf_Files type and dwarf_lineno interface change.
   3580 
   3581 	* readelf.c: Use libdw instead of libdwarf.  Not all of the old
   3582 	behavior is available yet.
   3583 	* Makefile.am: Link readelf with libdw.  Remove libdwarf include path.
   3584 
   3585 2004-01-09  Ulrich Drepper  <drepper (a] redhat.com>
   3586 
   3587 	* nm.c (get_local_names): Adjust call to dwarf_nextcu.
   3588 
   3589 	* nm.c: Implement getting information about local variables.
   3590 
   3591 2004-01-07  Ulrich Drepper  <drepper (a] redhat.com>
   3592 
   3593 	* nm.c: Read also debug information for local symbols.
   3594 
   3595 2004-01-05  Ulrich Drepper  <drepper (a] redhat.com>
   3596 
   3597 	* nm.c: Shuffle dwarf handling code around so the maximum column
   3598 	width can be computed ahead of printing.  Avoid collection symbols
   3599 	which are not printed anyway.
   3600 
   3601 	* nm.c: Rewrite dwarf handling to use libdw.
   3602 	* Makefile.am (AM_CFLAGS): Add -std parameter.
   3603 	(INCLUDES): Find header in libdw subdir.
   3604 	(nm_LDADD): Replace libdwarf with libdw.
   3605 
   3606 	* elflint.c: Update copyright year.
   3607 	* readelf.c: Likewise.
   3608 	* size.c: Likewise.
   3609 	* strip.c: Likewise.
   3610 	* nm.c: Likewise.
   3611 
   3612 2003-12-31  Ulrich Drepper  <drepper (a] redhat.com>
   3613 
   3614 	* strip.c (process_file): Close file before returning.
   3615 
   3616 2003-11-19  Ulrich Drepper  <drepper (a] redhat.com>
   3617 
   3618 	* readelf.c (handle_dynamic): Make column for tag name wider.
   3619 
   3620 2003-09-29  Ulrich Drepper  <drepper (a] redhat.com>
   3621 
   3622 	* readelf.c (handle_dynamic): Always terminate tag name with a space.
   3623 
   3624 2003-09-25  Ulrich Drepper  <drepper (a] redhat.com>
   3625 
   3626 	* strip.c (process_file): Don't mmap the input file, we modify the
   3627 	data structures and don't want the change end up on disk.
   3628 
   3629 2003-09-23  Jakub Jelinek  <jakub (a] redhat.com>
   3630 
   3631 	* unaligned.h (union u_2ubyte_unaligned,
   3632 	union u_4ubyte_unaligned, union u_8ubyte_unaligned): Add
   3633 	packed attribute.
   3634 	(add_2ubyte_unaligned, add_4ubyte_unaligned,
   3635 	add_8ubyte_unaligned): Avoid nesting bswap_NN macros.
   3636 	Read/store value through _ptr->u instead of *_ptr.
   3637 
   3638 2003-09-22  Ulrich Drepper  <drepper (a] redhat.com>
   3639 
   3640 	* size.c (show_sysv): Change type of maxlen to int.
   3641 
   3642 	* strip.c (handle_elf): Handle the 64-bit archs which is 64-bit
   3643 	buckets.
   3644 
   3645 	* i386_ld.c: Many many fixes and extensions.
   3646 	* ld.c: Likewise.
   3647 	* ldgeneric.c: Likewise.
   3648 
   3649 2003-08-16  Ulrich Drepper  <drepper (a] redhat.com>
   3650 
   3651 	* ldgeneric.c (check_definition): Don't add symbol on dso_list if
   3652 	the reference is from another DSO.
   3653 
   3654 2003-08-15  Ulrich Drepper  <drepper (a] redhat.com>
   3655 
   3656 	* ldgeneric.c (find_entry_point): It is no fatal error if no entry
   3657 	point is found when creating a DSO.
   3658 
   3659 2003-08-14  Ulrich Drepper  <drepper (a] redhat.com>
   3660 
   3661 	* ld.c (main): Always call FLAG_UNRESOLVED.
   3662 	* ldgeneric.c (ld_generic_flag_unresolved): Only complain about
   3663 	undefined symbols if not creating DSO or ld_state.nodefs is not set.
   3664 
   3665 2003-08-13  Ulrich Drepper  <drepper (a] redhat.com>
   3666 
   3667 	* Makefile.in: Depend on libebl.a, not libebl.so.
   3668 
   3669 	* ld.c (main): Mark stream for linker script as locked by caller.
   3670 	(read_version_script): Likewise.
   3671 	* ldlex.c: Define fread and fwrite to _unlocked variant.
   3672 
   3673 	* i386_ld.c (elf_i386_finalize_plt): Replace #ifdefs with uses of
   3674 	target_bswap_32.
   3675 	* unaligned.h: Define target_bswap_16, target_bswap_32, and
   3676 	target_bswap_64.
   3677 	(store_2ubyte_unaligned, store_4ubyte_unaligned,
   3678 	store_8ubyte_unaligned): Define using new macros.
   3679 
   3680 2003-08-12  Ulrich Drepper  <drepper (a] redhat.com>
   3681 
   3682 	* i386_ld.c (elf_i386_finalize_plt): Use packed structs to access
   3683 	possibly unaligned memory.  Support use of big endian machines.
   3684 
   3685 2003-08-11  Ulrich Drepper  <drepper (a] redhat.com>
   3686 
   3687 	* Moved to CVS archive.
   3688