1 2015-05-15 H.J. Lu <hongjiu.lu@intel.com>
3 * readelf.c (dump_section_as_strings): Change pointers from
4 char * to unsigned char *.
6 2015-05-15 H.J. Lu <hongjiu.lu@intel.com>
9 * doc/binutils.texi: Document -Mamd64 and -Mintel64.
11 2015-05-15 Nick Clifton <nickc@redhat.com>
13 * readelf.c (options): Add "decompress".
14 (usage): Mention -z/--decompress.
15 (parse_args): Handle -z.
16 (uncompress_section_contents): Move to earlier in the file.
17 (dump_section_as_strings): If requested, decompress the section
19 (dump_section_as_bytes): Likewise.
20 * doc/binutils.texi: Document the new option.
22 2015-05-14 Peter Bergner <bergner@vnet.ibm.com>
24 * MAINTAINERS: Add myself as PPC maintainer.
26 2015-05-14 H.J. Lu <hongjiu.lu@intel.com>
28 * readelf.c (uncompress_section_contents): Add a parameter for
29 uncompressed size. Don't check the zlib header.
30 (load_specific_debug_section): Updated.
32 2015-05-15 Nick Clifton <nickc@redhat.com>
35 * dwarf.h (struct dwarf_section): Add reloc_info and num_relocs
37 (struct dwarf_section_display): Change bitfield to boolean.
38 (reloc_at): Add prototype.
39 * dwarf.c (display_loc_list): Ignore list terminators if there are
41 (display_debug_loc): Issue a warning if there are relocs against
42 the .debug_loc section.
43 (display_displays): Initialise reloc_info and num_relocs fields.
44 * objdump.c (load_specific_debug_section): Initialise reloc_info
45 and num_relocs fields.
46 (reloc_at): New function.
47 * readelf.c (is_32bit_abs_reloc): Add IA64's R_IA64_DIS32LSB
49 (reloc_at): New function.
50 (apply_relocations): Add relocs_return and num_relocs_return
51 parameters. Fill them in with the loaded relocs if non-NULL.
52 (dump_section_as_bytes): Update call to apply_relocations.
53 (load_specific_debug_section): Initialise reloc_info and
56 2015-05-13 H.J. Lu <hongjiu.lu@intel.com>
58 * elfedit.c (elf_class): Return ELF_CLASS_BOTH by default.
60 2015-05-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
62 * MAINTAINERS: Add myself as s390 and s390x maintainer.
64 2015-05-12 Stephen Kitt <steve@sk2.org>
66 * dlltool.c (main): Accept -t as an abbreviation for
69 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
71 * dwarf.c (dwarf_regnames_iamcu): New.
72 (init_dwarf_regnames_iamcu): Likewise.
73 (init_dwarf_regnames): Call init_dwarf_regnames_iamcu for EM_IAMCU.
74 * dwarf.h (init_dwarf_regnames_iamcu): New.
75 * objdump.c (dump_dwarf): Call init_dwarf_regnames_iamcu for
78 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
80 * elfedit.c (enum elfclass): New.
81 (input_elf_class): Change type to enum elfclass.
82 (output_elf_class): New.
83 (elf_class): Change return type to enum elfclass. Support EM_386
85 (update_elf_header): Check if input and output ELF classes match.
86 (elf_machine): Support EM_386 and EM_IAMCU.
87 (main): Update input_elf_class. Set output_elf_class.
88 * doc/binutils.texi: Update elfedit.
90 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
92 * dwarf.c (init_dwarf_regnames): Replace EM_486 with EM_IAMCU.
93 * readelf.c (guess_is_rela): Likewise.
94 (dump_relocations): Likewise.
95 (get_machine_name): Likewise.
96 (get_elf_section_flags): Likewise.
97 (process_section_headers): Likewise.
98 (is_32bit_abs_reloc): Likewise.
99 (is_32bit_pcrel_reloc): Likewise.
101 2015-04-30 Nick Clifton <nickc@redhat.com>
103 * readelf.c (get_machine_flags): Add description of MeP flags.
105 2015-04-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
107 * readelf.c (display_s390_gnu_attribute): New function.
108 (process_s390_specific): New function.
109 (process_arch_specific): Call process_s390_specific.
111 2015-04-24 Nick Clifton <nickc@redhat.com>
114 * ieee.c (ieee_read_cxx_class): Initialise the varargs variable.
115 * readelf.c (uncompress_section_contents): Zero initialise the
118 2015-04-23 H.J. Lu <hongjiu.lu@intel.com>
121 * objcopy.c (setup_section): Copy compress status.
123 2015-04-15 H.J. Lu <hongjiu.lu@intel.com>
126 --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi].
128 2015-04-14 Nick Clifton <nickc@redhat.com>
130 * readelf.c (target_specific_reloc_handling): Add code to handle
133 2015-04-13 Doug Evans <dje@google.com>
136 * readelf.c (printable_section_name): Constify sec argument.
137 (apply_relocations): Ditto. New arg "size". All callers updated.
138 (load_specific_debug_section): Constify sec argument.
139 Remove side-effect of modifying sec->sh_size.
141 2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
143 * objcopy.c (do_debug_sections): Use bit patterns.
144 (copy_object): Return FALSE for compress_zlib, compress_gnu_zlib
145 and compress_gabi_zlib on non-ELF input.
146 (copy_file): Don't check non-ELF input here.
148 2015-04-09 Nick Clifton <nickc@redhat.com>
150 * readelf.c (get_machine_flags): Report the setting of the string
153 2015-04-08 H.J. Lu <hongjiu.lu@intel.com>
155 * objcopy.c (do_debug_sections): Add compress_zlib,
156 compress_gnu_zlib and compress_gabi_zlib.
157 (copy_options): Use optional_argument on compress-debug-sections.
158 (copy_usage): Update --compress-debug-sections.
159 (copy_file): Handle compress_zlib, compress_gnu_zlib and
162 --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
163 * doc/binutils.texi: Document
164 --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
166 2015-04-08 H.J. Lu <hongjiu.lu@intel.com>
168 * objcopy.c (copy_usage): Replace "--interleave [<number>]" with
169 --interleave[=<number>].
171 2015-04-05 H.J. Lu <hongjiu.lu@intel.com>
173 * readelf.c (get_elf_section_flags): Support SHF_COMPRESSED.
174 (get_compression_header): New.
175 (process_section_headers): Dump compression header if needed.
176 (uncompress_section_contents): Don't free compressed_buffer here.
177 (load_specific_debug_section): Free the compressed buffer, update
178 the section buffer and the section size if uncompress is
181 2015-04-02 H.J. Lu <hongjiu.lu@intel.com>
183 * configure: Regenerated.
185 2015-04-02 Mike Frysinger <vapier@gentoo.org>
187 * MAINTAINERS: Update my e-mail address.
189 2015-04-01 H.J. Lu <hongjiu.lu@intel.com>
191 * configure: Regenerated.
193 2015-03-31 H.J. Lu <hongjiu.lu@intel.com>
195 * configure.ac: Revert the AM_ZLIB change.
196 * Makefile.in: Regenerated.
197 * aclocal.m4: Likewise.
198 * configure: Likewise.
200 2015-03-31 H.J. Lu <hongjiu.lu@intel.com>
202 * Makefile.am (ZLIB): New.
204 (AM_CFLAGS): Add $(ZLIBINC).
205 (readelf_LDADD): Add $(ZLIB).
206 * configure.ac (AM_ZLIB): Removed.
207 (zlibdir): New. AC_SUBST.
209 Add --with-system-zlib.
210 * Makefile.in: Regenerated.
211 * config.in: Likewise.
212 * configure: Likewise.
214 2015-03-19 Nick Clifton <nickc@redhat.com>
216 * readelf.c (get_machine_flags): Decode RL78's G13 and G14 flags.
218 2015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
219 Nick Clifton <nickc@redhat.com>
222 * doc/binutils.texi: Note that when objcopy compresses debug
223 sections the compression is only performed if it makes the section
226 2015-03-10 H.J. Lu <hongjiu.lu@intel.com>
229 * readelf.c (parse_args): Move nothing to do warning to ...
232 2015-03-10 Nick Clifton <nickc@redhat.com>
235 * readelf.c (parse_args): Enhance check for nothing to do by
236 accounting for the --wide option.
239 * objcopy.c (copy_object): Avoid calling fatal as that does not
240 allow the parent to clean up temporary files.
242 2015-03-10 Yuri Gribov <y.gribov@samsung.arm>
245 * readelf.c: Remove support for ELF_ARM_HASENTRY.
247 2015-03-05 Nick Clifton <nickc@redhat.com>
250 * doc/binutils.texi (objcopy): Extend description of
251 --add-gnu-debuglink option to explain that the separate debug info
252 file must exist. Add a description of what to do if the debug
253 info file is built in one place but then installed into a separate
256 2015-03-05 Nick Clifton <nickc@redhat.com>
259 * dlltool.c (temp_file_to_remove): New local array.
260 (unlink_temp_files): New functions - unlinks any file in the
261 temp_file_to_remove array, unless dotdeltemps is set.
262 (gen_exp_file): Add temp files to array.
263 (make_head): Likewise.
264 (make_delay_head): Likewise.
265 (make_tail): Likewise.
266 (gen_lib_file): Call unlink_temp_files.
268 2015-02-28 Andrew Burgess <andrew.burgess@embecosm.com>
270 * objcopy.c (update_sections): New list.
271 (command_line_switch): Add OPTION_UPDATE_SECTION.
272 (copy_options): Add update-section.
273 (copy_usage): Document new option.
274 (is_update_section): New function.
275 (is_strip_section_1): Add check for attempt to update and remove
277 (copy_object): Update size and content of requested sections.
278 (skip_section): Don't copy for updated sections.
279 (copy_main): Handle --update-section.
280 * doc/binutils.texi (objcopy): Add description of --update-section
282 * NEWS: Mention --update-section option.
284 2015-02-26 Nick Clifton <nickc@redhat.com>
287 * coffgrok.c (do_type): Check for an out of range tag index.
288 Check for integer overflow computing array dimension.
289 (do_define): Likewise.
291 2015-02-26 Andrew Burgess <andrew.burgess@embecosm.com>
293 * objcopy.c (init_section_add): Rename optarg to arg in order to
294 avoid shadowing a global variable.
296 2015-02-26 Nick Clifton <nickc@redhat.com>
299 * resrc.c (write_rc_messagetable): Tighten check for invalid
302 * dwarf.c (display_debug_loc): Pacify the undefined behaviour
303 sanitizer by simplifying address difference calculation.
304 (struct Frame_Chunk): Change type of cfa_offset to dwarf_vma in
305 order to avoid arithmetic overflows.
306 (frame_display_row): Cast cfa_offset before printing it.
307 (display_debug_frames): Likewise.
308 Check for an unexpected segment size.
309 Chnage type of 'l' local to dwarf_vma and cast it back to an int
311 (process_cu_tu_index): Tighten check for an invalid ncols value.
312 * readelf.c (process_corefile_note_segment): Check for
313 inote.descdata extending beyond the end of the section.
314 (process_v850_notes): Likewise.
316 2015-02-26 Terry Guo <terry.guo@arm.com>
318 * readelf.c (arm_attr_tag_ABI_HardFP_use): Update how we
321 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
323 * objcopy.c (init_section_add): New function.
324 (section_add_load_file): New function.
325 (copy_main): Make use of new functions.
327 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
329 * od-elf32_avr.c: Add elf32-avr.h include.
330 (OPT_AVRPROP): Define.
331 (options[]): Add 'avr-prop' entry.
332 (elf32_avr_help): Add avr-prop help text.
333 (elf32_avr_dump_avr_prop): New function.
334 (elf32_avr_dump): Add check for avr-prop.
336 2015-02-24 Nick Clifton <nickc@redhat.com>
338 * readelf.c (get_machine_flags): Remove deprecated V850 machine
340 (get_v850_section_type_name): New function. Handles V850 special
342 (get_section_type_name): Add support for V850.
343 (get_v850_elf_note_type): New function. Returns the name of a
345 (print_v850_note): New function. Prints a V850 note.
346 (process_v850_notes): New function. Prints V850 notes.
347 (process_note_sections): Add support for V850.
349 2015-02-24 Mike Frysinger <vapier@gentoo.org>
352 * readelf.c (process_symbol_table): Declare chained. Increment it
353 in every loop. Abort when chained is larger than nchains. Move
354 error check outside of chain loop.
356 2015-02-24 Dmitry Antipov <dantipov@nvidia.com>
358 * readelf.c (find_symbol_for_address): Use a binary search to
359 speed up symbol location. Skip check for function symbol type.
360 (*_unw_aux_info): Add funtab and nfuns fields contains a sorted
361 list of function symbols.
362 (dump_ia64_unwind): Initialise the funtab and nfuns fields and
363 pass them to find_symbol_for_address.
364 (dump_hppa_unwind): Likewise.
365 (arm_print_vma_and_name): Pass funtab to find_symbol_for_address.
366 (dump_arm_unwind): Initialise the funtab and nfuns fields.
368 2015-02-24 Nick Clifton <nickc@redhat.com>
370 * objdump.c (dump_section): Extend the warning message displayed
371 when a section cannot be loaded.
373 2015-02-21 Mike Frysinger <vapier@gentoo.org>
375 * readelf.c (process_program_headers): Add newline to warning
378 2015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
380 * readelf.c (get_note_type): Add NT_S390_VXRS_LOW and
383 2015-02-13 Nick Clifton <nickc@redhat.com>
386 * dwarf.c (read_leb128): Fix test for shift becoming too large.
388 * coffgrok.c (do_define): Add check for type size overflow.
389 * srconv.c (walk_tree_sfile): Check that enough sections are
390 available before parsing.
394 * dwarf.c (display_debug_aranges): Add check for an excessive
396 (process_cu_tu_index): Check for a row * columns sum being too
399 2015-02-13 Alan Modra <amodra@gmail.com>
401 * dwarf.c: Formatting, whitespace.
402 (process_debug_info): Style fix.
404 2015-02-11 Nick Clifton <nickc@redhat.com>
406 * rl78-decode.opc: Add 'a' attribute to instructions that support
408 * rl78-decode.c: Regenerate.
409 * rl78-dis.c (print_insn_rl78): Display the offset in [HL+0]
412 2015-02-11 Nick Clifton <nickc@redhat.com>
415 * dwarf.c (display_debug_pubnames_worker): Work around compiler
416 bug checking address ranges.
417 (display_debug_frames): Likewise.
418 (display_gdb_index): Likewise.
419 (process_cu_tu_index): Add range check on the ncols value.
421 2015-02-10 Nick Clifton <nickc@redhat.com>
424 * dwarf.c (eh_addr_size): Use an unsigned type.
425 (size_of_encoded_value): Return an unsigned type.
426 (read_leb128): Break if the shift becomes too big.
427 (process_extended_line_op): Do not read the address if the length
429 (read_cie): Warn and fail if the pointer size or segment size are
431 * dwarf.h (DWARF2_External_LineInfo): Delete unused and incorrect
432 structure definition.
433 (DWARF2_External_PubNames): Likewise.
434 (DWARF2_External_CompUnit): Likewise.
435 (DWARF2_External_ARange): Likewise.
436 (DWARF2_Internal_LineInfo): Use dwarf_vma type for
438 (eh_addr_size): Update prototype.
441 * dwarf.c (process_debug_info): Zero the debug information array
442 since correct initialisation cannot be relied upon.
443 (process_cu_tu_index): Improve range checks.
446 * dwarf.c (display_debug_pubnames_worker): Use dwarf_vma type for
448 * readelf.c (dump_relocations): Handle printing offsets which are
450 (process_corefile_note_segment): Add range check of the namesz
453 2015-02-09 Mark Wielaard <mjw@redhat.com>
455 * dwarf.c (read_and_display_attr_value): Handle DW_LANG_Fortran03
456 and DW_LANG_Fortran08.
458 2015-02-06 Nick Clifton <nickc@redhat.com>
461 * dwarf.c (display_debug_frames): Fix range checks to work on
462 32-bit binaries complied on a 64-bit host.
465 * dwarf.c (xcmalloc): Fail if the arguments are too big.
466 (xcrealloc): Likewise.
467 (xcalloc2): Likewise.
468 * readelf.c (process_mips_specific): Fail if an option has an
471 2015-02-05 Alan Modra <amodra@gmail.com>
474 * dwarf.c (dwarf_select_sections_by_letters): Don't refer to optarg.
476 2015-02-04 Nick Clifton <nickc@redhat.com>
479 * dwarf.c (read_and_display_attr_value): Test for a block length
480 being so long that it wraps around to before the start of the block.
481 (process_debug_info): Test for section_begin wrapping around to
482 before the start of the section.
483 (display_gdb_index): Test for num_cus being so large that the end
484 address wraps around to before the start of the section.
485 (process_cu_tu_index): Test for j being so large that the section
486 index pool wraps around to before the start of the section.
488 2015-02-03 Nick Clifton <nickc@redhat.com>
491 * dwarf.c (process_debug_info): Add range check.
492 (display_debug_pubnames_worker): Likewise.
493 (display_gdb_index): Fix range check.
494 (process_cu_tu_index): Add range check.
495 * readelf.c (get_data): Change parameter types from size_t to
496 bfd_size_type. Add checks for loss of accuracy when casting from
497 bfd_size_type to size_t.
498 (get_dynamic_data): Likewise.
499 (process_section_groups): Limit number of error messages.
501 2015-02-03 Nick Clifton <nickc@redhat.com>
504 * objdump.c (display_any_bfd): Fail if archives nest too deeply.
506 2015-01-28 James Bowman <james.bowman@ftdichip.com>
508 * readelf.c: Add FT32 support.
510 2015-01-27 Nick Clifton <nickc@redhat.com>
513 * dlltool.c (identify_search_archive): If the last archive was the
514 same as the current archive, terminate the loop.
516 * addr2line.c (slurp_symtab): If the symcount is zero, free the
517 symbol table pointer.
519 * rcparse.y: Add checks to avoid integer divide by zero.
520 * rescoff.c (read_coff_rsrc): Add check on the size of the
522 (read_coff_res_dir): Add check on the nesting level.
523 Check for resource names overrunning the buffer.
524 * resrc.c (write_rc_messagetable): Update formatting.
525 Add check of 'elen' being zero.
527 2015-01-23 Nick Clifton <nickc@redhat.com>
529 * nlmconv.c (powerpc_mangle_relocs): Fix build errors introduced
530 by recent delta, when compiling on for a 32-bit host.
532 2015-01-21 Nick Clifton <nickc@redhat.com>
535 * addr2line.c (main): Call bfd_set_error_program_name.
536 * ar.c (main): Likewise.
537 * coffdump.c (main): Likewise.
538 * cxxfilt.c (main): Likewise.
539 * dlltool.c (main): Likewise.
540 * nlmconv.c (main): Likewise.
541 * nm.c (main): Likewise.
542 * objdump.c (main): Likewise.
543 * size.c (main): Likewise.
544 * srconv.c (main): Likewise.
545 * strings.c (main): Likewise.
546 * sysdump.c (main): Likewise.
547 * windmc.c (main): Likewise.
548 * windres.c (main): Likewise.
549 * objcopy.c (main): Likewise.
550 (copy_relocations_in_section): Check for relocs without associated
553 2015-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
555 * MAINTAINERS: Add self to ARM maintainers list.
557 2015-01-21 Nick Clifton <nickc@redhat.com>
560 * coffgrok.c (do_type): Check that computed ref exists.
561 (doit): Add range checks when computing section for scope.
563 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
565 * dwarf.c (process_debug_info): Properly check abbrev size.
567 2015-01-12 Nick Clifton <nickc@redhat.com>
570 * dwarf.c (process_debug_info): Check for abbrev_base being larger
571 than the section size.
572 (process_cu_tu_index): Use xcalloc2 to allocate the CU and TU
574 (xcalloc2): New function. Like xcalloc, but checks for overflow.
575 (display_debug_addr): Use xcalloc to allocate the debug_addr_info
576 array. Check for an address_base that is too large.
578 * dwarf.h (xcalloc2): Prototype.
580 2015-01-12 Alan Modra <amodra@gmail.com>
582 * prdbg.c (print_debugging_info): Don't use void* for function
584 * budbg.h (print_debugging_info): Update prototype.
586 2015-01-08 Nick Clifton <nickc@redhat.com>
589 * ojcopy.c (copy_object): Free the symbol table if no symbols
591 (copy_file): Use bfd_close_all_done to close files that could not
594 * sysdump.c (getINT): Fail if reading off the end of the buffer.
595 Replace call to abort with a call to fatal.
596 (getCHARS): Prevetn reading off the end of the buffer.
598 * nlmconv.c (i386_mangle_relocs): Skip relocs without an
600 (powerpc_mangle_relocs): Skip unrecognised relocs. Check address
601 range before applying a reloc.
603 2015-01-07 Nick Clifton <nickc@redhat.com>
606 * dlltool.c (scan_obj_file): Break loop if the last archive
607 displayed matches the current archive.
609 * objdump.c (display_any_bfd): Add a depth limit to nested archive
610 display in order to avoid infinite loops.
611 * srconv.c: Replace calls to abort with calls to fatal with an
614 2015-01-06 Nick Clifton <nickc@redhat.com>
617 * coffdump.c (dump_coff_section): Check for a symbol being
618 available before printing its name.
619 (main): Check the return value from coff_grok.
620 * coffgrok.c: Reformat and tidy.
621 Add range checks to most functions.
622 (coff_grok): Return NULL if the input bfd is not in a COFF
624 * coffgrok.h: Reformat and tidy.
625 (struct coff_section): Change the nrelocs field to unsigned.
626 * srconv.c (main): Check the return value from coff_grok.
628 2015-01-05 Nick Clifton <nickc@redhat.com>
631 * nm.c (print_symbol): Add 'is_synthetic' parameter. Use it to
632 help initialize the info.elfinfo field.
633 (print_size_symbols): Add 'synth_count' parameter. Use it to set
634 the is_synthetic parameter when calling print_symbol.
635 (print_symbols): Likewise.
636 (display_rel_file): Pass synth_count to printing function.
637 (display_archive): Break loop if the last archive displayed
638 matches the current archive.
639 * size.c (display_archive): Likewise.
641 2015-01-05 Nick Clifton <nickc@redhat.com>
644 * dwarf.c (alloc_num_debug_info_entries): New variable.
645 (process_debug_info): Set it. Use it to avoid displaying
646 attributes for which there is no info.
647 (display_debug_abbrev): Check that the debug_info_entry index is
648 valid before using it.
649 (display_loc_list_dwo): Likewise.
650 (process_cu_tu_index): Add range check for an overlarge dw_sect
652 (free_debug_memory): Reset alloc_num_debug_info_entries.
653 * readelf.c (slurp_ia64_unwind_table): Warn if the reloc could not
655 (dynamic_section_mips_val): Warn if the timestamp is invalid.
656 (print_mips_got_entry): Add a data_end parameter. Warn if a read
657 would go beyond the end of the data, and return an error value.
658 (process_mips_specific): Do not read options from beyond the end
660 Correct code to display optional data at the end of an option.
661 Warn if there are too many GOT symbols.
662 Update calls to print_mips_got_entry, and handle error returns.
664 2015-01-05 Daniel Klauer <daniel.c.klauer@web.de>
667 * doc/binutils.texi (dlltool): Correct description of --kill-at
670 2015-01-01 Alan Modra <amodra@gmail.com>
672 * version.c (print_version): Just print current year.
674 2015-01-01 Alan Modra <amodra@gmail.com>
676 Update year range in copyright notice of all files.
678 For older changes see ChangeLog-2014
680 Copyright (C) 2015 Free Software Foundation, Inc.
682 Copying and distribution of this file, with or without modification,
683 are permitted in any medium without royalty provided the copyright
684 notice and this notice are preserved.
690 version-control: never