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