Fix snafu parsing GNU_BUILD_NOTEs on ARM and AArch64 architectures.
[binutils-gdb.git] / binutils / ChangeLog
1 2017-03-02 Nick Clifton <nickc@redhat.com>
2
3 * readelf.c (print_gnu_build_attribute_description): Use global
4 symbols for OPEN attributes if at all possible.
5
6 2017-03-02 Jan Kratochvil <jan.kratochvil@redhat.com>
7
8 * dwarf.c (debug_displays_assert): New static assertion.
9
10 2017-03-02 Jan Kratochvil <jan.kratochvil@redhat.com>
11
12 * dwarf.h (enum dwarf_section_display_enum): Add loclists and rnglists.
13
14 2017-03-01 Nick Clifton <nickc@redhat.com>
15
16 * readelf.c (get_note_type): Add support for GNU_BUILD_NOTEs.
17 (get_gnu_elf_note_type): Add support for GNU_PROPERTY_NOTEs.
18 (decode_x86_isa): New function.
19 (print_gnu_property_note): New function.
20 (print_gnu_note): Handle GNU_PROPERTY_NOTEs.
21 (print_gnu_build_attribute_description): New function.
22 (print_gnu_build_attribute_name): New function.
23 (process_note): Add support for GNU_BUILD_NOTEs.
24 * objcopy.c (--merge-notes): New command line option.
25 (copy_options): Add merge-notes.
26 (copy_usage): Likewise.
27 (is_merge_note_section): New function.
28 (merge_gnu_build_notes): New function.
29 (copy_object): Merge note sections if asked to do so.
30 (skip_section): Add skip_copy parameter. Add support for skipping
31 merged note sections.
32 (copy_relocations_in_section): Update call to skip_section.
33 (copy_section): Likewise.
34 (copy_main): Add support for merge-notes option.
35 * doc/binutils.texi: Document the new option to objcopy.
36 * NEWS: Mention the new feature.
37 * testsuite/binutils-all/note-2-32.d: New test. Checks note
38 merging on 32-bit targets.
39 * testsuite/binutils-all/note-2-32.s: New test source file.
40 * testsuite/binutils-all/note-2-64.d: New test. Like note-2-32.d
41 but for 64-bit targets.
42 * testsuite/binutils-all/note-2-64.s: New test source file.
43 * testsuite/binutils-all/objcopy.exp: Run the new test.
44
45 2017-02-28 Peter Bergner <bergner@vnet.ibm.com>
46
47 * objdump.c (main): Use remove_whitespace_and_extra_commas.
48
49 2017-02-27 Jan Kratochvil <jan.kratochvil@redhat.com>
50
51 Fix compilation with GCC 4.4.7.
52 * dwarf.c (display_loclists_list, display_debug_rnglists_list):
53 Initialize begin and end.
54
55 2017-02-25 Alan Modra <amodra@gmail.com>
56
57 * testsuite/binutils-all/dw5.S: Replace .string with .asciz.
58 Support hpux .comm variant.
59 * testsuite/binutils-all/readelf.exp: Define HPUX when assembling
60 dw5 test for hppa64-hpux.
61
62 2017-02-24 Nick Clifton <nickc@redhat.com>
63
64 * readelf.c (show_name, do_dynamic, do_syms, do_dyn_syms,
65 (do_reloc, do_sections, do_section_groups, do_section_details,
66 (do_segments, do_unwind, do_using_dynamic, do_header, do_dump,
67 (do_version, do_histogram, do_debugging, do_arch, do_notes,
68 (do_archive_index, is_32bit_elf, decompress_dumps): Use
69 bfd_boolean type.
70 (parse_args): Treat the do_* variables as booleans.
71 (print_vma): Return an unsigned int.
72 (print_symbol): Change width parameter to signed int.
73 (is_ia64_vms): Change return type to bfd_boolean.
74 (guess_is_rela): Likewise.
75 (slurp_rela_relocs): Likewise.
76 (slurp_rel_relocs): Likewise.
77 (dump_relocations): Likewise.
78 (process_file_header): Likewise.
79 (get_program_headers): Likewise.
80 (process_program_headers): Likewise.
81 (process_section_headers): Likewise.
82 (process_section_groups): Likewise.
83 (dump_ia64_vms_dynamic_fixups): Likewise.
84 (dump_ia64_vms_dynamic_relocs): Likewise.
85 (process_ia64_vms_dynamic_relocs): Likewise.
86 (process_relocs): Likewise.
87 (dump_ia64_unwind): Likewise.
88 (ia64_process_unwind): Likewise.
89 (dump_hppa_unwind): Likewise.
90 (slurp_hppa_unwind_table): Likewise.
91 (hppa_process_unwind): Likewise.
92 (decode_arm_unwind_bytecode): Likewise.
93 (decode_tic6x_unwind_bytecode): Likewise.
94 (decode_arm_unwind): Likewise.
95 (dump_arm_unwind): Likewise.
96 (arm_process_unwind): Likewise.
97 (process_unwind): Likewise.
98 (get_32bit_dynamic_section): Likewise.
99 (get_64bit_dynamic_section): Likewise.
100 (process_dynamic_section): Likewise.
101 (process_version_sections): Likewise.
102 (process_symbol_table): Likewise.
103 (process_syminfo): Likewise.
104 (apply_relocations): Likewise.
105 (disassemble_section): Likewise.
106 (dump_section_as_strings): Likewise.
107 (dump_section_as_bytes): Likewise.
108 (load_specific_debug_section): Likewise.
109 (load_debug_section): Likewise.
110 (display_debug_section): Likewise.
111 (process_section_contents): Likewise.
112 (process_attributes): Likewise.
113 (process_nds32_specific): Likewise.
114 (process_gnu_liblist): Likewise.
115 (print_core_note): Likewise.
116 (print_gnu_note): Likewise.
117 (print_v850_note): Likewise.
118 (process_netbsd_elf_note): Likewise.
119 (print_stapsdt_note): Likewise.
120 (print_ia64_vms_note): Likewise.
121 (process_note): Likewise.
122 (process_notes_at): Likewise.
123 (process_corefile_note_segments): Likewise.
124 (process_v850_notes): Likewise.
125 (process_note_sections): Likewise.
126 (process_notes): Likewise.
127 (process_arch_specific): Likewise.
128 (get_file_header): Likewise.
129 (process_object): Likewise.
130 (process_archive): Likewise.
131 (process_file): Likewise.
132 (section_subset): Make static.
133 (get_mips_reg_size): Return a signed integer.
134 (process_object): Reverse the logic of the return value.
135 (process_archive): Likewise.
136 (process_file): Likewise.
137 (process_program_headers): Fix snafu - if the program headers are
138 not available then this is not a cause to fail.
139 (process_corefile_note_segments): Likewise.
140
141 2017-02-24 Maciej W. Rozycki <macro@imgtec.com>
142
143 * readelf.c (get_ver_flags): Tidy the formatting of the string
144 returned
145
146 2017-02-24 Maciej W. Rozycki <macro@imgtec.com>
147
148 * readelf.c (process_version_sections) <SHT_GNU_verdef>: Make
149 `isum' unsigned.
150 <SHT_GNU_verneed>: Likewise.
151
152 2017-02-24 Maciej W. Rozycki <macro@imgtec.com>
153
154 * readelf.c (process_version_sections) <SHT_GNU_verdef>: Limit
155 the number of entries processed by the section size. Don't
156 break out of the loop if `ent.vd_next' is 0.
157
158 2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
159
160 * testsuite/binutils-all/dw5.S: New file.
161 * testsuite/binutils-all/dw5.W: New file.
162 * testsuite/binutils-all/readelf.exp (readelf -wiaoRlL): New test.
163
164 2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
165
166 * dwarf.c (read_and_display_attr_value): Support DW_FORM_data16.
167
168 2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
169
170 * dwarf.c (display_debug_macro): Support DWARF-5. Rename
171 DW_MACRO_GNU_*.
172
173 2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
174
175 * dwarf.c (decode_location_expression): Support DW_OP_implicit_pointer,
176 DW_OP_const_type, DW_OP_regval_type, DW_OP_deref_type, DW_OP_convert
177 and DW_OP_reinterpret.
178 (read_and_display_attr_value): Support DW_AT_call_value,
179 DW_AT_call_data_value, DW_AT_call_target and
180 DW_AT_call_target_clobbered.
181
182 2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
183
184 * dwarf.c (fetch_indirect_line_string): New function.
185 (abbrev_attr): New field implicit_const.
186 (add_abbrev_attr): New parameter implicit_const.
187 (process_abbrev_section): Support DW_FORM_implicit_const.
188 (decode_location_expression): Support DW_OP_entry_value.
189 (read_and_display_attr_value): Add parameter implicit_const. Support
190 DW_FORM_line_strp and DW_FORM_implicit_const.
191 (read_and_display_attr): Add parameter implicit_const.
192 (process_debug_info): Support line_str and DWARF-5.
193 (read_debug_line_header): Support DWARF-5.
194 (display_formatted_table): New function.
195 (display_debug_lines_raw): New parameter file. Support DWARF-5.
196 (display_debug_lines_decoded): New parameter fileptr. Support DWARF-5.
197 (display_debug_lines): Pass file parameter.
198 (display_debug_macro): Update read_and_display_attr_value caller.
199 (display_debug_abbrev): Support DW_FORM_implicit_const.
200 (display_loclists_list): New function.
201 (display_loc_list): Support .debug_loclists.
202 (display_debug_ranges_list): New function from display_debug_ranges.
203 (display_debug_rnglists_list): New function.
204 (display_debug_ranges): Support .debug_rnglists.
205 (debug_displays): Add .debug_line_str, .debug_loclists and
206 .debug_rnglists.
207 * dwarf.h: Include dwarf2.h
208 (DWARF2_Internal_LineInfo): Add li_offset_size.
209 (DWARF2_Internal_CompUnit): Add cu_unit_type.
210 (enum dwarf_section_display_enum): Add line_str.
211 * readelf.c (process_section_headers): Add rnglists and loclists.
212
213 2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
214
215 * dwarf.c (display_block): Add parameter delimiter.
216 (decode_location_expression): Update display_block callers.
217 (read_and_display_attr_value): Add parameter delimiter.
218 (read_and_display_attr, display_debug_macro): Update
219 read_and_display_attr_value caller.
220
221 2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
222
223 * dwarf.c (display_loc_list): Use dwarf_vma for offset, base_address
224 and off.
225 (display_loc_list_dwo): Use dwarf_vma for offset.
226 (display_debug_loc): Use dwarf_vma for offset, base_address.
227 (struct range_entry, range_entry_compar): Use dwarf_vma for
228 ranges_offset.
229 (display_debug_ranges): Use dwarf_vma for ranges_offset, offset and
230 base_address.
231
232 2017-02-23 Nick Clifton <nickc@redhat.com>
233
234 * readelf.c (display_tag_value): Use an explicit signed type for
235 the tag parameter.
236 (display_gnu_attributes): Use an unsigned integer type for
237 attribute tags.
238 (display_power_gnu_attribute): Likewise.
239 (display_s390_gnu_attribute): Likewise.
240 (display_sparc_hwcaps): Likewise.
241 (display_sparc_hwcaps2): Likewise.
242 (display_sparc_gnu_attribute): Likewise.
243 (display_mips_gnu_attribute): Likewise.
244 (display_tic6x_attribute): Likewise.
245 (display_raw_attribute): Likewise.
246 (process_attributes): Likewise.
247 (process_arm_specific): Delete redundant function.
248 (process_power_specific): Likewise.
249 (process_s390_specific): Likewise.
250 (process_sparc_specific): Likewise.
251 (process_tic6x_specific): Likewise.
252 (process_msp430x_specific): Likewise.
253 (display_public_gnu_attributes): New function. Displays known
254 information about an unknown gnu attribute.
255 (display_generic_attribute): New function. Calls
256 display_tag_value for non-nul tags.
257 (process_arch_specific): Call process_attributes even for
258 architectures not known to specifically support gnu attributes.
259
260 2017-02-22 Jan Kratochvil <jan.kratochvil@redhat.com>
261
262 * dwarf.c (decode_location_expression): Display also OP.
263
264 2017-02-22 Maciej W. Rozycki <macro@imgtec.com>
265
266 * readelf.c (process_version_sections) <SHT_GNU_verdef>: Print a
267 new line between the heading and the first version definition
268 entry.
269
270 2017-02-20 Nick Clifton <nickc@redhat.com>
271
272 PR binutils/21156
273 * dwarf.c (cu_tu_indexes_read): Move into...
274 (load_cu_tu_indexes): ... here. Change the variable into
275 tri-state. Change the function into boolean, returning
276 false if the indicies could not be loaded.
277 (find_cu_tu_set): Return NULL if the indicies could not be
278 loaded.
279
280 2017-02-17 Nick Clifton <nickc@redhat.com>
281
282 PR binutils/21156
283 * readelf.c (find_section_in_set): Test for invalid section
284 indicies.
285
286 2017-02-17 Nick Clifton <nickc@redhat.com>
287
288 * readelf.c (get_section_type_name): Add decoding of GNU section
289 types.
290
291 2017-02-15 Nick Clifton <nickc@redhat.com>
292
293 * MAINTAINERS: (MIPS, MN10300): Move Eric Christopher to Past
294 Maintainers section.
295
296 2017-02-14 Nick Clifton <nickc@redhat.com>
297
298 PR binutils/21159
299 * readelf.c (dump_section_as_strings): Reset the start address if
300 no decompression is perfromed.
301 (dump_section_as_bytes): Likewise.
302
303 2017-02-14 Nick Clifton <nickc@redhat.com>
304
305 PR binutils/21158
306 * rddbg.c (read_symbol_stabs_debugging_info): Check for a null or
307 empty symbol name.
308
309 2017-02-14 Nick Clifton <nickc@redhat.com>
310
311 PR binutils/21157
312 * stabs.c (parse_stab_enum_type): Check for corrupt NAME:VALUE
313 pairs.
314 (parse_number): Exit early if passed an empty string.
315
316 2017-02-14 Nick Clifton <nickc@redhat.com>
317
318 PR binutils/21155
319 * readelf.c (IN_RANGE): New macro. Tests for an address + offset
320 being within a given range.
321 (target_specific_reloc_handling): Use macro to test for underflow
322 as well as overflow of reloc offset.
323
324 2017-02-13 Nick Clifton <nickc@redhat.com>
325
326 PR binutils/21150
327 * nm.c (file_symbol): Add test of string length before testing
328 string characters.
329
330 2017-02-13 Nick Clifton <nickc@redhat.com>
331
332 PR binutils/21135
333 * readelf.c (dump_section_as_bytes): Handle the case where
334 uncompress_section_contents returns false.
335 (dump_section_as_bytes, load_specific_debug_section): Likewise.
336
337 2017-02-13 Nick Clifton <nickc@redhat.com>
338
339 PR binutils/21149
340 * readelf.c (get_compression_header): Add size parameter. Check
341 size against sizeof compression header before attempting to
342 extract the header.
343 (process_section_headers): Pass size to get_compression_header.
344 (dump_section_as_strings): Likewise.
345 (dump_section_as_bytes): Likewise.
346 (load_specific_debug_section): Likewise.
347
348 2017-02-13 Nick Clifton <nickc@redhat.com>
349
350 PR binutils/21148
351 * readelf.c (process_version_sections): Include size of auxillary
352 version information when checking for buffer overflow.
353
354 2017-02-13 Nick Clifton <nickc@redhat.com>
355
356 PR binutils/21147
357 * readelf.c (process_section_contents): Fix off by one error
358 reporting un-dumped sections.
359
360 2017-02-13 Nick Clifton <nickc@redhat.com>
361
362 PR binutils/21139
363 * readelf.c (target_specific_reloc_handling): Add num_syms
364 parameter. Check for symbol table overflow before accessing
365 symbol value. If reloc pointer is NULL, discard all saved state.
366 (apply_relocations): Pass num_syms to target_specific_reloc_handling.
367 Call target_specific_reloc_handling with a NULL reloc pointer
368 after processing all of the relocs.
369
370 2017-02-13 Nick Clifton <nickc@redhat.com>
371
372 PR binutils/21137
373 * readelf.c (target_specific_reloc_handling): Add end parameter.
374 Check for buffer overflow before writing relocated values.
375 (apply_relocations): Pass end to target_specific_reloc_handling.
376
377 2017-01-27 Dilyan Palauzov <dilyan.palauzov@aegee.org>
378 Nick Clifton <nickc@redhat.com>
379
380 PR 20343
381 * doc/binutils.texi (ar): Extend documentation of the --plugin
382 option. Include a description of where the plugins should be
383 located.
384 (nm): Likewise.
385
386 2017-01-23 Nick Clifton <nickc@redhat.com>
387
388 * MAINTAINERS: Add Bernd to Past Maintainers section.
389 (SCORE): Remove Mei Ligang as maintainer. Add to Past Maintainers
390 section.
391
392 2017-01-23 Bernd Schmidt <bschmidt@redhat.com>
393
394 * MAINTAINERS (BFIN): Remove myself as Blackfin maintainer.
395
396 2017-01-20 Andrew Burgess <andrew.burgess@embecosm.com>
397
398 * objdump.c (dump_section_header): Extract max section name length
399 from data parameter, use this when formatting output.
400 (find_longest_section_name): New function.
401 (dump_headers): Calculate longest section name when in wide mode,
402 reformat to unify printing of header line.
403
404 2017-01-18 Bernhard Rosenkranzer <bero@lindev.ch>
405
406 PR 21059
407 * arlex.l: Support processing with flex 2.6.3.
408 * deflex.l: Likewise.
409
410 2017-01-17 Dmitry Timoshkov <dmitry@baikal.ru>
411
412 * resbin.c: Optional dialog control data immediately follows
413 the control description without alignment.
414 * testsuite/binutils-all/windres/controldata.rc: New test.
415 source.
416 * testsuite/binutils-all/windres/controldata.rsd: New test.
417
418 2017-01-12 Nick Clifton <nickc@redhat.com>
419
420 PR binutils/20876
421 * NEWS: Mention the new feature.
422 * testsuite/binutils-all/objdump.exp (test_build_id_debuglink):
423 New proc to test the location of separate debug info files using
424 the build-id method.
425
426 2017-01-10 Nick Clifton <nickc@redhat.com>
427
428 PR 21034
429 * stabs.c (parse_stab_members): Fix thinko checking for g++
430 version 1 stabs information.
431
432 2017-01-09 Nick Clifton <nickc@redhat.com>
433
434 * objdump.c (display_file): Add new parameter 'last_file'. If
435 last_file is true, do not call bfd_close at the end of the
436 function.
437 (main): Set the value of the last_file parameter when calling
438 display_file.
439
440 2017-01-09 Alan Modra <amodra@gmail.com>
441
442 * readelf.c (process_section_headers): Correct .rel.dyn/.rela.dyn
443 comment.
444
445 2017-01-06 Nick Clifton <nickc@redhat.com>
446
447 * MAINTAINERS: Move Paul Brook to the Past Maintainers section.
448
449 2017-01-04 Dilan Palauzov <dilyan.palauzov@aegee.org>
450
451 PR 20958
452 * syslex.l (option): Add noyywrap
453 (yywrap): Delete.
454
455 2017-01-02 Alan Modra <amodra@gmail.com>
456
457 Update year range in copyright notice of all files.
458
459 For older changes see ChangeLog-2016
460 \f
461 Copyright (C) 2017 Free Software Foundation, Inc.
462
463 Copying and distribution of this file, with or without modification,
464 are permitted in any medium without royalty provided the copyright
465 notice and this notice are preserved.
466
467 Local Variables:
468 mode: change-log
469 left-margin: 8
470 fill-column: 74
471 version-control: never
472 End: