Add support to the RX toolchain to restrict the use of string instructions.
[external/binutils.git] / binutils / ChangeLog
1 2015-04-09  Nick Clifton  <nickc@redhat.com>
2
3         * readelf.c (get_machine_flags): Report the setting of the string
4         insn using bits.
5
6 2015-04-08  H.J. Lu  <hongjiu.lu@intel.com>
7
8         * objcopy.c (do_debug_sections): Add compress_zlib,
9         compress_gnu_zlib and compress_gabi_zlib.
10         (copy_options): Use optional_argument on compress-debug-sections.
11         (copy_usage): Update --compress-debug-sections.
12         (copy_file): Handle compress_zlib, compress_gnu_zlib and
13         compress_gabi_zlib.
14         (copy_main): Handle
15         --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
16         * doc/binutils.texi: Document
17         --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
18
19 2015-04-08  H.J. Lu  <hongjiu.lu@intel.com>
20
21         * objcopy.c (copy_usage): Replace "--interleave [<number>]" with
22         --interleave[=<number>].
23
24 2015-04-05  H.J. Lu  <hongjiu.lu@intel.com>
25
26         * readelf.c (get_elf_section_flags): Support SHF_COMPRESSED.
27         (get_compression_header): New.
28         (process_section_headers): Dump compression header if needed.
29         (uncompress_section_contents): Don't free compressed_buffer here.
30         (load_specific_debug_section): Free the compressed buffer, update
31         the section buffer and the section size if uncompress is
32         successful.
33
34 2015-04-02  H.J. Lu  <hongjiu.lu@intel.com>
35
36         * configure: Regenerated.
37
38 2015-04-02  Mike Frysinger  <vapier@gentoo.org>
39
40         * MAINTAINERS: Update my e-mail address.
41
42 2015-04-01  H.J. Lu  <hongjiu.lu@intel.com>
43
44         * configure: Regenerated.
45
46 2015-03-31  H.J. Lu  <hongjiu.lu@intel.com>
47
48         * configure.ac: Revert the AM_ZLIB change.
49         * Makefile.in: Regenerated.
50         * aclocal.m4: Likewise.
51         * configure: Likewise.
52
53 2015-03-31  H.J. Lu  <hongjiu.lu@intel.com>
54
55         * Makefile.am (ZLIB): New.
56         (ZLIBINC): Likewise.
57         (AM_CFLAGS): Add $(ZLIBINC).
58         (readelf_LDADD): Add $(ZLIB).
59         * configure.ac (AM_ZLIB): Removed.
60         (zlibdir): New.  AC_SUBST.
61         (zlibinc): Likewise.
62         Add --with-system-zlib.
63         * Makefile.in: Regenerated.
64         * config.in: Likewise.
65         * configure: Likewise.
66
67 2015-03-19  Nick Clifton  <nickc@redhat.com>
68
69         * readelf.c (get_machine_flags): Decode RL78's G13 and G14 flags.
70
71 2015-03-18  Jon Turney  <jon.turney@dronecode.org.uk>
72             Nick Clifton  <nickc@redhat.com>
73
74         PR binutils/18087
75         * doc/binutils.texi: Note that when objcopy compresses debug
76         sections the compression is only performed if it makes the section
77         smaller.
78
79 2015-03-10  H.J. Lu  <hongjiu.lu@intel.com>
80
81         PR binutils/18101
82         * readelf.c (parse_args): Move nothing to do warning to ...
83         (main): Here.
84
85 2015-03-10  Nick Clifton  <nickc@redhat.com>
86
87         PR binutils/18101
88         * readelf.c (parse_args): Enhance check for nothing to do by
89         accounting for the --wide option.
90
91         PR binutils/17636
92         * objcopy.c (copy_object): Avoid calling fatal as that does not
93         allow the parent to clean up temporary files.
94
95 2015-03-10  Yuri Gribov  <y.gribov@samsung.arm>
96
97         PR ld/16572
98         * readelf.c: Remove support for ELF_ARM_HASENTRY.
99
100 2015-03-05  Nick Clifton  <nickc@redhat.com>
101
102         PR binutils/18064
103         * doc/binutils.texi (objcopy): Extend description of
104         --add-gnu-debuglink option to explain that the separate debug info
105         file must exist.  Add a description of what to do if the debug
106         info file is built in one place but then installed into a separate
107         location.
108
109 2015-03-05  Nick Clifton  <nickc@redhat.com>
110
111         PR binutils/17994
112         * dlltool.c (temp_file_to_remove): New local array.
113         (unlink_temp_files): New functions - unlinks any file in the
114         temp_file_to_remove array, unless dotdeltemps is set.
115         (gen_exp_file): Add temp files to array.
116         (make_head): Likewise.
117         (make_delay_head): Likewise.
118         (make_tail): Likewise.
119         (gen_lib_file): Call unlink_temp_files.
120
121 2015-02-28  Andrew Burgess  <andrew.burgess@embecosm.com>
122
123         * objcopy.c (update_sections): New list.
124         (command_line_switch): Add OPTION_UPDATE_SECTION.
125         (copy_options): Add update-section.
126         (copy_usage): Document new option.
127         (is_update_section): New function.
128         (is_strip_section_1): Add check for attempt to update and remove
129         the same section.
130         (copy_object): Update size and content of requested sections.
131         (skip_section): Don't copy for updated sections.
132         (copy_main): Handle --update-section.
133         * doc/binutils.texi (objcopy): Add description of --update-section
134         option.
135         * NEWS: Mention --update-section option.
136
137 2015-02-26  Nick Clifton  <nickc@redhat.com>
138
139         PR binutils/17512
140         * coffgrok.c (do_type): Check for an out of range tag index.
141         Check for integer overflow computing array dimension.
142         (do_define): Likewise.
143
144 2015-02-26  Andrew Burgess  <andrew.burgess@embecosm.com>
145
146         * objcopy.c (init_section_add): Rename optarg to arg in order to
147         avoid shadowing a global variable.
148
149 2015-02-26  Nick Clifton  <nickc@redhat.com>
150
151         PR binutils/17512
152         * resrc.c (write_rc_messagetable): Tighten check for invalid
153         message lengths.
154
155         * dwarf.c (display_debug_loc): Pacify the undefined behaviour
156         sanitizer by simplifying address difference calculation.
157         (struct Frame_Chunk): Change type of cfa_offset to dwarf_vma in
158         order to avoid arithmetic overflows.
159         (frame_display_row): Cast cfa_offset before printing it.
160         (display_debug_frames): Likewise.
161         Check for an unexpected segment size.
162         Chnage type of 'l' local to dwarf_vma and cast it back to an int
163         when printing.
164         (process_cu_tu_index): Tighten check for an invalid ncols value.
165         * readelf.c (process_corefile_note_segment): Check for
166         inote.descdata extending beyond the end of the section.
167         (process_v850_notes): Likewise.
168
169 2015-02-26  Terry Guo  <terry.guo@arm.com>
170
171         * readelf.c (arm_attr_tag_ABI_HardFP_use): Update how we
172         display it.
173
174 2015-02-25  Andrew Burgess  <andrew.burgess@embecosm.com>
175
176         * objcopy.c (init_section_add): New function.
177         (section_add_load_file): New function.
178         (copy_main): Make use of new functions.
179
180 2015-02-25  Andrew Burgess  <andrew.burgess@embecosm.com>
181
182         * od-elf32_avr.c: Add elf32-avr.h include.
183         (OPT_AVRPROP): Define.
184         (options[]): Add 'avr-prop' entry.
185         (elf32_avr_help): Add avr-prop help text.
186         (elf32_avr_dump_avr_prop): New function.
187         (elf32_avr_dump): Add check for avr-prop.
188
189 2015-02-24  Nick Clifton  <nickc@redhat.com>
190
191         * readelf.c (get_machine_flags): Remove deprecated V850 machine
192         flags.
193         (get_v850_section_type_name): New function.  Handles V850 special
194         sections.
195         (get_section_type_name): Add support for V850.
196         (get_v850_elf_note_type): New function.  Returns the name of a
197         V850 note.
198         (print_v850_note): New function.  Prints a V850 note.
199         (process_v850_notes): New function.  Prints V850 notes.
200         (process_note_sections): Add support for V850.
201
202 2015-02-24  Mike Frysinger  <vapier@gentoo.org>
203
204         PR binutils/17531
205         * readelf.c (process_symbol_table): Declare chained.  Increment it
206         in every loop.  Abort when chained is larger than nchains.  Move
207         error check outside of chain loop.
208
209 2015-02-24  Dmitry Antipov  <dantipov@nvidia.com>
210
211         * readelf.c (find_symbol_for_address): Use a binary search to
212         speed up symbol location.  Skip check for function symbol type.
213         (*_unw_aux_info): Add funtab and nfuns fields contains a sorted
214         list of function symbols.
215         (dump_ia64_unwind): Initialise the funtab and nfuns fields and
216         pass them to find_symbol_for_address.
217         (dump_hppa_unwind): Likewise.
218         (arm_print_vma_and_name): Pass funtab to find_symbol_for_address.
219         (dump_arm_unwind): Initialise the funtab and nfuns fields.
220
221 2015-02-24  Nick Clifton  <nickc@redhat.com>
222
223         * objdump.c (dump_section): Extend the warning message displayed
224         when a section cannot be loaded.
225
226 2015-02-21  Mike Frysinger  <vapier@gentoo.org>
227
228         * readelf.c (process_program_headers): Add newline to warning
229         message.
230
231 2015-02-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
232
233         * readelf.c (get_note_type): Add NT_S390_VXRS_LOW and
234         NT_S390_VXRS_HIGH.
235
236 2015-02-13  Nick Clifton  <nickc@redhat.com>
237
238         PR binutils/17512
239         * dwarf.c (read_leb128): Fix test for shift becoming too large.
240
241         * coffgrok.c (do_define): Add check for type size overflow.
242         * srconv.c (walk_tree_sfile): Check that enough sections are
243         available before parsing.
244         (prescan): Likewise.
245
246         PR binutils/17531
247         * dwarf.c (display_debug_aranges): Add check for an excessive
248         ar_length value.
249         (process_cu_tu_index): Check for a row * columns sum being too
250         large.
251
252 2015-02-13  Alan Modra  <amodra@gmail.com>
253
254         * dwarf.c: Formatting, whitespace.
255         (process_debug_info): Style fix.
256
257 2015-02-11  Nick Clifton  <nickc@redhat.com>
258
259         * rl78-decode.opc: Add 'a' attribute to instructions that support
260         [HL+0] addressing.
261         * rl78-decode.c: Regenerate.
262         * rl78-dis.c (print_insn_rl78): Display the offset in [HL+0]
263         addresses.
264
265 2015-02-11  Nick Clifton  <nickc@redhat.com>
266
267         PR binutils/17531
268         * dwarf.c (display_debug_pubnames_worker): Work around compiler
269         bug checking address ranges.
270         (display_debug_frames): Likewise.
271         (display_gdb_index): Likewise.
272         (process_cu_tu_index): Add range check on the ncols value.
273
274 2015-02-10  Nick Clifton  <nickc@redhat.com>
275
276         PR binutils/17512
277         * dwarf.c (eh_addr_size): Use an unsigned type.
278         (size_of_encoded_value): Return an unsigned type.
279         (read_leb128): Break if the shift becomes too big.
280         (process_extended_line_op): Do not read the address if the length
281         is too long.
282         (read_cie): Warn and fail if the pointer size or segment size are
283         too big.
284         * dwarf.h (DWARF2_External_LineInfo): Delete unused and incorrect
285         structure definition.
286         (DWARF2_External_PubNames): Likewise.
287         (DWARF2_External_CompUnit): Likewise.
288         (DWARF2_External_ARange): Likewise.
289         (DWARF2_Internal_LineInfo): Use dwarf_vma type for
290         li_prologue_length.
291         (eh_addr_size): Update prototype.
292
293         PR binutils/17531
294         * dwarf.c (process_debug_info): Zero the debug information array
295         since correct initialisation cannot be relied upon.
296         (process_cu_tu_index): Improve range checks.
297
298         PR binutils/17531
299         * dwarf.c (display_debug_pubnames_worker): Use dwarf_vma type for
300         offset.
301         * readelf.c (dump_relocations): Handle printing offsets which are
302         MIN_INT.
303         (process_corefile_note_segment): Add range check of the namesz
304         field.
305
306 2015-02-09  Mark Wielaard  <mjw@redhat.com>
307
308         * dwarf.c (read_and_display_attr_value): Handle DW_LANG_Fortran03
309         and DW_LANG_Fortran08.
310
311 2015-02-06  Nick Clifton  <nickc@redhat.com>
312
313         PR binutils/17512
314         * dwarf.c (display_debug_frames): Fix range checks to work on
315         32-bit binaries complied on a 64-bit host.
316
317         PR binutils/17531
318         * dwarf.c (xcmalloc): Fail if the arguments are too big.
319         (xcrealloc): Likewise.
320         (xcalloc2): Likewise.
321         * readelf.c (process_mips_specific): Fail if an option has an
322         invalid size.
323
324 2015-02-05  Alan Modra  <amodra@gmail.com>
325
326         PR binutils/17926
327         * dwarf.c (dwarf_select_sections_by_letters): Don't refer to optarg.
328
329 2015-02-04  Nick Clifton  <nickc@redhat.com>
330
331         PR binutils/17531
332         * dwarf.c (read_and_display_attr_value): Test for a block length
333         being so long that it wraps around to before the start of the block.
334         (process_debug_info): Test for section_begin wrapping around to
335         before the start of the section.
336         (display_gdb_index): Test for num_cus being so large that the end
337         address wraps around to before the start of the section.
338         (process_cu_tu_index): Test for j being so large that the section
339         index pool wraps around to before the start of the section.
340
341 2015-02-03  Nick Clifton  <nickc@redhat.com>
342
343         PR binutils/17531
344         * dwarf.c (process_debug_info): Add range check.
345         (display_debug_pubnames_worker): Likewise.
346         (display_gdb_index): Fix range check.
347         (process_cu_tu_index): Add range check.
348         * readelf.c (get_data): Change parameter types from size_t to
349         bfd_size_type.  Add checks for loss of accuracy when casting from
350         bfd_size_type to size_t.
351         (get_dynamic_data): Likewise.
352         (process_section_groups): Limit number of error messages.
353
354 2015-02-03  Nick Clifton  <nickc@redhat.com>
355
356         PR binutils/17512
357         * objdump.c (display_any_bfd): Fail if archives nest too deeply.
358
359 2015-01-28  James Bowman  <james.bowman@ftdichip.com>
360
361         * readelf.c: Add FT32 support.
362
363 2015-01-27  Nick Clifton  <nickc@redhat.com>
364
365         PR binutils/17512
366         * dlltool.c (identify_search_archive): If the last archive was the
367         same as the current archive, terminate the loop.
368
369         * addr2line.c (slurp_symtab): If the symcount is zero, free the
370         symbol table pointer.
371
372         * rcparse.y: Add checks to avoid integer divide by zero.
373         * rescoff.c (read_coff_rsrc): Add check on the size of the
374         resource section.
375         (read_coff_res_dir): Add check on the nesting level.
376         Check for resource names overrunning the buffer.
377         * resrc.c (write_rc_messagetable): Update formatting.
378         Add check of 'elen' being zero.
379
380 2015-01-23  Nick Clifton  <nickc@redhat.com>
381
382         * nlmconv.c (powerpc_mangle_relocs): Fix build errors introduced
383         by recent delta, when compiling on for a 32-bit host.
384
385 2015-01-21  Nick Clifton  <nickc@redhat.com>
386
387         PR binutils/17512
388         * addr2line.c (main): Call bfd_set_error_program_name.
389         * ar.c (main): Likewise.
390         * coffdump.c (main): Likewise.
391         * cxxfilt.c (main): Likewise.
392         * dlltool.c (main): Likewise.
393         * nlmconv.c (main): Likewise.
394         * nm.c (main): Likewise.
395         * objdump.c (main): Likewise.
396         * size.c (main): Likewise.
397         * srconv.c (main): Likewise.
398         * strings.c (main): Likewise.
399         * sysdump.c (main): Likewise.
400         * windmc.c (main): Likewise.
401         * windres.c (main): Likewise.
402         * objcopy.c (main): Likewise.
403         (copy_relocations_in_section): Check for relocs without associated
404         symbol pointers.
405
406 2015-01-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
407
408         * MAINTAINERS: Add self to ARM maintainers list.
409
410 2015-01-21  Nick Clifton  <nickc@redhat.com>
411
412         PR binutils/17512
413         * coffgrok.c (do_type): Check that computed ref exists.
414         (doit): Add range checks when computing section for scope.
415
416 2015-01-12  H.J. Lu  <hongjiu.lu@intel.com>
417
418         * dwarf.c (process_debug_info): Properly check abbrev size.
419
420 2015-01-12  Nick Clifton  <nickc@redhat.com>
421
422         PR binutils/17531
423         * dwarf.c (process_debug_info): Check for abbrev_base being larger
424         than the section size.
425         (process_cu_tu_index): Use xcalloc2 to allocate the CU and TU
426         arrays.
427         (xcalloc2): New function.  Like xcalloc, but checks for overflow.
428         (display_debug_addr): Use xcalloc to allocate the debug_addr_info
429         array.  Check for an address_base that is too large.
430
431         * dwarf.h (xcalloc2): Prototype.
432
433 2015-01-12  Alan Modra  <amodra@gmail.com>
434
435         * prdbg.c (print_debugging_info): Don't use void* for function
436         pointer param.
437         * budbg.h (print_debugging_info): Update prototype.
438
439 2015-01-08  Nick Clifton  <nickc@redhat.com>
440
441         PR binutils/17512
442         * ojcopy.c (copy_object): Free the symbol table if no symbols
443         could be loaded.
444         (copy_file): Use bfd_close_all_done to close files that could not
445         be copied.
446
447         * sysdump.c (getINT): Fail if reading off the end of the buffer.
448         Replace call to abort with a call to fatal.
449         (getCHARS): Prevetn reading off the end of the buffer.
450
451         * nlmconv.c (i386_mangle_relocs): Skip relocs without an
452         associated symbol.
453         (powerpc_mangle_relocs): Skip unrecognised relocs.  Check address
454         range before applying a reloc.
455
456 2015-01-07  Nick Clifton  <nickc@redhat.com>
457
458         PR binutils/17512
459         * dlltool.c (scan_obj_file): Break loop if the last archive
460         displayed matches the current archive.
461
462         * objdump.c (display_any_bfd): Add a depth limit to nested archive
463         display in order to avoid infinite loops.
464         * srconv.c: Replace calls to abort with calls to fatal with an
465         error message.
466
467 2015-01-06  Nick Clifton  <nickc@redhat.com>
468
469         PR binutils/17512
470         * coffdump.c (dump_coff_section): Check for a symbol being
471         available before printing its name.
472         (main): Check the return value from coff_grok.
473         * coffgrok.c: Reformat and tidy.
474         Add range checks to most functions.
475         (coff_grok): Return NULL if the input bfd is not in a COFF
476         format.
477         * coffgrok.h: Reformat and tidy.
478         (struct coff_section): Change the nrelocs field to unsigned.
479         * srconv.c (main): Check the return value from coff_grok.
480
481 2015-01-05  Nick Clifton  <nickc@redhat.com>
482
483         PR binutils/17512
484         * nm.c (print_symbol): Add 'is_synthetic' parameter.  Use it to
485         help initialize the info.elfinfo field.
486         (print_size_symbols): Add 'synth_count' parameter.  Use it to set
487         the is_synthetic parameter when calling print_symbol.
488         (print_symbols): Likewise.
489         (display_rel_file): Pass synth_count to printing function.
490         (display_archive): Break loop if the last archive displayed
491         matches the current archive.
492         * size.c (display_archive): Likewise.
493
494 2015-01-05  Nick Clifton  <nickc@redhat.com>
495
496         PR binutils/17531
497         * dwarf.c (alloc_num_debug_info_entries): New variable.
498         (process_debug_info): Set it.  Use it to avoid displaying
499         attributes for which there is no info.
500         (display_debug_abbrev): Check that the debug_info_entry index is
501         valid before using it.
502         (display_loc_list_dwo): Likewise.
503         (process_cu_tu_index): Add range check for an overlarge dw_sect
504         value.
505         (free_debug_memory): Reset alloc_num_debug_info_entries.
506         * readelf.c (slurp_ia64_unwind_table): Warn if the reloc could not
507         be indentified.
508         (dynamic_section_mips_val): Warn if the timestamp is invalid.
509         (print_mips_got_entry): Add a data_end parameter.  Warn if a read
510         would go beyond the end of the data, and return an error value.
511         (process_mips_specific): Do not read options from beyond the end
512         of the section.
513         Correct code to display optional data at the end of an option.
514         Warn if there are too many GOT symbols.
515         Update calls to print_mips_got_entry, and handle error returns.
516
517 2015-01-05  Daniel Klauer  <daniel.c.klauer@web.de>
518
519         PR binutils/17489
520         * doc/binutils.texi (dlltool): Correct description of --kill-at
521         option.
522
523 2015-01-01  Alan Modra  <amodra@gmail.com>
524
525         * version.c (print_version): Just print current year.
526
527 2015-01-01  Alan Modra  <amodra@gmail.com>
528
529         Update year range in copyright notice of all files.
530
531 For older changes see ChangeLog-2014
532 \f
533 Copyright (C) 2015 Free Software Foundation, Inc.
534
535 Copying and distribution of this file, with or without modification,
536 are permitted in any medium without royalty provided the copyright
537 notice and this notice are preserved.
538
539 Local Variables:
540 mode: change-log
541 left-margin: 8
542 fill-column: 74
543 version-control: never
544 End: