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