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