1 2015-05-14 H.J. Lu <hongjiu.lu@intel.com>
3 * readelf.c (uncompress_section_contents): Add a parameter for
4 uncompressed size. Don't check the zlib header.
5 (load_specific_debug_section): Updated.
7 2015-05-13 H.J. Lu <hongjiu.lu@intel.com>
9 * elfedit.c (elf_class): Return ELF_CLASS_BOTH by default.
11 2015-05-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13 * MAINTAINERS: Add myself as s390 and s390x maintainer.
15 2015-05-12 Stephen Kitt <steve@sk2.org>
17 * dlltool.c (main): Accept -t as an abbreviation for
20 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
22 * dwarf.c (dwarf_regnames_iamcu): New.
23 (init_dwarf_regnames_iamcu): Likewise.
24 (init_dwarf_regnames): Call init_dwarf_regnames_iamcu for EM_IAMCU.
25 * dwarf.h (init_dwarf_regnames_iamcu): New.
26 * objdump.c (dump_dwarf): Call init_dwarf_regnames_iamcu for
29 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
31 * elfedit.c (enum elfclass): New.
32 (input_elf_class): Change type to enum elfclass.
33 (output_elf_class): New.
34 (elf_class): Change return type to enum elfclass. Support EM_386
36 (update_elf_header): Check if input and output ELF classes match.
37 (elf_machine): Support EM_386 and EM_IAMCU.
38 (main): Update input_elf_class. Set output_elf_class.
39 * doc/binutils.texi: Update elfedit.
41 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
43 * dwarf.c (init_dwarf_regnames): Replace EM_486 with EM_IAMCU.
44 * readelf.c (guess_is_rela): Likewise.
45 (dump_relocations): Likewise.
46 (get_machine_name): Likewise.
47 (get_elf_section_flags): Likewise.
48 (process_section_headers): Likewise.
49 (is_32bit_abs_reloc): Likewise.
50 (is_32bit_pcrel_reloc): Likewise.
52 2015-04-30 Nick Clifton <nickc@redhat.com>
54 * readelf.c (get_machine_flags): Add description of MeP flags.
56 2015-04-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
58 * readelf.c (display_s390_gnu_attribute): New function.
59 (process_s390_specific): New function.
60 (process_arch_specific): Call process_s390_specific.
62 2015-04-24 Nick Clifton <nickc@redhat.com>
65 * ieee.c (ieee_read_cxx_class): Initialise the varargs variable.
66 * readelf.c (uncompress_section_contents): Zero initialise the
69 2015-04-23 H.J. Lu <hongjiu.lu@intel.com>
72 * objcopy.c (setup_section): Copy compress status.
74 2015-04-15 H.J. Lu <hongjiu.lu@intel.com>
77 --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi].
79 2015-04-14 Nick Clifton <nickc@redhat.com>
81 * readelf.c (target_specific_reloc_handling): Add code to handle
84 2015-04-13 Doug Evans <dje@google.com>
87 * readelf.c (printable_section_name): Constify sec argument.
88 (apply_relocations): Ditto. New arg "size". All callers updated.
89 (load_specific_debug_section): Constify sec argument.
90 Remove side-effect of modifying sec->sh_size.
92 2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
94 * objcopy.c (do_debug_sections): Use bit patterns.
95 (copy_object): Return FALSE for compress_zlib, compress_gnu_zlib
96 and compress_gabi_zlib on non-ELF input.
97 (copy_file): Don't check non-ELF input here.
99 2015-04-09 Nick Clifton <nickc@redhat.com>
101 * readelf.c (get_machine_flags): Report the setting of the string
104 2015-04-08 H.J. Lu <hongjiu.lu@intel.com>
106 * objcopy.c (do_debug_sections): Add compress_zlib,
107 compress_gnu_zlib and compress_gabi_zlib.
108 (copy_options): Use optional_argument on compress-debug-sections.
109 (copy_usage): Update --compress-debug-sections.
110 (copy_file): Handle compress_zlib, compress_gnu_zlib and
113 --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
114 * doc/binutils.texi: Document
115 --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
117 2015-04-08 H.J. Lu <hongjiu.lu@intel.com>
119 * objcopy.c (copy_usage): Replace "--interleave [<number>]" with
120 --interleave[=<number>].
122 2015-04-05 H.J. Lu <hongjiu.lu@intel.com>
124 * readelf.c (get_elf_section_flags): Support SHF_COMPRESSED.
125 (get_compression_header): New.
126 (process_section_headers): Dump compression header if needed.
127 (uncompress_section_contents): Don't free compressed_buffer here.
128 (load_specific_debug_section): Free the compressed buffer, update
129 the section buffer and the section size if uncompress is
132 2015-04-02 H.J. Lu <hongjiu.lu@intel.com>
134 * configure: Regenerated.
136 2015-04-02 Mike Frysinger <vapier@gentoo.org>
138 * MAINTAINERS: Update my e-mail address.
140 2015-04-01 H.J. Lu <hongjiu.lu@intel.com>
142 * configure: Regenerated.
144 2015-03-31 H.J. Lu <hongjiu.lu@intel.com>
146 * configure.ac: Revert the AM_ZLIB change.
147 * Makefile.in: Regenerated.
148 * aclocal.m4: Likewise.
149 * configure: Likewise.
151 2015-03-31 H.J. Lu <hongjiu.lu@intel.com>
153 * Makefile.am (ZLIB): New.
155 (AM_CFLAGS): Add $(ZLIBINC).
156 (readelf_LDADD): Add $(ZLIB).
157 * configure.ac (AM_ZLIB): Removed.
158 (zlibdir): New. AC_SUBST.
160 Add --with-system-zlib.
161 * Makefile.in: Regenerated.
162 * config.in: Likewise.
163 * configure: Likewise.
165 2015-03-19 Nick Clifton <nickc@redhat.com>
167 * readelf.c (get_machine_flags): Decode RL78's G13 and G14 flags.
169 2015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
170 Nick Clifton <nickc@redhat.com>
173 * doc/binutils.texi: Note that when objcopy compresses debug
174 sections the compression is only performed if it makes the section
177 2015-03-10 H.J. Lu <hongjiu.lu@intel.com>
180 * readelf.c (parse_args): Move nothing to do warning to ...
183 2015-03-10 Nick Clifton <nickc@redhat.com>
186 * readelf.c (parse_args): Enhance check for nothing to do by
187 accounting for the --wide option.
190 * objcopy.c (copy_object): Avoid calling fatal as that does not
191 allow the parent to clean up temporary files.
193 2015-03-10 Yuri Gribov <y.gribov@samsung.arm>
196 * readelf.c: Remove support for ELF_ARM_HASENTRY.
198 2015-03-05 Nick Clifton <nickc@redhat.com>
201 * doc/binutils.texi (objcopy): Extend description of
202 --add-gnu-debuglink option to explain that the separate debug info
203 file must exist. Add a description of what to do if the debug
204 info file is built in one place but then installed into a separate
207 2015-03-05 Nick Clifton <nickc@redhat.com>
210 * dlltool.c (temp_file_to_remove): New local array.
211 (unlink_temp_files): New functions - unlinks any file in the
212 temp_file_to_remove array, unless dotdeltemps is set.
213 (gen_exp_file): Add temp files to array.
214 (make_head): Likewise.
215 (make_delay_head): Likewise.
216 (make_tail): Likewise.
217 (gen_lib_file): Call unlink_temp_files.
219 2015-02-28 Andrew Burgess <andrew.burgess@embecosm.com>
221 * objcopy.c (update_sections): New list.
222 (command_line_switch): Add OPTION_UPDATE_SECTION.
223 (copy_options): Add update-section.
224 (copy_usage): Document new option.
225 (is_update_section): New function.
226 (is_strip_section_1): Add check for attempt to update and remove
228 (copy_object): Update size and content of requested sections.
229 (skip_section): Don't copy for updated sections.
230 (copy_main): Handle --update-section.
231 * doc/binutils.texi (objcopy): Add description of --update-section
233 * NEWS: Mention --update-section option.
235 2015-02-26 Nick Clifton <nickc@redhat.com>
238 * coffgrok.c (do_type): Check for an out of range tag index.
239 Check for integer overflow computing array dimension.
240 (do_define): Likewise.
242 2015-02-26 Andrew Burgess <andrew.burgess@embecosm.com>
244 * objcopy.c (init_section_add): Rename optarg to arg in order to
245 avoid shadowing a global variable.
247 2015-02-26 Nick Clifton <nickc@redhat.com>
250 * resrc.c (write_rc_messagetable): Tighten check for invalid
253 * dwarf.c (display_debug_loc): Pacify the undefined behaviour
254 sanitizer by simplifying address difference calculation.
255 (struct Frame_Chunk): Change type of cfa_offset to dwarf_vma in
256 order to avoid arithmetic overflows.
257 (frame_display_row): Cast cfa_offset before printing it.
258 (display_debug_frames): Likewise.
259 Check for an unexpected segment size.
260 Chnage type of 'l' local to dwarf_vma and cast it back to an int
262 (process_cu_tu_index): Tighten check for an invalid ncols value.
263 * readelf.c (process_corefile_note_segment): Check for
264 inote.descdata extending beyond the end of the section.
265 (process_v850_notes): Likewise.
267 2015-02-26 Terry Guo <terry.guo@arm.com>
269 * readelf.c (arm_attr_tag_ABI_HardFP_use): Update how we
272 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
274 * objcopy.c (init_section_add): New function.
275 (section_add_load_file): New function.
276 (copy_main): Make use of new functions.
278 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
280 * od-elf32_avr.c: Add elf32-avr.h include.
281 (OPT_AVRPROP): Define.
282 (options[]): Add 'avr-prop' entry.
283 (elf32_avr_help): Add avr-prop help text.
284 (elf32_avr_dump_avr_prop): New function.
285 (elf32_avr_dump): Add check for avr-prop.
287 2015-02-24 Nick Clifton <nickc@redhat.com>
289 * readelf.c (get_machine_flags): Remove deprecated V850 machine
291 (get_v850_section_type_name): New function. Handles V850 special
293 (get_section_type_name): Add support for V850.
294 (get_v850_elf_note_type): New function. Returns the name of a
296 (print_v850_note): New function. Prints a V850 note.
297 (process_v850_notes): New function. Prints V850 notes.
298 (process_note_sections): Add support for V850.
300 2015-02-24 Mike Frysinger <vapier@gentoo.org>
303 * readelf.c (process_symbol_table): Declare chained. Increment it
304 in every loop. Abort when chained is larger than nchains. Move
305 error check outside of chain loop.
307 2015-02-24 Dmitry Antipov <dantipov@nvidia.com>
309 * readelf.c (find_symbol_for_address): Use a binary search to
310 speed up symbol location. Skip check for function symbol type.
311 (*_unw_aux_info): Add funtab and nfuns fields contains a sorted
312 list of function symbols.
313 (dump_ia64_unwind): Initialise the funtab and nfuns fields and
314 pass them to find_symbol_for_address.
315 (dump_hppa_unwind): Likewise.
316 (arm_print_vma_and_name): Pass funtab to find_symbol_for_address.
317 (dump_arm_unwind): Initialise the funtab and nfuns fields.
319 2015-02-24 Nick Clifton <nickc@redhat.com>
321 * objdump.c (dump_section): Extend the warning message displayed
322 when a section cannot be loaded.
324 2015-02-21 Mike Frysinger <vapier@gentoo.org>
326 * readelf.c (process_program_headers): Add newline to warning
329 2015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
331 * readelf.c (get_note_type): Add NT_S390_VXRS_LOW and
334 2015-02-13 Nick Clifton <nickc@redhat.com>
337 * dwarf.c (read_leb128): Fix test for shift becoming too large.
339 * coffgrok.c (do_define): Add check for type size overflow.
340 * srconv.c (walk_tree_sfile): Check that enough sections are
341 available before parsing.
345 * dwarf.c (display_debug_aranges): Add check for an excessive
347 (process_cu_tu_index): Check for a row * columns sum being too
350 2015-02-13 Alan Modra <amodra@gmail.com>
352 * dwarf.c: Formatting, whitespace.
353 (process_debug_info): Style fix.
355 2015-02-11 Nick Clifton <nickc@redhat.com>
357 * rl78-decode.opc: Add 'a' attribute to instructions that support
359 * rl78-decode.c: Regenerate.
360 * rl78-dis.c (print_insn_rl78): Display the offset in [HL+0]
363 2015-02-11 Nick Clifton <nickc@redhat.com>
366 * dwarf.c (display_debug_pubnames_worker): Work around compiler
367 bug checking address ranges.
368 (display_debug_frames): Likewise.
369 (display_gdb_index): Likewise.
370 (process_cu_tu_index): Add range check on the ncols value.
372 2015-02-10 Nick Clifton <nickc@redhat.com>
375 * dwarf.c (eh_addr_size): Use an unsigned type.
376 (size_of_encoded_value): Return an unsigned type.
377 (read_leb128): Break if the shift becomes too big.
378 (process_extended_line_op): Do not read the address if the length
380 (read_cie): Warn and fail if the pointer size or segment size are
382 * dwarf.h (DWARF2_External_LineInfo): Delete unused and incorrect
383 structure definition.
384 (DWARF2_External_PubNames): Likewise.
385 (DWARF2_External_CompUnit): Likewise.
386 (DWARF2_External_ARange): Likewise.
387 (DWARF2_Internal_LineInfo): Use dwarf_vma type for
389 (eh_addr_size): Update prototype.
392 * dwarf.c (process_debug_info): Zero the debug information array
393 since correct initialisation cannot be relied upon.
394 (process_cu_tu_index): Improve range checks.
397 * dwarf.c (display_debug_pubnames_worker): Use dwarf_vma type for
399 * readelf.c (dump_relocations): Handle printing offsets which are
401 (process_corefile_note_segment): Add range check of the namesz
404 2015-02-09 Mark Wielaard <mjw@redhat.com>
406 * dwarf.c (read_and_display_attr_value): Handle DW_LANG_Fortran03
407 and DW_LANG_Fortran08.
409 2015-02-06 Nick Clifton <nickc@redhat.com>
412 * dwarf.c (display_debug_frames): Fix range checks to work on
413 32-bit binaries complied on a 64-bit host.
416 * dwarf.c (xcmalloc): Fail if the arguments are too big.
417 (xcrealloc): Likewise.
418 (xcalloc2): Likewise.
419 * readelf.c (process_mips_specific): Fail if an option has an
422 2015-02-05 Alan Modra <amodra@gmail.com>
425 * dwarf.c (dwarf_select_sections_by_letters): Don't refer to optarg.
427 2015-02-04 Nick Clifton <nickc@redhat.com>
430 * dwarf.c (read_and_display_attr_value): Test for a block length
431 being so long that it wraps around to before the start of the block.
432 (process_debug_info): Test for section_begin wrapping around to
433 before the start of the section.
434 (display_gdb_index): Test for num_cus being so large that the end
435 address wraps around to before the start of the section.
436 (process_cu_tu_index): Test for j being so large that the section
437 index pool wraps around to before the start of the section.
439 2015-02-03 Nick Clifton <nickc@redhat.com>
442 * dwarf.c (process_debug_info): Add range check.
443 (display_debug_pubnames_worker): Likewise.
444 (display_gdb_index): Fix range check.
445 (process_cu_tu_index): Add range check.
446 * readelf.c (get_data): Change parameter types from size_t to
447 bfd_size_type. Add checks for loss of accuracy when casting from
448 bfd_size_type to size_t.
449 (get_dynamic_data): Likewise.
450 (process_section_groups): Limit number of error messages.
452 2015-02-03 Nick Clifton <nickc@redhat.com>
455 * objdump.c (display_any_bfd): Fail if archives nest too deeply.
457 2015-01-28 James Bowman <james.bowman@ftdichip.com>
459 * readelf.c: Add FT32 support.
461 2015-01-27 Nick Clifton <nickc@redhat.com>
464 * dlltool.c (identify_search_archive): If the last archive was the
465 same as the current archive, terminate the loop.
467 * addr2line.c (slurp_symtab): If the symcount is zero, free the
468 symbol table pointer.
470 * rcparse.y: Add checks to avoid integer divide by zero.
471 * rescoff.c (read_coff_rsrc): Add check on the size of the
473 (read_coff_res_dir): Add check on the nesting level.
474 Check for resource names overrunning the buffer.
475 * resrc.c (write_rc_messagetable): Update formatting.
476 Add check of 'elen' being zero.
478 2015-01-23 Nick Clifton <nickc@redhat.com>
480 * nlmconv.c (powerpc_mangle_relocs): Fix build errors introduced
481 by recent delta, when compiling on for a 32-bit host.
483 2015-01-21 Nick Clifton <nickc@redhat.com>
486 * addr2line.c (main): Call bfd_set_error_program_name.
487 * ar.c (main): Likewise.
488 * coffdump.c (main): Likewise.
489 * cxxfilt.c (main): Likewise.
490 * dlltool.c (main): Likewise.
491 * nlmconv.c (main): Likewise.
492 * nm.c (main): Likewise.
493 * objdump.c (main): Likewise.
494 * size.c (main): Likewise.
495 * srconv.c (main): Likewise.
496 * strings.c (main): Likewise.
497 * sysdump.c (main): Likewise.
498 * windmc.c (main): Likewise.
499 * windres.c (main): Likewise.
500 * objcopy.c (main): Likewise.
501 (copy_relocations_in_section): Check for relocs without associated
504 2015-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
506 * MAINTAINERS: Add self to ARM maintainers list.
508 2015-01-21 Nick Clifton <nickc@redhat.com>
511 * coffgrok.c (do_type): Check that computed ref exists.
512 (doit): Add range checks when computing section for scope.
514 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
516 * dwarf.c (process_debug_info): Properly check abbrev size.
518 2015-01-12 Nick Clifton <nickc@redhat.com>
521 * dwarf.c (process_debug_info): Check for abbrev_base being larger
522 than the section size.
523 (process_cu_tu_index): Use xcalloc2 to allocate the CU and TU
525 (xcalloc2): New function. Like xcalloc, but checks for overflow.
526 (display_debug_addr): Use xcalloc to allocate the debug_addr_info
527 array. Check for an address_base that is too large.
529 * dwarf.h (xcalloc2): Prototype.
531 2015-01-12 Alan Modra <amodra@gmail.com>
533 * prdbg.c (print_debugging_info): Don't use void* for function
535 * budbg.h (print_debugging_info): Update prototype.
537 2015-01-08 Nick Clifton <nickc@redhat.com>
540 * ojcopy.c (copy_object): Free the symbol table if no symbols
542 (copy_file): Use bfd_close_all_done to close files that could not
545 * sysdump.c (getINT): Fail if reading off the end of the buffer.
546 Replace call to abort with a call to fatal.
547 (getCHARS): Prevetn reading off the end of the buffer.
549 * nlmconv.c (i386_mangle_relocs): Skip relocs without an
551 (powerpc_mangle_relocs): Skip unrecognised relocs. Check address
552 range before applying a reloc.
554 2015-01-07 Nick Clifton <nickc@redhat.com>
557 * dlltool.c (scan_obj_file): Break loop if the last archive
558 displayed matches the current archive.
560 * objdump.c (display_any_bfd): Add a depth limit to nested archive
561 display in order to avoid infinite loops.
562 * srconv.c: Replace calls to abort with calls to fatal with an
565 2015-01-06 Nick Clifton <nickc@redhat.com>
568 * coffdump.c (dump_coff_section): Check for a symbol being
569 available before printing its name.
570 (main): Check the return value from coff_grok.
571 * coffgrok.c: Reformat and tidy.
572 Add range checks to most functions.
573 (coff_grok): Return NULL if the input bfd is not in a COFF
575 * coffgrok.h: Reformat and tidy.
576 (struct coff_section): Change the nrelocs field to unsigned.
577 * srconv.c (main): Check the return value from coff_grok.
579 2015-01-05 Nick Clifton <nickc@redhat.com>
582 * nm.c (print_symbol): Add 'is_synthetic' parameter. Use it to
583 help initialize the info.elfinfo field.
584 (print_size_symbols): Add 'synth_count' parameter. Use it to set
585 the is_synthetic parameter when calling print_symbol.
586 (print_symbols): Likewise.
587 (display_rel_file): Pass synth_count to printing function.
588 (display_archive): Break loop if the last archive displayed
589 matches the current archive.
590 * size.c (display_archive): Likewise.
592 2015-01-05 Nick Clifton <nickc@redhat.com>
595 * dwarf.c (alloc_num_debug_info_entries): New variable.
596 (process_debug_info): Set it. Use it to avoid displaying
597 attributes for which there is no info.
598 (display_debug_abbrev): Check that the debug_info_entry index is
599 valid before using it.
600 (display_loc_list_dwo): Likewise.
601 (process_cu_tu_index): Add range check for an overlarge dw_sect
603 (free_debug_memory): Reset alloc_num_debug_info_entries.
604 * readelf.c (slurp_ia64_unwind_table): Warn if the reloc could not
606 (dynamic_section_mips_val): Warn if the timestamp is invalid.
607 (print_mips_got_entry): Add a data_end parameter. Warn if a read
608 would go beyond the end of the data, and return an error value.
609 (process_mips_specific): Do not read options from beyond the end
611 Correct code to display optional data at the end of an option.
612 Warn if there are too many GOT symbols.
613 Update calls to print_mips_got_entry, and handle error returns.
615 2015-01-05 Daniel Klauer <daniel.c.klauer@web.de>
618 * doc/binutils.texi (dlltool): Correct description of --kill-at
621 2015-01-01 Alan Modra <amodra@gmail.com>
623 * version.c (print_version): Just print current year.
625 2015-01-01 Alan Modra <amodra@gmail.com>
627 Update year range in copyright notice of all files.
629 For older changes see ChangeLog-2014
631 Copyright (C) 2015 Free Software Foundation, Inc.
633 Copying and distribution of this file, with or without modification,
634 are permitted in any medium without royalty provided the copyright
635 notice and this notice are preserved.
641 version-control: never