Fixes illegal memory access errors and arithmetic overflows when running strip on...
[deliverable/binutils-gdb.git] / binutils / ChangeLog
CommitLineData
06b73f41
AB
12015-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
e3ee4005
NC
62015-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
c8071705
NC
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
99654aaf
TG
262015-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
7173b38a
AB
312015-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
137c83d6
AB
372015-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
685080f2
NC
462015-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
94d15024
MF
592015-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
948f632f
DA
662015-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
0821d5b1
NC
782015-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
9035ed51
MF
832015-02-21 Mike Frysinger <vapier@gentoo.org>
84
85 * readelf.c (process_program_headers): Add newline to warning
86 message.
87
4ef9f41a
AA
882015-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
951eaaec
NC
932015-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
ffc0f143
NC
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
b4eb7656
AM
1092015-02-13 Alan Modra <amodra@gmail.com>
110
111 * dwarf.c: Formatting, whitespace.
112 (process_debug_info): Style fix.
113
0e7f931f
NC
1142015-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
362beea4
NC
1222015-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
77ef8654
NC
1312015-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
03a91817
NC
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
834f871c
NC
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
5a195044
MW
1632015-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
5929c344
NC
1682015-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
8490fb40
NC
174 PR binutils/17531
175 * dwarf.c (xcmalloc): Fail if the arguments are too big.
176 (xcrealloc): Likewise.
177 (xcalloc2): Likewise.
55325047
NC
178 * readelf.c (process_mips_specific): Fail if an option has an
179 invalid size.
8490fb40 180
7cc78d07
AM
1812015-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
f3853b34
NC
1862015-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
57028622
NC
1982015-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
64d29018
NC
2112015-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
3f8107ab
AM
2162015-01-28 James Bowman <james.bowman@ftdichip.com>
217
218 * readelf.c: Add FT32 support.
219
37e3922e
NC
2202015-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
877a8638
NC
226 * addr2line.c (slurp_symtab): If the symcount is zero, free the
227 symbol table pointer.
228
0897ec15
NC
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
bb97bdd7
NC
2372015-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
86eafac0
NC
2422015-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
6c1965f9
RR
2632015-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
264
265 * MAINTAINERS: Add self to ARM maintainers list.
266
5b7d6237
NC
2672015-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
a0a3b04c
L
2732015-01-12 H.J. Lu <hongjiu.lu@intel.com>
274
275 * dwarf.c (process_debug_info): Properly check abbrev size.
276
72c61a0d
NC
2772015-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.
1306a742
NC
285 (display_debug_addr): Use xcalloc to allocate the debug_addr_info
286 array. Check for an address_base that is too large.
287
72c61a0d
NC
288 * dwarf.h (xcalloc2): Prototype.
289
b38ead21
AM
2902015-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
3565cf8f
NC
2962015-01-08 Nick Clifton <nickc@redhat.com>
297
298 PR binutils/17512
063bb025
NC
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
848cde35
NC
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
3565cf8f
NC
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
c88f5b8e
NC
3132015-01-07 Nick Clifton <nickc@redhat.com>
314
315 PR binutils/17512
d7b24d29
NC
316 * dlltool.c (scan_obj_file): Break loop if the last archive
317 displayed matches the current archive.
318
c88f5b8e
NC
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
85880250
NC
3242015-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
896ca098
NC
3382015-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
82b1b41b
NC
3512015-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
c1724c7f
DK
3742015-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
efd321f9
AM
3802015-01-01 Alan Modra <amodra@gmail.com>
381
382 * version.c (print_version): Just print current year.
383
b90efa5b 3842015-01-01 Alan Modra <amodra@gmail.com>
5c294fee 385
b90efa5b 386 Update year range in copyright notice of all files.
5c294fee 387
b90efa5b 388For older changes see ChangeLog-2014
252b5132 389\f
b90efa5b 390Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
391
392Copying and distribution of this file, with or without modification,
393are permitted in any medium without royalty provided the copyright
394notice and this notice are preserved.
395
252b5132
RH
396Local Variables:
397mode: change-log
398left-margin: 8
399fill-column: 74
400version-control: never
401End:
This page took 0.697128 seconds and 4 git commands to generate.