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