1 2015-02-28 Andrew Burgess <andrew.burgess@embecosm.com>
3 * objcopy.c (update_sections): New list.
4 (command_line_switch): Add OPTION_UPDATE_SECTION.
5 (copy_options): Add update-section.
6 (copy_usage): Document new option.
7 (is_update_section): New function.
8 (is_strip_section_1): Add check for attempt to update and remove
10 (copy_object): Update size and content of requested sections.
11 (skip_section): Don't copy for updated sections.
12 (copy_main): Handle --update-section.
13 * doc/binutils.texi (objcopy): Add description of --update-section
15 * NEWS: Mention --update-section option.
17 2015-02-26 Nick Clifton <nickc@redhat.com>
20 * coffgrok.c (do_type): Check for an out of range tag index.
21 Check for integer overflow computing array dimension.
22 (do_define): Likewise.
24 2015-02-26 Andrew Burgess <andrew.burgess@embecosm.com>
26 * objcopy.c (init_section_add): Rename optarg to arg in order to
27 avoid shadowing a global variable.
29 2015-02-26 Nick Clifton <nickc@redhat.com>
32 * resrc.c (write_rc_messagetable): Tighten check for invalid
35 * dwarf.c (display_debug_loc): Pacify the undefined behaviour
36 sanitizer by simplifying address difference calculation.
37 (struct Frame_Chunk): Change type of cfa_offset to dwarf_vma in
38 order to avoid arithmetic overflows.
39 (frame_display_row): Cast cfa_offset before printing it.
40 (display_debug_frames): Likewise.
41 Check for an unexpected segment size.
42 Chnage type of 'l' local to dwarf_vma and cast it back to an int
44 (process_cu_tu_index): Tighten check for an invalid ncols value.
45 * readelf.c (process_corefile_note_segment): Check for
46 inote.descdata extending beyond the end of the section.
47 (process_v850_notes): Likewise.
49 2015-02-26 Terry Guo <terry.guo@arm.com>
51 * readelf.c (arm_attr_tag_ABI_HardFP_use): Update how we
54 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
56 * objcopy.c (init_section_add): New function.
57 (section_add_load_file): New function.
58 (copy_main): Make use of new functions.
60 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
62 * od-elf32_avr.c: Add elf32-avr.h include.
63 (OPT_AVRPROP): Define.
64 (options[]): Add 'avr-prop' entry.
65 (elf32_avr_help): Add avr-prop help text.
66 (elf32_avr_dump_avr_prop): New function.
67 (elf32_avr_dump): Add check for avr-prop.
69 2015-02-24 Nick Clifton <nickc@redhat.com>
71 * readelf.c (get_machine_flags): Remove deprecated V850 machine
73 (get_v850_section_type_name): New function. Handles V850 special
75 (get_section_type_name): Add support for V850.
76 (get_v850_elf_note_type): New function. Returns the name of a
78 (print_v850_note): New function. Prints a V850 note.
79 (process_v850_notes): New function. Prints V850 notes.
80 (process_note_sections): Add support for V850.
82 2015-02-24 Mike Frysinger <vapier@gentoo.org>
85 * readelf.c (process_symbol_table): Declare chained. Increment it
86 in every loop. Abort when chained is larger than nchains. Move
87 error check outside of chain loop.
89 2015-02-24 Dmitry Antipov <dantipov@nvidia.com>
91 * readelf.c (find_symbol_for_address): Use a binary search to
92 speed up symbol location. Skip check for function symbol type.
93 (*_unw_aux_info): Add funtab and nfuns fields contains a sorted
94 list of function symbols.
95 (dump_ia64_unwind): Initialise the funtab and nfuns fields and
96 pass them to find_symbol_for_address.
97 (dump_hppa_unwind): Likewise.
98 (arm_print_vma_and_name): Pass funtab to find_symbol_for_address.
99 (dump_arm_unwind): Initialise the funtab and nfuns fields.
101 2015-02-24 Nick Clifton <nickc@redhat.com>
103 * objdump.c (dump_section): Extend the warning message displayed
104 when a section cannot be loaded.
106 2015-02-21 Mike Frysinger <vapier@gentoo.org>
108 * readelf.c (process_program_headers): Add newline to warning
111 2015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
113 * readelf.c (get_note_type): Add NT_S390_VXRS_LOW and
116 2015-02-13 Nick Clifton <nickc@redhat.com>
119 * dwarf.c (read_leb128): Fix test for shift becoming too large.
121 * coffgrok.c (do_define): Add check for type size overflow.
122 * srconv.c (walk_tree_sfile): Check that enough sections are
123 available before parsing.
127 * dwarf.c (display_debug_aranges): Add check for an excessive
129 (process_cu_tu_index): Check for a row * columns sum being too
132 2015-02-13 Alan Modra <amodra@gmail.com>
134 * dwarf.c: Formatting, whitespace.
135 (process_debug_info): Style fix.
137 2015-02-11 Nick Clifton <nickc@redhat.com>
139 * rl78-decode.opc: Add 'a' attribute to instructions that support
141 * rl78-decode.c: Regenerate.
142 * rl78-dis.c (print_insn_rl78): Display the offset in [HL+0]
145 2015-02-11 Nick Clifton <nickc@redhat.com>
148 * dwarf.c (display_debug_pubnames_worker): Work around compiler
149 bug checking address ranges.
150 (display_debug_frames): Likewise.
151 (display_gdb_index): Likewise.
152 (process_cu_tu_index): Add range check on the ncols value.
154 2015-02-10 Nick Clifton <nickc@redhat.com>
157 * dwarf.c (eh_addr_size): Use an unsigned type.
158 (size_of_encoded_value): Return an unsigned type.
159 (read_leb128): Break if the shift becomes too big.
160 (process_extended_line_op): Do not read the address if the length
162 (read_cie): Warn and fail if the pointer size or segment size are
164 * dwarf.h (DWARF2_External_LineInfo): Delete unused and incorrect
165 structure definition.
166 (DWARF2_External_PubNames): Likewise.
167 (DWARF2_External_CompUnit): Likewise.
168 (DWARF2_External_ARange): Likewise.
169 (DWARF2_Internal_LineInfo): Use dwarf_vma type for
171 (eh_addr_size): Update prototype.
174 * dwarf.c (process_debug_info): Zero the debug information array
175 since correct initialisation cannot be relied upon.
176 (process_cu_tu_index): Improve range checks.
179 * dwarf.c (display_debug_pubnames_worker): Use dwarf_vma type for
181 * readelf.c (dump_relocations): Handle printing offsets which are
183 (process_corefile_note_segment): Add range check of the namesz
186 2015-02-09 Mark Wielaard <mjw@redhat.com>
188 * dwarf.c (read_and_display_attr_value): Handle DW_LANG_Fortran03
189 and DW_LANG_Fortran08.
191 2015-02-06 Nick Clifton <nickc@redhat.com>
194 * dwarf.c (display_debug_frames): Fix range checks to work on
195 32-bit binaries complied on a 64-bit host.
198 * dwarf.c (xcmalloc): Fail if the arguments are too big.
199 (xcrealloc): Likewise.
200 (xcalloc2): Likewise.
201 * readelf.c (process_mips_specific): Fail if an option has an
204 2015-02-05 Alan Modra <amodra@gmail.com>
207 * dwarf.c (dwarf_select_sections_by_letters): Don't refer to optarg.
209 2015-02-04 Nick Clifton <nickc@redhat.com>
212 * dwarf.c (read_and_display_attr_value): Test for a block length
213 being so long that it wraps around to before the start of the block.
214 (process_debug_info): Test for section_begin wrapping around to
215 before the start of the section.
216 (display_gdb_index): Test for num_cus being so large that the end
217 address wraps around to before the start of the section.
218 (process_cu_tu_index): Test for j being so large that the section
219 index pool wraps around to before the start of the section.
221 2015-02-03 Nick Clifton <nickc@redhat.com>
224 * dwarf.c (process_debug_info): Add range check.
225 (display_debug_pubnames_worker): Likewise.
226 (display_gdb_index): Fix range check.
227 (process_cu_tu_index): Add range check.
228 * readelf.c (get_data): Change parameter types from size_t to
229 bfd_size_type. Add checks for loss of accuracy when casting from
230 bfd_size_type to size_t.
231 (get_dynamic_data): Likewise.
232 (process_section_groups): Limit number of error messages.
234 2015-02-03 Nick Clifton <nickc@redhat.com>
237 * objdump.c (display_any_bfd): Fail if archives nest too deeply.
239 2015-01-28 James Bowman <james.bowman@ftdichip.com>
241 * readelf.c: Add FT32 support.
243 2015-01-27 Nick Clifton <nickc@redhat.com>
246 * dlltool.c (identify_search_archive): If the last archive was the
247 same as the current archive, terminate the loop.
249 * addr2line.c (slurp_symtab): If the symcount is zero, free the
250 symbol table pointer.
252 * rcparse.y: Add checks to avoid integer divide by zero.
253 * rescoff.c (read_coff_rsrc): Add check on the size of the
255 (read_coff_res_dir): Add check on the nesting level.
256 Check for resource names overrunning the buffer.
257 * resrc.c (write_rc_messagetable): Update formatting.
258 Add check of 'elen' being zero.
260 2015-01-23 Nick Clifton <nickc@redhat.com>
262 * nlmconv.c (powerpc_mangle_relocs): Fix build errors introduced
263 by recent delta, when compiling on for a 32-bit host.
265 2015-01-21 Nick Clifton <nickc@redhat.com>
268 * addr2line.c (main): Call bfd_set_error_program_name.
269 * ar.c (main): Likewise.
270 * coffdump.c (main): Likewise.
271 * cxxfilt.c (main): Likewise.
272 * dlltool.c (main): Likewise.
273 * nlmconv.c (main): Likewise.
274 * nm.c (main): Likewise.
275 * objdump.c (main): Likewise.
276 * size.c (main): Likewise.
277 * srconv.c (main): Likewise.
278 * strings.c (main): Likewise.
279 * sysdump.c (main): Likewise.
280 * windmc.c (main): Likewise.
281 * windres.c (main): Likewise.
282 * objcopy.c (main): Likewise.
283 (copy_relocations_in_section): Check for relocs without associated
286 2015-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
288 * MAINTAINERS: Add self to ARM maintainers list.
290 2015-01-21 Nick Clifton <nickc@redhat.com>
293 * coffgrok.c (do_type): Check that computed ref exists.
294 (doit): Add range checks when computing section for scope.
296 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
298 * dwarf.c (process_debug_info): Properly check abbrev size.
300 2015-01-12 Nick Clifton <nickc@redhat.com>
303 * dwarf.c (process_debug_info): Check for abbrev_base being larger
304 than the section size.
305 (process_cu_tu_index): Use xcalloc2 to allocate the CU and TU
307 (xcalloc2): New function. Like xcalloc, but checks for overflow.
308 (display_debug_addr): Use xcalloc to allocate the debug_addr_info
309 array. Check for an address_base that is too large.
311 * dwarf.h (xcalloc2): Prototype.
313 2015-01-12 Alan Modra <amodra@gmail.com>
315 * prdbg.c (print_debugging_info): Don't use void* for function
317 * budbg.h (print_debugging_info): Update prototype.
319 2015-01-08 Nick Clifton <nickc@redhat.com>
322 * ojcopy.c (copy_object): Free the symbol table if no symbols
324 (copy_file): Use bfd_close_all_done to close files that could not
327 * sysdump.c (getINT): Fail if reading off the end of the buffer.
328 Replace call to abort with a call to fatal.
329 (getCHARS): Prevetn reading off the end of the buffer.
331 * nlmconv.c (i386_mangle_relocs): Skip relocs without an
333 (powerpc_mangle_relocs): Skip unrecognised relocs. Check address
334 range before applying a reloc.
336 2015-01-07 Nick Clifton <nickc@redhat.com>
339 * dlltool.c (scan_obj_file): Break loop if the last archive
340 displayed matches the current archive.
342 * objdump.c (display_any_bfd): Add a depth limit to nested archive
343 display in order to avoid infinite loops.
344 * srconv.c: Replace calls to abort with calls to fatal with an
347 2015-01-06 Nick Clifton <nickc@redhat.com>
350 * coffdump.c (dump_coff_section): Check for a symbol being
351 available before printing its name.
352 (main): Check the return value from coff_grok.
353 * coffgrok.c: Reformat and tidy.
354 Add range checks to most functions.
355 (coff_grok): Return NULL if the input bfd is not in a COFF
357 * coffgrok.h: Reformat and tidy.
358 (struct coff_section): Change the nrelocs field to unsigned.
359 * srconv.c (main): Check the return value from coff_grok.
361 2015-01-05 Nick Clifton <nickc@redhat.com>
364 * nm.c (print_symbol): Add 'is_synthetic' parameter. Use it to
365 help initialize the info.elfinfo field.
366 (print_size_symbols): Add 'synth_count' parameter. Use it to set
367 the is_synthetic parameter when calling print_symbol.
368 (print_symbols): Likewise.
369 (display_rel_file): Pass synth_count to printing function.
370 (display_archive): Break loop if the last archive displayed
371 matches the current archive.
372 * size.c (display_archive): Likewise.
374 2015-01-05 Nick Clifton <nickc@redhat.com>
377 * dwarf.c (alloc_num_debug_info_entries): New variable.
378 (process_debug_info): Set it. Use it to avoid displaying
379 attributes for which there is no info.
380 (display_debug_abbrev): Check that the debug_info_entry index is
381 valid before using it.
382 (display_loc_list_dwo): Likewise.
383 (process_cu_tu_index): Add range check for an overlarge dw_sect
385 (free_debug_memory): Reset alloc_num_debug_info_entries.
386 * readelf.c (slurp_ia64_unwind_table): Warn if the reloc could not
388 (dynamic_section_mips_val): Warn if the timestamp is invalid.
389 (print_mips_got_entry): Add a data_end parameter. Warn if a read
390 would go beyond the end of the data, and return an error value.
391 (process_mips_specific): Do not read options from beyond the end
393 Correct code to display optional data at the end of an option.
394 Warn if there are too many GOT symbols.
395 Update calls to print_mips_got_entry, and handle error returns.
397 2015-01-05 Daniel Klauer <daniel.c.klauer@web.de>
400 * doc/binutils.texi (dlltool): Correct description of --kill-at
403 2015-01-01 Alan Modra <amodra@gmail.com>
405 * version.c (print_version): Just print current year.
407 2015-01-01 Alan Modra <amodra@gmail.com>
409 Update year range in copyright notice of all files.
411 For older changes see ChangeLog-2014
413 Copyright (C) 2015 Free Software Foundation, Inc.
415 Copying and distribution of this file, with or without modification,
416 are permitted in any medium without royalty provided the copyright
417 notice and this notice are preserved.
423 version-control: never