Fix debug section compression so that it is only performed if it would make the secti...
[deliverable/binutils-gdb.git] / binutils / ChangeLog
CommitLineData
273a4985
JT
12015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
2 Nick Clifton <nickc@redhat.com>
3
4 PR binutils/18087
5 * doc/binutils.texi: Note that when objcopy compresses debug
6 sections the compression is only performed if it makes the section
7 smaller.
8
5656ba2c
L
92015-03-10 H.J. Lu <hongjiu.lu@intel.com>
10
11 PR binutils/18101
12 * readelf.c (parse_args): Move nothing to do warning to ...
13 (main): Here.
14
cfad8730
NC
152015-03-10 Nick Clifton <nickc@redhat.com>
16
b6370efb
NC
17 PR binutils/18101
18 * readelf.c (parse_args): Enhance check for nothing to do by
19 accounting for the --wide option.
20
cfad8730
NC
21 PR binutils/17636
22 * objcopy.c (copy_object): Avoid calling fatal as that does not
23 allow the parent to clean up temporary files.
24
a5721edd
JW
252015-03-10 Yuri Gribov <y.gribov@samsung.arm>
26
27 PR ld/16572
28 * readelf.c: Remove support for ELF_ARM_HASENTRY.
29
4fd77a3d
NC
302015-03-05 Nick Clifton <nickc@redhat.com>
31
32 PR binutils/18064
33 * doc/binutils.texi (objcopy): Extend description of
34 --add-gnu-debuglink option to explain that the separate debug info
35 file must exist. Add a description of what to do if the debug
36 info file is built in one place but then installed into a separate
37 location.
38
81fb971a
NC
392015-03-05 Nick Clifton <nickc@redhat.com>
40
41 PR binutils/17994
42 * dlltool.c (temp_file_to_remove): New local array.
43 (unlink_temp_files): New functions - unlinks any file in the
44 temp_file_to_remove array, unless dotdeltemps is set.
45 (gen_exp_file): Add temp files to array.
46 (make_head): Likewise.
47 (make_delay_head): Likewise.
48 (make_tail): Likewise.
49 (gen_lib_file): Call unlink_temp_files.
50
acf1419f
AB
512015-02-28 Andrew Burgess <andrew.burgess@embecosm.com>
52
53 * objcopy.c (update_sections): New list.
54 (command_line_switch): Add OPTION_UPDATE_SECTION.
55 (copy_options): Add update-section.
56 (copy_usage): Document new option.
57 (is_update_section): New function.
58 (is_strip_section_1): Add check for attempt to update and remove
59 the same section.
60 (copy_object): Update size and content of requested sections.
61 (skip_section): Don't copy for updated sections.
62 (copy_main): Handle --update-section.
63 * doc/binutils.texi (objcopy): Add description of --update-section
64 option.
65 * NEWS: Mention --update-section option.
66
d93c7787
NC
672015-02-26 Nick Clifton <nickc@redhat.com>
68
69 PR binutils/17512
70 * coffgrok.c (do_type): Check for an out of range tag index.
71 Check for integer overflow computing array dimension.
72 (do_define): Likewise.
73
06b73f41
AB
742015-02-26 Andrew Burgess <andrew.burgess@embecosm.com>
75
76 * objcopy.c (init_section_add): Rename optarg to arg in order to
77 avoid shadowing a global variable.
78
e3ee4005
NC
792015-02-26 Nick Clifton <nickc@redhat.com>
80
81 PR binutils/17512
82 * resrc.c (write_rc_messagetable): Tighten check for invalid
83 message lengths.
84
c8071705
NC
85 * dwarf.c (display_debug_loc): Pacify the undefined behaviour
86 sanitizer by simplifying address difference calculation.
87 (struct Frame_Chunk): Change type of cfa_offset to dwarf_vma in
88 order to avoid arithmetic overflows.
89 (frame_display_row): Cast cfa_offset before printing it.
90 (display_debug_frames): Likewise.
91 Check for an unexpected segment size.
92 Chnage type of 'l' local to dwarf_vma and cast it back to an int
93 when printing.
94 (process_cu_tu_index): Tighten check for an invalid ncols value.
95 * readelf.c (process_corefile_note_segment): Check for
96 inote.descdata extending beyond the end of the section.
97 (process_v850_notes): Likewise.
98
99654aaf
TG
992015-02-26 Terry Guo <terry.guo@arm.com>
100
101 * readelf.c (arm_attr_tag_ABI_HardFP_use): Update how we
102 display it.
103
7173b38a
AB
1042015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
105
106 * objcopy.c (init_section_add): New function.
107 (section_add_load_file): New function.
108 (copy_main): Make use of new functions.
109
137c83d6
AB
1102015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
111
112 * od-elf32_avr.c: Add elf32-avr.h include.
113 (OPT_AVRPROP): Define.
114 (options[]): Add 'avr-prop' entry.
115 (elf32_avr_help): Add avr-prop help text.
116 (elf32_avr_dump_avr_prop): New function.
117 (elf32_avr_dump): Add check for avr-prop.
118
685080f2
NC
1192015-02-24 Nick Clifton <nickc@redhat.com>
120
121 * readelf.c (get_machine_flags): Remove deprecated V850 machine
122 flags.
123 (get_v850_section_type_name): New function. Handles V850 special
124 sections.
125 (get_section_type_name): Add support for V850.
126 (get_v850_elf_note_type): New function. Returns the name of a
127 V850 note.
128 (print_v850_note): New function. Prints a V850 note.
129 (process_v850_notes): New function. Prints V850 notes.
130 (process_note_sections): Add support for V850.
131
94d15024
MF
1322015-02-24 Mike Frysinger <vapier@gentoo.org>
133
134 PR binutils/17531
135 * readelf.c (process_symbol_table): Declare chained. Increment it
136 in every loop. Abort when chained is larger than nchains. Move
137 error check outside of chain loop.
138
948f632f
DA
1392015-02-24 Dmitry Antipov <dantipov@nvidia.com>
140
141 * readelf.c (find_symbol_for_address): Use a binary search to
142 speed up symbol location. Skip check for function symbol type.
143 (*_unw_aux_info): Add funtab and nfuns fields contains a sorted
144 list of function symbols.
145 (dump_ia64_unwind): Initialise the funtab and nfuns fields and
146 pass them to find_symbol_for_address.
147 (dump_hppa_unwind): Likewise.
148 (arm_print_vma_and_name): Pass funtab to find_symbol_for_address.
149 (dump_arm_unwind): Initialise the funtab and nfuns fields.
150
0821d5b1
NC
1512015-02-24 Nick Clifton <nickc@redhat.com>
152
153 * objdump.c (dump_section): Extend the warning message displayed
154 when a section cannot be loaded.
155
9035ed51
MF
1562015-02-21 Mike Frysinger <vapier@gentoo.org>
157
158 * readelf.c (process_program_headers): Add newline to warning
159 message.
160
4ef9f41a
AA
1612015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
162
163 * readelf.c (get_note_type): Add NT_S390_VXRS_LOW and
164 NT_S390_VXRS_HIGH.
165
951eaaec
NC
1662015-02-13 Nick Clifton <nickc@redhat.com>
167
168 PR binutils/17512
169 * dwarf.c (read_leb128): Fix test for shift becoming too large.
170
171 * coffgrok.c (do_define): Add check for type size overflow.
172 * srconv.c (walk_tree_sfile): Check that enough sections are
173 available before parsing.
174 (prescan): Likewise.
175
ffc0f143
NC
176 PR binutils/17531
177 * dwarf.c (display_debug_aranges): Add check for an excessive
178 ar_length value.
179 (process_cu_tu_index): Check for a row * columns sum being too
180 large.
181
b4eb7656
AM
1822015-02-13 Alan Modra <amodra@gmail.com>
183
184 * dwarf.c: Formatting, whitespace.
185 (process_debug_info): Style fix.
186
0e7f931f
NC
1872015-02-11 Nick Clifton <nickc@redhat.com>
188
189 * rl78-decode.opc: Add 'a' attribute to instructions that support
190 [HL+0] addressing.
191 * rl78-decode.c: Regenerate.
192 * rl78-dis.c (print_insn_rl78): Display the offset in [HL+0]
193 addresses.
194
362beea4
NC
1952015-02-11 Nick Clifton <nickc@redhat.com>
196
197 PR binutils/17531
198 * dwarf.c (display_debug_pubnames_worker): Work around compiler
199 bug checking address ranges.
200 (display_debug_frames): Likewise.
201 (display_gdb_index): Likewise.
202 (process_cu_tu_index): Add range check on the ncols value.
203
77ef8654
NC
2042015-02-10 Nick Clifton <nickc@redhat.com>
205
206 PR binutils/17512
207 * dwarf.c (eh_addr_size): Use an unsigned type.
208 (size_of_encoded_value): Return an unsigned type.
209 (read_leb128): Break if the shift becomes too big.
210 (process_extended_line_op): Do not read the address if the length
211 is too long.
212 (read_cie): Warn and fail if the pointer size or segment size are
213 too big.
214 * dwarf.h (DWARF2_External_LineInfo): Delete unused and incorrect
215 structure definition.
216 (DWARF2_External_PubNames): Likewise.
217 (DWARF2_External_CompUnit): Likewise.
218 (DWARF2_External_ARange): Likewise.
219 (DWARF2_Internal_LineInfo): Use dwarf_vma type for
220 li_prologue_length.
221 (eh_addr_size): Update prototype.
222
03a91817
NC
223 PR binutils/17531
224 * dwarf.c (process_debug_info): Zero the debug information array
225 since correct initialisation cannot be relied upon.
226 (process_cu_tu_index): Improve range checks.
227
834f871c
NC
228 PR binutils/17531
229 * dwarf.c (display_debug_pubnames_worker): Use dwarf_vma type for
230 offset.
231 * readelf.c (dump_relocations): Handle printing offsets which are
232 MIN_INT.
233 (process_corefile_note_segment): Add range check of the namesz
234 field.
235
5a195044
MW
2362015-02-09 Mark Wielaard <mjw@redhat.com>
237
238 * dwarf.c (read_and_display_attr_value): Handle DW_LANG_Fortran03
239 and DW_LANG_Fortran08.
240
5929c344
NC
2412015-02-06 Nick Clifton <nickc@redhat.com>
242
243 PR binutils/17512
244 * dwarf.c (display_debug_frames): Fix range checks to work on
245 32-bit binaries complied on a 64-bit host.
246
8490fb40
NC
247 PR binutils/17531
248 * dwarf.c (xcmalloc): Fail if the arguments are too big.
249 (xcrealloc): Likewise.
250 (xcalloc2): Likewise.
55325047
NC
251 * readelf.c (process_mips_specific): Fail if an option has an
252 invalid size.
8490fb40 253
7cc78d07
AM
2542015-02-05 Alan Modra <amodra@gmail.com>
255
256 PR binutils/17926
257 * dwarf.c (dwarf_select_sections_by_letters): Don't refer to optarg.
258
f3853b34
NC
2592015-02-04 Nick Clifton <nickc@redhat.com>
260
261 PR binutils/17531
262 * dwarf.c (read_and_display_attr_value): Test for a block length
263 being so long that it wraps around to before the start of the block.
264 (process_debug_info): Test for section_begin wrapping around to
265 before the start of the section.
266 (display_gdb_index): Test for num_cus being so large that the end
267 address wraps around to before the start of the section.
268 (process_cu_tu_index): Test for j being so large that the section
269 index pool wraps around to before the start of the section.
270
57028622
NC
2712015-02-03 Nick Clifton <nickc@redhat.com>
272
273 PR binutils/17531
274 * dwarf.c (process_debug_info): Add range check.
275 (display_debug_pubnames_worker): Likewise.
276 (display_gdb_index): Fix range check.
277 (process_cu_tu_index): Add range check.
278 * readelf.c (get_data): Change parameter types from size_t to
279 bfd_size_type. Add checks for loss of accuracy when casting from
280 bfd_size_type to size_t.
281 (get_dynamic_data): Likewise.
282 (process_section_groups): Limit number of error messages.
283
64d29018
NC
2842015-02-03 Nick Clifton <nickc@redhat.com>
285
286 PR binutils/17512
287 * objdump.c (display_any_bfd): Fail if archives nest too deeply.
288
3f8107ab
AM
2892015-01-28 James Bowman <james.bowman@ftdichip.com>
290
291 * readelf.c: Add FT32 support.
292
37e3922e
NC
2932015-01-27 Nick Clifton <nickc@redhat.com>
294
295 PR binutils/17512
296 * dlltool.c (identify_search_archive): If the last archive was the
297 same as the current archive, terminate the loop.
298
877a8638
NC
299 * addr2line.c (slurp_symtab): If the symcount is zero, free the
300 symbol table pointer.
301
0897ec15
NC
302 * rcparse.y: Add checks to avoid integer divide by zero.
303 * rescoff.c (read_coff_rsrc): Add check on the size of the
304 resource section.
305 (read_coff_res_dir): Add check on the nesting level.
306 Check for resource names overrunning the buffer.
307 * resrc.c (write_rc_messagetable): Update formatting.
308 Add check of 'elen' being zero.
309
bb97bdd7
NC
3102015-01-23 Nick Clifton <nickc@redhat.com>
311
312 * nlmconv.c (powerpc_mangle_relocs): Fix build errors introduced
313 by recent delta, when compiling on for a 32-bit host.
314
86eafac0
NC
3152015-01-21 Nick Clifton <nickc@redhat.com>
316
317 PR binutils/17512
318 * addr2line.c (main): Call bfd_set_error_program_name.
319 * ar.c (main): Likewise.
320 * coffdump.c (main): Likewise.
321 * cxxfilt.c (main): Likewise.
322 * dlltool.c (main): Likewise.
323 * nlmconv.c (main): Likewise.
324 * nm.c (main): Likewise.
325 * objdump.c (main): Likewise.
326 * size.c (main): Likewise.
327 * srconv.c (main): Likewise.
328 * strings.c (main): Likewise.
329 * sysdump.c (main): Likewise.
330 * windmc.c (main): Likewise.
331 * windres.c (main): Likewise.
332 * objcopy.c (main): Likewise.
333 (copy_relocations_in_section): Check for relocs without associated
334 symbol pointers.
335
6c1965f9
RR
3362015-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
337
338 * MAINTAINERS: Add self to ARM maintainers list.
339
5b7d6237
NC
3402015-01-21 Nick Clifton <nickc@redhat.com>
341
342 PR binutils/17512
343 * coffgrok.c (do_type): Check that computed ref exists.
344 (doit): Add range checks when computing section for scope.
345
a0a3b04c
L
3462015-01-12 H.J. Lu <hongjiu.lu@intel.com>
347
348 * dwarf.c (process_debug_info): Properly check abbrev size.
349
72c61a0d
NC
3502015-01-12 Nick Clifton <nickc@redhat.com>
351
352 PR binutils/17531
353 * dwarf.c (process_debug_info): Check for abbrev_base being larger
354 than the section size.
355 (process_cu_tu_index): Use xcalloc2 to allocate the CU and TU
356 arrays.
357 (xcalloc2): New function. Like xcalloc, but checks for overflow.
1306a742
NC
358 (display_debug_addr): Use xcalloc to allocate the debug_addr_info
359 array. Check for an address_base that is too large.
360
72c61a0d
NC
361 * dwarf.h (xcalloc2): Prototype.
362
b38ead21
AM
3632015-01-12 Alan Modra <amodra@gmail.com>
364
365 * prdbg.c (print_debugging_info): Don't use void* for function
366 pointer param.
367 * budbg.h (print_debugging_info): Update prototype.
368
3565cf8f
NC
3692015-01-08 Nick Clifton <nickc@redhat.com>
370
371 PR binutils/17512
063bb025
NC
372 * ojcopy.c (copy_object): Free the symbol table if no symbols
373 could be loaded.
374 (copy_file): Use bfd_close_all_done to close files that could not
375 be copied.
376
848cde35
NC
377 * sysdump.c (getINT): Fail if reading off the end of the buffer.
378 Replace call to abort with a call to fatal.
379 (getCHARS): Prevetn reading off the end of the buffer.
380
3565cf8f
NC
381 * nlmconv.c (i386_mangle_relocs): Skip relocs without an
382 associated symbol.
383 (powerpc_mangle_relocs): Skip unrecognised relocs. Check address
384 range before applying a reloc.
385
c88f5b8e
NC
3862015-01-07 Nick Clifton <nickc@redhat.com>
387
388 PR binutils/17512
d7b24d29
NC
389 * dlltool.c (scan_obj_file): Break loop if the last archive
390 displayed matches the current archive.
391
c88f5b8e
NC
392 * objdump.c (display_any_bfd): Add a depth limit to nested archive
393 display in order to avoid infinite loops.
394 * srconv.c: Replace calls to abort with calls to fatal with an
395 error message.
396
85880250
NC
3972015-01-06 Nick Clifton <nickc@redhat.com>
398
399 PR binutils/17512
400 * coffdump.c (dump_coff_section): Check for a symbol being
401 available before printing its name.
402 (main): Check the return value from coff_grok.
403 * coffgrok.c: Reformat and tidy.
404 Add range checks to most functions.
405 (coff_grok): Return NULL if the input bfd is not in a COFF
406 format.
407 * coffgrok.h: Reformat and tidy.
408 (struct coff_section): Change the nrelocs field to unsigned.
409 * srconv.c (main): Check the return value from coff_grok.
410
896ca098
NC
4112015-01-05 Nick Clifton <nickc@redhat.com>
412
413 PR binutils/17512
414 * nm.c (print_symbol): Add 'is_synthetic' parameter. Use it to
415 help initialize the info.elfinfo field.
416 (print_size_symbols): Add 'synth_count' parameter. Use it to set
417 the is_synthetic parameter when calling print_symbol.
418 (print_symbols): Likewise.
419 (display_rel_file): Pass synth_count to printing function.
420 (display_archive): Break loop if the last archive displayed
421 matches the current archive.
422 * size.c (display_archive): Likewise.
423
82b1b41b
NC
4242015-01-05 Nick Clifton <nickc@redhat.com>
425
426 PR binutils/17531
427 * dwarf.c (alloc_num_debug_info_entries): New variable.
428 (process_debug_info): Set it. Use it to avoid displaying
429 attributes for which there is no info.
430 (display_debug_abbrev): Check that the debug_info_entry index is
431 valid before using it.
432 (display_loc_list_dwo): Likewise.
433 (process_cu_tu_index): Add range check for an overlarge dw_sect
434 value.
435 (free_debug_memory): Reset alloc_num_debug_info_entries.
436 * readelf.c (slurp_ia64_unwind_table): Warn if the reloc could not
437 be indentified.
438 (dynamic_section_mips_val): Warn if the timestamp is invalid.
439 (print_mips_got_entry): Add a data_end parameter. Warn if a read
440 would go beyond the end of the data, and return an error value.
441 (process_mips_specific): Do not read options from beyond the end
442 of the section.
443 Correct code to display optional data at the end of an option.
444 Warn if there are too many GOT symbols.
445 Update calls to print_mips_got_entry, and handle error returns.
446
c1724c7f
DK
4472015-01-05 Daniel Klauer <daniel.c.klauer@web.de>
448
449 PR binutils/17489
450 * doc/binutils.texi (dlltool): Correct description of --kill-at
451 option.
452
efd321f9
AM
4532015-01-01 Alan Modra <amodra@gmail.com>
454
455 * version.c (print_version): Just print current year.
456
b90efa5b 4572015-01-01 Alan Modra <amodra@gmail.com>
5c294fee 458
b90efa5b 459 Update year range in copyright notice of all files.
5c294fee 460
b90efa5b 461For older changes see ChangeLog-2014
252b5132 462\f
b90efa5b 463Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
464
465Copying and distribution of this file, with or without modification,
466are permitted in any medium without royalty provided the copyright
467notice and this notice are preserved.
468
252b5132
RH
469Local Variables:
470mode: change-log
471left-margin: 8
472fill-column: 74
473version-control: never
474End:
This page took 0.705923 seconds and 4 git commands to generate.