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