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