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