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