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