Fix seg-fault in readelf when scanniing a corrupt binary.
[external/binutils.git] / binutils / ChangeLog
1 2015-09-03  Nick Clifton  <nickc@redhat.com>
2
3         PR binutils/18879
4         * readelf.c (get_unwind_section_word): Check for negative offsets
5         and very small sections.
6         (dump_arm_unwind): Warn if the table offset is too large.
7
8 2015-08-28  H.J. Lu  <hongjiu.lu@intel.com>
9
10         * Makefile.am (TOOL_PROGS): Add readelf.
11         * Makefile.in: Regenerated.
12
13 2015-08-24  Yaakov Selkowitz  <yselkowi@redhat.com>
14
15         * configure: Regenerate.
16
17 2015-08-17  Alan Modra  <amodra@gmail.com>
18
19         * configure: Regenerate.
20
21 2015-08-07  Andrew Burgess  <andrew.burgess@embecosm.com>
22
23         * objcopy.c (is_specified_symbol_predicate): Don't stop at first
24         match.  Non-match rules set found to FALSE.
25
26 2015-08-06  Yaakov Selkowitz  <yselkowi@redhat.com>
27
28         * configure: Regenerate.
29
30 2015-08-05  Nick Clifton  <nickc@redhat.com>
31
32         * doc/binutils.texi: Document that the --only-keep-debug option
33         to strip and objcopy preserves the section headers of stripped
34         sections.
35
36 2015-08-04  Yuriy M. Kaminskiy"  <yumkam@gmail.com>
37             Tyler Hicks  <tyhicks@canonical.com>
38
39         PR binutils/18750
40         * readelf.c (process_mips_specific): Fix incorrect escape
41         sequence handling.
42
43 2015-08-04  Nick Clifton  <nickc@redhat.com>
44
45         * ar.c (extract_file): Free cbuf if the path is invalid.
46
47 2015-07-27  H.J. Lu  <hongjiu.lu@intel.com>
48
49         * configure: Regenerated.
50
51 2015-07-24  H.J. Lu  <hongjiu.lu@intel.com>
52
53         * stabs.c (parse_stab_range_type): Use 0xffffffffffffffffLL.
54
55 2015-07-22  Alan Modra  <amodra@gmail.com>
56
57         * readelf.c (dump_relocations): Show MIN_INT addends as negative.
58
59 2015-07-20  Alan Modra  <amodra@gmail.com>
60
61         * doc/Makefile.in: Regenerate.
62
63 2015-07-16  Alan Modra  <amodra@gmail.com>
64
65         PR binutils/18672
66         * readelf.c (get_32bit_dynamic_section): Correct buffer limit test.
67         (get_64bit_dynamic_section): Likewise.
68
69 2015-07-14  H.J. Lu  <hongjiu.lu@intel.com>
70
71         * objcopy.c (copy_file): Set BFD_COMPRESS_GABI if not
72         zlib-gnu.
73         * doc/binutils.texi: Change --compress-debug-sections and
74         --compress-debug-sections=zlib to zlib-gabi.
75
76 2015-07-10  H.J. Lu  <hongjiu.lu@intel.com>
77
78          PR binutils/18656
79          * objcopy.c (setup_section): Call bfd_convert_section_size
80          to get the output section size.
81          (copy_section): Get the section size from the output section
82          and call bfd_get_full_section_contents to convert section
83          contents for output.
84
85 2015-07-10  H.J. Lu  <hongjiu.lu@intel.com>
86
87         * readelf.c (dump_section_as_strings): Warn unsupported compress
88         type and corrupted compressed section.
89         (dump_section_as_bytes): Likewise.
90         (load_specific_debug_section): Likewise.
91
92 2015-07-09  Catherine Moore  <clm@codesourcery.com>
93
94         * readelf.c (print_mips_fp_abi_value): Handle
95         Val_GNU_MIPS_ABI_FP_NAN2008.
96
97 2015-06-26  Matthew Fortune  <matthew.fortune@imgtec.com>
98
99         * readelf.c (get_mips_dynamic_type): Handle DT_MIPS_RLD_MAP_REL.
100
101 2015-06-22  Nick Clifton  <nickc@redhat.com>
102
103         * objdump.c (disassemble_bytes): Set the stop_vma field in the
104         disassemble_info structure when disassembling code sections with
105         -d.
106         * doc/binutils.texi (objdump): Document the discrepancy between -d
107         and -D.
108
109 2015-06-05  Nick Clifton  <nickc@redhat.com>
110
111         * dwarf.c (read_debug_line_header): Use reloc_at to detect
112         incomplete .debug_line headers
113
114 2015-05-29  Roland McGrath  <mcgrathr@google.com>
115
116         * readelf.c (print_gnu_note: NT_GNU_ABI_TAG): Recognize
117         GNU_ABI_TAG_SYLLABLE and GNU_ABI_TAG_NACL.
118
119 2015-05-29  Stephen Kitt  <steve@sk2.org>
120
121         * dlltool.c (make_one_lib_file): Clear .idata$6 before use.
122         (main): Fail if the output file specified by the -z option cannot
123         be opened.
124
125 2015-05-18  Nick Clifton  <nickc@redhat.com>
126
127         PR binutils/18420
128         * ia64-unwind.c (unw_decode): Add end parameter.  Pass parameter
129         on to decode functions.
130         (unw_devode_p2_p5): Pass end paraemter to UNW_DEC_SPILL_MASK.
131         (UNW_DEC_SPILL_MASK): Add end parameter.  Check that unw_rlen does
132         not take us beyond the end of the buffer.
133         * ia64-unwind.h (unw_decode): Update prototype.
134         * readelf.c (dump_ia64_unwind): Pass end pointer to unw_decode.
135
136 2015-05-15  H.J. Lu  <hongjiu.lu@intel.com>
137
138         * readelf.c (dump_section_as_strings): Change pointers from
139         char * to unsigned char *.
140
141 2015-05-15  H.J. Lu  <hongjiu.lu@intel.com>
142
143         PR binutis/18386
144         * doc/binutils.texi: Document -Mamd64 and -Mintel64.
145
146 2015-05-15  Nick Clifton  <nickc@redhat.com>
147
148         * readelf.c (options): Add "decompress".
149         (usage): Mention -z/--decompress.
150         (parse_args): Handle -z.
151         (uncompress_section_contents): Move to earlier in the file.
152         (dump_section_as_strings): If requested, decompress the section
153         before dumping.
154         (dump_section_as_bytes): Likewise.
155         * doc/binutils.texi: Document the new option.
156
157 2015-05-14  Peter Bergner  <bergner@vnet.ibm.com>
158
159         * MAINTAINERS: Add myself as PPC maintainer.
160
161 2015-05-14  H.J. Lu  <hongjiu.lu@intel.com>
162
163         * readelf.c (uncompress_section_contents): Add a parameter for
164         uncompressed size.  Don't check the zlib header.
165         (load_specific_debug_section): Updated.
166
167 2015-05-15  Nick Clifton  <nickc@redhat.com>
168
169         PR binutils/18374
170         * dwarf.h (struct dwarf_section): Add reloc_info and num_relocs
171         fields.
172         (struct dwarf_section_display): Change bitfield to boolean.
173         (reloc_at): Add prototype.
174         * dwarf.c (display_loc_list): Ignore list terminators if there are
175         relocs against them.
176         (display_debug_loc): Issue a warning if there are relocs against
177         the .debug_loc section.
178         (display_displays): Initialise reloc_info and num_relocs fields.
179         * objdump.c (load_specific_debug_section): Initialise reloc_info
180         and num_relocs fields.
181         (reloc_at): New function.
182         * readelf.c (is_32bit_abs_reloc): Add IA64's R_IA64_DIS32LSB
183         reloc.
184         (reloc_at): New function.
185         (apply_relocations): Add relocs_return and num_relocs_return
186         parameters.  Fill them in with the loaded relocs if non-NULL.
187         (dump_section_as_bytes): Update call to apply_relocations.
188         (load_specific_debug_section): Initialise reloc_info and
189         num_relocs fields.
190
191 2015-05-13  H.J. Lu  <hongjiu.lu@intel.com>
192
193         * elfedit.c (elf_class): Return ELF_CLASS_BOTH by default.
194
195 2015-05-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
196
197         * MAINTAINERS: Add myself as s390 and s390x maintainer.
198
199 2015-05-12  Stephen Kitt  <steve@sk2.org>
200
201         * dlltool.c (main): Accept -t as an abbreviation for
202         --temp-prefix.
203
204 2015-05-11  H.J. Lu  <hongjiu.lu@intel.com>
205
206         * dwarf.c (dwarf_regnames_iamcu): New.
207         (init_dwarf_regnames_iamcu): Likewise.
208         (init_dwarf_regnames): Call init_dwarf_regnames_iamcu for EM_IAMCU.
209         * dwarf.h (init_dwarf_regnames_iamcu): New.
210         * objdump.c (dump_dwarf): Call init_dwarf_regnames_iamcu for
211         bfd_arch_iamcu.
212
213 2015-05-11  H.J. Lu  <hongjiu.lu@intel.com>
214
215         * elfedit.c (enum elfclass): New.
216         (input_elf_class): Change type to enum elfclass.
217         (output_elf_class): New.
218         (elf_class): Change return type to enum elfclass.  Support EM_386
219         and EM_IAMCU.
220         (update_elf_header): Check if input and output ELF classes match.
221         (elf_machine): Support EM_386 and EM_IAMCU.
222         (main): Update input_elf_class.  Set output_elf_class.
223         * doc/binutils.texi: Update elfedit.
224
225 2015-05-11  H.J. Lu  <hongjiu.lu@intel.com>
226
227         * dwarf.c (init_dwarf_regnames): Replace EM_486 with EM_IAMCU.
228         * readelf.c (guess_is_rela): Likewise.
229         (dump_relocations): Likewise.
230         (get_machine_name): Likewise.
231         (get_elf_section_flags): Likewise.
232         (process_section_headers): Likewise.
233         (is_32bit_abs_reloc): Likewise.
234         (is_32bit_pcrel_reloc): Likewise.
235
236 2015-04-30  Nick Clifton  <nickc@redhat.com>
237
238         * readelf.c (get_machine_flags): Add description of MeP flags.
239
240 2015-04-27  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
241
242         * readelf.c (display_s390_gnu_attribute): New function.
243         (process_s390_specific): New function.
244         (process_arch_specific): Call process_s390_specific.
245
246 2015-04-24  Nick Clifton  <nickc@redhat.com>
247
248         PR 18313
249         * ieee.c (ieee_read_cxx_class): Initialise the varargs variable.
250         * readelf.c (uncompress_section_contents): Zero initialise the
251         zstream structure.
252
253 2015-04-23  H.J. Lu  <hongjiu.lu@intel.com>
254
255         PR binutils/18209
256         * objcopy.c (setup_section): Copy compress status.
257
258 2015-04-15  H.J. Lu  <hongjiu.lu@intel.com>
259
260         * NEWS: Mention
261         --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi].
262
263 2015-04-14  Nick Clifton  <nickc@redhat.com>
264
265         * readelf.c (target_specific_reloc_handling): Add code to handle
266         RL78 complex relocs.
267
268 2015-04-13  Doug Evans  <dje@google.com>
269
270         PR binutils/18218
271         * readelf.c (printable_section_name): Constify sec argument.
272         (apply_relocations): Ditto.  New arg "size".  All callers updated.
273         (load_specific_debug_section): Constify sec argument.
274         Remove side-effect of modifying sec->sh_size.
275
276 2015-04-09  H.J. Lu  <hongjiu.lu@intel.com>
277
278         * objcopy.c (do_debug_sections): Use bit patterns.
279         (copy_object): Return FALSE for compress_zlib, compress_gnu_zlib
280         and compress_gabi_zlib on non-ELF input.
281         (copy_file): Don't check non-ELF input here.
282
283 2015-04-09  Nick Clifton  <nickc@redhat.com>
284
285         * readelf.c (get_machine_flags): Report the setting of the string
286         insn using bits.
287
288 2015-04-08  H.J. Lu  <hongjiu.lu@intel.com>
289
290         * objcopy.c (do_debug_sections): Add compress_zlib,
291         compress_gnu_zlib and compress_gabi_zlib.
292         (copy_options): Use optional_argument on compress-debug-sections.
293         (copy_usage): Update --compress-debug-sections.
294         (copy_file): Handle compress_zlib, compress_gnu_zlib and
295         compress_gabi_zlib.
296         (copy_main): Handle
297         --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
298         * doc/binutils.texi: Document
299         --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
300
301 2015-04-08  H.J. Lu  <hongjiu.lu@intel.com>
302
303         * objcopy.c (copy_usage): Replace "--interleave [<number>]" with
304         --interleave[=<number>].
305
306 2015-04-05  H.J. Lu  <hongjiu.lu@intel.com>
307
308         * readelf.c (get_elf_section_flags): Support SHF_COMPRESSED.
309         (get_compression_header): New.
310         (process_section_headers): Dump compression header if needed.
311         (uncompress_section_contents): Don't free compressed_buffer here.
312         (load_specific_debug_section): Free the compressed buffer, update
313         the section buffer and the section size if uncompress is
314         successful.
315
316 2015-04-02  H.J. Lu  <hongjiu.lu@intel.com>
317
318         * configure: Regenerated.
319
320 2015-04-02  Mike Frysinger  <vapier@gentoo.org>
321
322         * MAINTAINERS: Update my e-mail address.
323
324 2015-04-01  H.J. Lu  <hongjiu.lu@intel.com>
325
326         * configure: Regenerated.
327
328 2015-03-31  H.J. Lu  <hongjiu.lu@intel.com>
329
330         * configure.ac: Revert the AM_ZLIB change.
331         * Makefile.in: Regenerated.
332         * aclocal.m4: Likewise.
333         * configure: Likewise.
334
335 2015-03-31  H.J. Lu  <hongjiu.lu@intel.com>
336
337         * Makefile.am (ZLIB): New.
338         (ZLIBINC): Likewise.
339         (AM_CFLAGS): Add $(ZLIBINC).
340         (readelf_LDADD): Add $(ZLIB).
341         * configure.ac (AM_ZLIB): Removed.
342         (zlibdir): New.  AC_SUBST.
343         (zlibinc): Likewise.
344         Add --with-system-zlib.
345         * Makefile.in: Regenerated.
346         * config.in: Likewise.
347         * configure: Likewise.
348
349 2015-03-19  Nick Clifton  <nickc@redhat.com>
350
351         * readelf.c (get_machine_flags): Decode RL78's G13 and G14 flags.
352
353 2015-03-18  Jon Turney  <jon.turney@dronecode.org.uk>
354             Nick Clifton  <nickc@redhat.com>
355
356         PR binutils/18087
357         * doc/binutils.texi: Note that when objcopy compresses debug
358         sections the compression is only performed if it makes the section
359         smaller.
360
361 2015-03-10  H.J. Lu  <hongjiu.lu@intel.com>
362
363         PR binutils/18101
364         * readelf.c (parse_args): Move nothing to do warning to ...
365         (main): Here.
366
367 2015-03-10  Nick Clifton  <nickc@redhat.com>
368
369         PR binutils/18101
370         * readelf.c (parse_args): Enhance check for nothing to do by
371         accounting for the --wide option.
372
373         PR binutils/17636
374         * objcopy.c (copy_object): Avoid calling fatal as that does not
375         allow the parent to clean up temporary files.
376
377 2015-03-10  Yuri Gribov  <y.gribov@samsung.arm>
378
379         PR ld/16572
380         * readelf.c: Remove support for ELF_ARM_HASENTRY.
381
382 2015-03-05  Nick Clifton  <nickc@redhat.com>
383
384         PR binutils/18064
385         * doc/binutils.texi (objcopy): Extend description of
386         --add-gnu-debuglink option to explain that the separate debug info
387         file must exist.  Add a description of what to do if the debug
388         info file is built in one place but then installed into a separate
389         location.
390
391 2015-03-05  Nick Clifton  <nickc@redhat.com>
392
393         PR binutils/17994
394         * dlltool.c (temp_file_to_remove): New local array.
395         (unlink_temp_files): New functions - unlinks any file in the
396         temp_file_to_remove array, unless dotdeltemps is set.
397         (gen_exp_file): Add temp files to array.
398         (make_head): Likewise.
399         (make_delay_head): Likewise.
400         (make_tail): Likewise.
401         (gen_lib_file): Call unlink_temp_files.
402
403 2015-02-28  Andrew Burgess  <andrew.burgess@embecosm.com>
404
405         * objcopy.c (update_sections): New list.
406         (command_line_switch): Add OPTION_UPDATE_SECTION.
407         (copy_options): Add update-section.
408         (copy_usage): Document new option.
409         (is_update_section): New function.
410         (is_strip_section_1): Add check for attempt to update and remove
411         the same section.
412         (copy_object): Update size and content of requested sections.
413         (skip_section): Don't copy for updated sections.
414         (copy_main): Handle --update-section.
415         * doc/binutils.texi (objcopy): Add description of --update-section
416         option.
417         * NEWS: Mention --update-section option.
418
419 2015-02-26  Nick Clifton  <nickc@redhat.com>
420
421         PR binutils/17512
422         * coffgrok.c (do_type): Check for an out of range tag index.
423         Check for integer overflow computing array dimension.
424         (do_define): Likewise.
425
426 2015-02-26  Andrew Burgess  <andrew.burgess@embecosm.com>
427
428         * objcopy.c (init_section_add): Rename optarg to arg in order to
429         avoid shadowing a global variable.
430
431 2015-02-26  Nick Clifton  <nickc@redhat.com>
432
433         PR binutils/17512
434         * resrc.c (write_rc_messagetable): Tighten check for invalid
435         message lengths.
436
437         * dwarf.c (display_debug_loc): Pacify the undefined behaviour
438         sanitizer by simplifying address difference calculation.
439         (struct Frame_Chunk): Change type of cfa_offset to dwarf_vma in
440         order to avoid arithmetic overflows.
441         (frame_display_row): Cast cfa_offset before printing it.
442         (display_debug_frames): Likewise.
443         Check for an unexpected segment size.
444         Chnage type of 'l' local to dwarf_vma and cast it back to an int
445         when printing.
446         (process_cu_tu_index): Tighten check for an invalid ncols value.
447         * readelf.c (process_corefile_note_segment): Check for
448         inote.descdata extending beyond the end of the section.
449         (process_v850_notes): Likewise.
450
451 2015-02-26  Terry Guo  <terry.guo@arm.com>
452
453         * readelf.c (arm_attr_tag_ABI_HardFP_use): Update how we
454         display it.
455
456 2015-02-25  Andrew Burgess  <andrew.burgess@embecosm.com>
457
458         * objcopy.c (init_section_add): New function.
459         (section_add_load_file): New function.
460         (copy_main): Make use of new functions.
461
462 2015-02-25  Andrew Burgess  <andrew.burgess@embecosm.com>
463
464         * od-elf32_avr.c: Add elf32-avr.h include.
465         (OPT_AVRPROP): Define.
466         (options[]): Add 'avr-prop' entry.
467         (elf32_avr_help): Add avr-prop help text.
468         (elf32_avr_dump_avr_prop): New function.
469         (elf32_avr_dump): Add check for avr-prop.
470
471 2015-02-24  Nick Clifton  <nickc@redhat.com>
472
473         * readelf.c (get_machine_flags): Remove deprecated V850 machine
474         flags.
475         (get_v850_section_type_name): New function.  Handles V850 special
476         sections.
477         (get_section_type_name): Add support for V850.
478         (get_v850_elf_note_type): New function.  Returns the name of a
479         V850 note.
480         (print_v850_note): New function.  Prints a V850 note.
481         (process_v850_notes): New function.  Prints V850 notes.
482         (process_note_sections): Add support for V850.
483
484 2015-02-24  Mike Frysinger  <vapier@gentoo.org>
485
486         PR binutils/17531
487         * readelf.c (process_symbol_table): Declare chained.  Increment it
488         in every loop.  Abort when chained is larger than nchains.  Move
489         error check outside of chain loop.
490
491 2015-02-24  Dmitry Antipov  <dantipov@nvidia.com>
492
493         * readelf.c (find_symbol_for_address): Use a binary search to
494         speed up symbol location.  Skip check for function symbol type.
495         (*_unw_aux_info): Add funtab and nfuns fields contains a sorted
496         list of function symbols.
497         (dump_ia64_unwind): Initialise the funtab and nfuns fields and
498         pass them to find_symbol_for_address.
499         (dump_hppa_unwind): Likewise.
500         (arm_print_vma_and_name): Pass funtab to find_symbol_for_address.
501         (dump_arm_unwind): Initialise the funtab and nfuns fields.
502
503 2015-02-24  Nick Clifton  <nickc@redhat.com>
504
505         * objdump.c (dump_section): Extend the warning message displayed
506         when a section cannot be loaded.
507
508 2015-02-21  Mike Frysinger  <vapier@gentoo.org>
509
510         * readelf.c (process_program_headers): Add newline to warning
511         message.
512
513 2015-02-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
514
515         * readelf.c (get_note_type): Add NT_S390_VXRS_LOW and
516         NT_S390_VXRS_HIGH.
517
518 2015-02-13  Nick Clifton  <nickc@redhat.com>
519
520         PR binutils/17512
521         * dwarf.c (read_leb128): Fix test for shift becoming too large.
522
523         * coffgrok.c (do_define): Add check for type size overflow.
524         * srconv.c (walk_tree_sfile): Check that enough sections are
525         available before parsing.
526         (prescan): Likewise.
527
528         PR binutils/17531
529         * dwarf.c (display_debug_aranges): Add check for an excessive
530         ar_length value.
531         (process_cu_tu_index): Check for a row * columns sum being too
532         large.
533
534 2015-02-13  Alan Modra  <amodra@gmail.com>
535
536         * dwarf.c: Formatting, whitespace.
537         (process_debug_info): Style fix.
538
539 2015-02-11  Nick Clifton  <nickc@redhat.com>
540
541         * rl78-decode.opc: Add 'a' attribute to instructions that support
542         [HL+0] addressing.
543         * rl78-decode.c: Regenerate.
544         * rl78-dis.c (print_insn_rl78): Display the offset in [HL+0]
545         addresses.
546
547 2015-02-11  Nick Clifton  <nickc@redhat.com>
548
549         PR binutils/17531
550         * dwarf.c (display_debug_pubnames_worker): Work around compiler
551         bug checking address ranges.
552         (display_debug_frames): Likewise.
553         (display_gdb_index): Likewise.
554         (process_cu_tu_index): Add range check on the ncols value.
555
556 2015-02-10  Nick Clifton  <nickc@redhat.com>
557
558         PR binutils/17512
559         * dwarf.c (eh_addr_size): Use an unsigned type.
560         (size_of_encoded_value): Return an unsigned type.
561         (read_leb128): Break if the shift becomes too big.
562         (process_extended_line_op): Do not read the address if the length
563         is too long.
564         (read_cie): Warn and fail if the pointer size or segment size are
565         too big.
566         * dwarf.h (DWARF2_External_LineInfo): Delete unused and incorrect
567         structure definition.
568         (DWARF2_External_PubNames): Likewise.
569         (DWARF2_External_CompUnit): Likewise.
570         (DWARF2_External_ARange): Likewise.
571         (DWARF2_Internal_LineInfo): Use dwarf_vma type for
572         li_prologue_length.
573         (eh_addr_size): Update prototype.
574
575         PR binutils/17531
576         * dwarf.c (process_debug_info): Zero the debug information array
577         since correct initialisation cannot be relied upon.
578         (process_cu_tu_index): Improve range checks.
579
580         PR binutils/17531
581         * dwarf.c (display_debug_pubnames_worker): Use dwarf_vma type for
582         offset.
583         * readelf.c (dump_relocations): Handle printing offsets which are
584         MIN_INT.
585         (process_corefile_note_segment): Add range check of the namesz
586         field.
587
588 2015-02-09  Mark Wielaard  <mjw@redhat.com>
589
590         * dwarf.c (read_and_display_attr_value): Handle DW_LANG_Fortran03
591         and DW_LANG_Fortran08.
592
593 2015-02-06  Nick Clifton  <nickc@redhat.com>
594
595         PR binutils/17512
596         * dwarf.c (display_debug_frames): Fix range checks to work on
597         32-bit binaries complied on a 64-bit host.
598
599         PR binutils/17531
600         * dwarf.c (xcmalloc): Fail if the arguments are too big.
601         (xcrealloc): Likewise.
602         (xcalloc2): Likewise.
603         * readelf.c (process_mips_specific): Fail if an option has an
604         invalid size.
605
606 2015-02-05  Alan Modra  <amodra@gmail.com>
607
608         PR binutils/17926
609         * dwarf.c (dwarf_select_sections_by_letters): Don't refer to optarg.
610
611 2015-02-04  Nick Clifton  <nickc@redhat.com>
612
613         PR binutils/17531
614         * dwarf.c (read_and_display_attr_value): Test for a block length
615         being so long that it wraps around to before the start of the block.
616         (process_debug_info): Test for section_begin wrapping around to
617         before the start of the section.
618         (display_gdb_index): Test for num_cus being so large that the end
619         address wraps around to before the start of the section.
620         (process_cu_tu_index): Test for j being so large that the section
621         index pool wraps around to before the start of the section.
622
623 2015-02-03  Nick Clifton  <nickc@redhat.com>
624
625         PR binutils/17531
626         * dwarf.c (process_debug_info): Add range check.
627         (display_debug_pubnames_worker): Likewise.
628         (display_gdb_index): Fix range check.
629         (process_cu_tu_index): Add range check.
630         * readelf.c (get_data): Change parameter types from size_t to
631         bfd_size_type.  Add checks for loss of accuracy when casting from
632         bfd_size_type to size_t.
633         (get_dynamic_data): Likewise.
634         (process_section_groups): Limit number of error messages.
635
636 2015-02-03  Nick Clifton  <nickc@redhat.com>
637
638         PR binutils/17512
639         * objdump.c (display_any_bfd): Fail if archives nest too deeply.
640
641 2015-01-28  James Bowman  <james.bowman@ftdichip.com>
642
643         * readelf.c: Add FT32 support.
644
645 2015-01-27  Nick Clifton  <nickc@redhat.com>
646
647         PR binutils/17512
648         * dlltool.c (identify_search_archive): If the last archive was the
649         same as the current archive, terminate the loop.
650
651         * addr2line.c (slurp_symtab): If the symcount is zero, free the
652         symbol table pointer.
653
654         * rcparse.y: Add checks to avoid integer divide by zero.
655         * rescoff.c (read_coff_rsrc): Add check on the size of the
656         resource section.
657         (read_coff_res_dir): Add check on the nesting level.
658         Check for resource names overrunning the buffer.
659         * resrc.c (write_rc_messagetable): Update formatting.
660         Add check of 'elen' being zero.
661
662 2015-01-23  Nick Clifton  <nickc@redhat.com>
663
664         * nlmconv.c (powerpc_mangle_relocs): Fix build errors introduced
665         by recent delta, when compiling on for a 32-bit host.
666
667 2015-01-21  Nick Clifton  <nickc@redhat.com>
668
669         PR binutils/17512
670         * addr2line.c (main): Call bfd_set_error_program_name.
671         * ar.c (main): Likewise.
672         * coffdump.c (main): Likewise.
673         * cxxfilt.c (main): Likewise.
674         * dlltool.c (main): Likewise.
675         * nlmconv.c (main): Likewise.
676         * nm.c (main): Likewise.
677         * objdump.c (main): Likewise.
678         * size.c (main): Likewise.
679         * srconv.c (main): Likewise.
680         * strings.c (main): Likewise.
681         * sysdump.c (main): Likewise.
682         * windmc.c (main): Likewise.
683         * windres.c (main): Likewise.
684         * objcopy.c (main): Likewise.
685         (copy_relocations_in_section): Check for relocs without associated
686         symbol pointers.
687
688 2015-01-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
689
690         * MAINTAINERS: Add self to ARM maintainers list.
691
692 2015-01-21  Nick Clifton  <nickc@redhat.com>
693
694         PR binutils/17512
695         * coffgrok.c (do_type): Check that computed ref exists.
696         (doit): Add range checks when computing section for scope.
697
698 2015-01-12  H.J. Lu  <hongjiu.lu@intel.com>
699
700         * dwarf.c (process_debug_info): Properly check abbrev size.
701
702 2015-01-12  Nick Clifton  <nickc@redhat.com>
703
704         PR binutils/17531
705         * dwarf.c (process_debug_info): Check for abbrev_base being larger
706         than the section size.
707         (process_cu_tu_index): Use xcalloc2 to allocate the CU and TU
708         arrays.
709         (xcalloc2): New function.  Like xcalloc, but checks for overflow.
710         (display_debug_addr): Use xcalloc to allocate the debug_addr_info
711         array.  Check for an address_base that is too large.
712
713         * dwarf.h (xcalloc2): Prototype.
714
715 2015-01-12  Alan Modra  <amodra@gmail.com>
716
717         * prdbg.c (print_debugging_info): Don't use void* for function
718         pointer param.
719         * budbg.h (print_debugging_info): Update prototype.
720
721 2015-01-08  Nick Clifton  <nickc@redhat.com>
722
723         PR binutils/17512
724         * ojcopy.c (copy_object): Free the symbol table if no symbols
725         could be loaded.
726         (copy_file): Use bfd_close_all_done to close files that could not
727         be copied.
728
729         * sysdump.c (getINT): Fail if reading off the end of the buffer.
730         Replace call to abort with a call to fatal.
731         (getCHARS): Prevetn reading off the end of the buffer.
732
733         * nlmconv.c (i386_mangle_relocs): Skip relocs without an
734         associated symbol.
735         (powerpc_mangle_relocs): Skip unrecognised relocs.  Check address
736         range before applying a reloc.
737
738 2015-01-07  Nick Clifton  <nickc@redhat.com>
739
740         PR binutils/17512
741         * dlltool.c (scan_obj_file): Break loop if the last archive
742         displayed matches the current archive.
743
744         * objdump.c (display_any_bfd): Add a depth limit to nested archive
745         display in order to avoid infinite loops.
746         * srconv.c: Replace calls to abort with calls to fatal with an
747         error message.
748
749 2015-01-06  Nick Clifton  <nickc@redhat.com>
750
751         PR binutils/17512
752         * coffdump.c (dump_coff_section): Check for a symbol being
753         available before printing its name.
754         (main): Check the return value from coff_grok.
755         * coffgrok.c: Reformat and tidy.
756         Add range checks to most functions.
757         (coff_grok): Return NULL if the input bfd is not in a COFF
758         format.
759         * coffgrok.h: Reformat and tidy.
760         (struct coff_section): Change the nrelocs field to unsigned.
761         * srconv.c (main): Check the return value from coff_grok.
762
763 2015-01-05  Nick Clifton  <nickc@redhat.com>
764
765         PR binutils/17512
766         * nm.c (print_symbol): Add 'is_synthetic' parameter.  Use it to
767         help initialize the info.elfinfo field.
768         (print_size_symbols): Add 'synth_count' parameter.  Use it to set
769         the is_synthetic parameter when calling print_symbol.
770         (print_symbols): Likewise.
771         (display_rel_file): Pass synth_count to printing function.
772         (display_archive): Break loop if the last archive displayed
773         matches the current archive.
774         * size.c (display_archive): Likewise.
775
776 2015-01-05  Nick Clifton  <nickc@redhat.com>
777
778         PR binutils/17531
779         * dwarf.c (alloc_num_debug_info_entries): New variable.
780         (process_debug_info): Set it.  Use it to avoid displaying
781         attributes for which there is no info.
782         (display_debug_abbrev): Check that the debug_info_entry index is
783         valid before using it.
784         (display_loc_list_dwo): Likewise.
785         (process_cu_tu_index): Add range check for an overlarge dw_sect
786         value.
787         (free_debug_memory): Reset alloc_num_debug_info_entries.
788         * readelf.c (slurp_ia64_unwind_table): Warn if the reloc could not
789         be indentified.
790         (dynamic_section_mips_val): Warn if the timestamp is invalid.
791         (print_mips_got_entry): Add a data_end parameter.  Warn if a read
792         would go beyond the end of the data, and return an error value.
793         (process_mips_specific): Do not read options from beyond the end
794         of the section.
795         Correct code to display optional data at the end of an option.
796         Warn if there are too many GOT symbols.
797         Update calls to print_mips_got_entry, and handle error returns.
798
799 2015-01-05  Daniel Klauer  <daniel.c.klauer@web.de>
800
801         PR binutils/17489
802         * doc/binutils.texi (dlltool): Correct description of --kill-at
803         option.
804
805 2015-01-01  Alan Modra  <amodra@gmail.com>
806
807         * version.c (print_version): Just print current year.
808
809 2015-01-01  Alan Modra  <amodra@gmail.com>
810
811         Update year range in copyright notice of all files.
812
813 For older changes see ChangeLog-2014
814 \f
815 Copyright (C) 2015 Free Software Foundation, Inc.
816
817 Copying and distribution of this file, with or without modification,
818 are permitted in any medium without royalty provided the copyright
819 notice and this notice are preserved.
820
821 Local Variables:
822 mode: change-log
823 left-margin: 8
824 fill-column: 74
825 version-control: never
826 End: