Fix heap-buffer address violation when reading version data from a corrupt binary.
[external/binutils.git] / binutils / ChangeLog
1 2017-04-28  Nick Clifton  <nickc@redhat.com>
2
3         PR binutils/21437
4         * readelf.c (process_version_sections): Check for underflow when
5         computing the start address of the auxillary version data.
6
7 2017-04-28  Nick Clifton  <nickc@redhat.com>
8
9         PR binutils/21438
10         * dwarf.c (process_extended_line_op): Do not assume that the
11         string extracted from the section is NUL terminated.
12         (fetch_indirect_string): If the string retrieved from the section
13         is not NUL terminated, return an error message.
14         (fetch_indirect_line_string): Likewise.
15         (fetch_indexed_string): Likewise.
16
17 2017-04-26  Nick Clifton  <nickc@redhat.com>
18
19         PR binutils/21433
20         * bucomm.c (get_file_size): Return -1 if file_name is NULL.
21         * ar.c (main): Fail with usage() invocation if no file names are
22         provided.
23
24 2017-04-26  Nick Clifton  <nickc@redhat.com>
25
26         * readelf.c (process_section_headers): Warn about overlarge
27         sections.
28         (print_gnu_build_attribute_name): Print the number of unrecognised
29         note types.  Fix formatting in the presence of errors.
30         (testsuite/binutils-all/note-2-32.s): Fix encoding of numeric notes.
31         (testsuite/binutils-all/note-2-64.s): Likewise.
32
33 2017-04-26  Maciej W. Rozycki  <macro@imgtec.com>
34
35         * readelf.c (process_mips_specific): Add static GOT support.
36
37 2017-04-25  Maciej W. Rozycki  <macro@imgtec.com>
38
39         * readelf.c (process_mips_specific): Remove error reporting from
40         GOT[1] processing.
41
42 2017-04-25  Maciej W. Rozycki  <macro@imgtec.com>
43
44         * readelf.c (process_mips_specific): Remove null GOT data check.
45
46 2017-04-25  Maciej W. Rozycki  <macro@imgtec.com>
47
48         * testsuite/binutils-all/mips/mips16-alias.d: New test.
49         * testsuite/binutils-all/mips/mips16-noalias.d: New test.
50         * testsuite/binutils-all/mips/mips16-alias.s: New test source.
51         * testsuite/binutils-all/mips/mips.exp: Run the new tests.
52
53 2017-04-23  Alan Modra  <amodra@gmail.com>
54
55         PR 21418
56         * ar.c (main): Check -a, -b, -i and -N args are given.
57
58 2017-04-23  Alan Modra  <amodra@gmail.com>
59
60         PR 21417
61         * ar.c (main): Check that an archive file is given after options.
62
63 2017-04-23  Alan Modra  <amodra@gmail.com>
64
65         PR 21415
66         * objdump.c (disassemble_section): Check bfd_get_section_contents
67         status.
68
69 2017-04-23  Alan Modra  <amodra@gmail.com>
70
71         PR 21408
72         * dwarf.c (display_debug_lines_decoded): Don't segfault on NULL
73         file_table.
74
75 2017-04-21  Nick Clifton  <nickc@redhat.com>
76
77         PR binutils/21378
78         * readelf.c (print_gnu_build_attribute_name): Check for an
79         overlarge name field.
80
81 2017-04-13  Nick Clifton  <nickc@redhat.com>
82
83         PR binutils/21379
84         * readelf.c (process_dynamic_section): Detect over large section
85         offsets in the DT_SYMTAB entry.
86
87 2017-04-13  Nick Clifton  <nickc@redhat.com>
88
89         PR binutils/21345
90         * readelf.c (process_mips_specific): Catch an unfeasible memory
91         allocation before it happens and print a suitable error message.
92
93 2017-04-13  Nick Clifton  <nickc@redhat.com>
94
95         * objcopy.c: Add --no-merge-notes option to disable note merging.
96         Add --[no-]merge-notes option to strip, and enable it by default.
97         (num_bytes): New function.
98         (merge_gnu_build_notes): Add code to merge stack size notes.
99         * binutils.texi: Update strip and objcopy documentation.
100         * readelf.c (print_gnu_build_attribute_name): Use defined
101         constants for note types.
102
103 2017-04-10  John Delsignor  <john.delsignore@roguewave.com>
104
105         PR binutils/21319
106         * dwarf.c (display_gdb_index): Correct test for a corrupt address
107         table size.
108
109 2017-04-05  Jiong Wang  <jiong.wang@arm.com>
110
111         * objcopy.c (struct redefine_node): Delete the field "next".
112         (redefine_sym_list): Deleted.
113         (redefine_specific_htab): New hash table.
114         (redefine_specific_reverse_htab): Likewise.
115         (eq_string_redefnode): New function.
116         (htab_hash_redefnode): Likewise.
117         (create_symbol2redef_htab): Likewise.
118         (add_specific_symbol_node): Likewise.
119         (create_symbol_htabs): Create redefine_specific_htab and
120         redefine_specific_reverse_htab.
121         (lookup_sym_redefinition): Use hash table instead of list.
122         (redefine_list_append): Likewise, and rename to add_redefine_and_check.
123         (copy_main): Use redefine_specific_htab instead of redefine_sym_list.
124         Update comments.
125
126 2017-04-04  H.J. Lu  <hongjiu.lu@intel.com>
127
128         * NEWS: Mention support for ELF SHF_GNU_MBIND and
129         PT_GNU_MBIND_XXX.
130         * readelf.c (get_segment_type): Handle PT_GNU_MBIND_XXX.
131         (get_elf_section_flags): Handle SHF_GNU_MBIND.
132         (process_section_headers): Likewise.
133         * testsuite/binutils-all/mbind1.s: New file.
134         * testsuite/binutils-all/objcopy.exp: Run readelf test on
135         mbind1.s.
136
137 2017-04-03  Nick Clifton  <nickc@redhat.com>
138
139         PR binutils/21345
140         * readelf.c (get_program_headers): Check for there being too many
141         program headers before attempting to allocate space for them.
142
143 2017-04-03  Nick Clifton  <nickc@redhat.com>
144
145         PR binutils/21344
146         * readelf.c (process_mips_specific): Check for an out of range GOT
147         entry before reading the module pointer.
148
149 2017-04-03  Nick Clifton  <nickc@redhat.com>
150
151         PR binutils/21343
152         * readelf.c (get_unwind_section_word): Fix snafu checking for
153         invalid word offsets in ARM unwind information.
154
155 2017-03-31  Pip Cet  <pipcet@gmail.com>
156
157         * NEWS: Use "WebAssembly" consistently.
158         * testsuite/binutils-all/wasm32/wasm32.exp: Fix copyright notice.
159
160 2017-03-30  Pip Cet  <pipcet@gmail.com>
161
162         * readelf.c: Add support for wasm32 ELF format WebAssembly files.
163         (guess_is_rela): Likewise.
164         (dump_relocations): Likewise.
165         (is_32bit_abs_reloc): Likewise.
166         (is_none_reloc_): Likewise.
167         * NEWS: Mention the new support.
168         * testsuite/lib/binutils-common.exp (is_elf_format): Mark wasm32
169         as ELF target.
170         (supports_gnu_unique): Mark wasm32 as supporting STB_GNU_UNIQUE.
171         * testsuite/binutils-all/nm.exp: Mark wasm32 as requiring .size annotations.
172         * testsuite/binutils-all/wasm32: New directory.
173         * testsuite/binutils-all/wasm32/create-wasm.d: New file.
174         * testsuite/binutils-all/wasm32/create-wasm.s: Likewise.
175         * testsuite/binutils-all/wasm32/custom-section.d: Likewise.
176         * testsuite/binutils-all/wasm32/custom-section.s: Likewise.
177         * testsuite/binutils-all/wasm32/invalid-wasm-1.d: Likewise.
178         * testsuite/binutils-all/wasm32/invalid-wasm-1.s: Likewise.
179         * testsuite/binutils-all/wasm32/long-sections.d: Likewise.
180         * testsuite/binutils-all/wasm32/long-sections.s: Likewise.
181         * testsuite/binutils-all/wasm32/parse-wasm.d: Likewise.
182         * testsuite/binutils-all/wasm32/parse-wasm.s: Likewise.
183         * testsuite/binutils-all/wasm32/parse-wasm-2.d: Likewise.
184         * testsuite/binutils-all/wasm32/parse-wasm-2.s: Likewise.
185         * testsuite/binutils-all/wasm32/prepared-section.d: Likewise.
186         * testsuite/binutils-all/wasm32/prepared-section.s: Likewise.
187         * testsuite/binutils-all/wasm32/wasm32.exp: New file, run tests.
188
189 2017-03-29  Alan Modra  <amodra@gmail.com>
190
191         * doc/binutils.texi (objdump): Document PowerPC -M options.
192
193 2017-03-21  Andi Kleen  <ak@linux.intel.com>
194
195         * objdump.c (unwind_inlines): Add.
196         (option_values): Add OPTION_INLINES.
197         (show_line): Unwind inlines if requested.
198         (main): Parse OPTION_INLINES.
199         (usage): Document --inlines.
200         * doc/binutils.texi: Document --inlines.
201         * NEWS: Likewise.
202
203 2017-03-21  Nick Clifton  <nickc@redhat.com>
204
205         * readelf.c (print_gnu_build_attribute_name): Allow stack
206         protection notes to contain numeric values.  Use a colon rather
207         than a space to separate a string name from its values.  Decode
208         the numeric value of a stack protection note.
209         * objcopy.c (merge_gnu_build_notes): Allow version notes to
210         contain extra text after the protocol version number.
211
212 2017-03-20  Mark Wielaard  <mark@klomp.org>
213
214         * readelf.c (process_program_headers): Move dynamic_addr check
215         after .dynamic section cross check.
216
217 2017-03-17  Nick Clifton  <nickc@redhat.com>
218
219         * readelf.c (print_gnu_build_attribute_name): Fix off by one error
220         printing the value for a build note with an ascii name.
221
222 2017-03-16  Nick Clifton  <nickc@redhat.com>
223
224         * readelf.c (print_gnu_build_attribute_name): Add support for
225         GNU_BUILD_ATTRIBUTE_SHORT_ENUM.
226
227 2017-03-14  Nick Clifton  <nickc@redhat.com>
228
229         * readelf.c (print_gnu_build_attribute_description): Move symbol
230         printing code to...
231         (print_symbol_for_build_attribute): New function.  ...here.
232         Add to find the best symbol to associate with an OPEN note.
233         Add code to cache the symbol table and string table, so that they
234         are not loaded every time a note is displayed.
235         * testsuite/binutils-all/note-2-32.s: Add a function symbol.
236         * testsuite/binutils-all/note-2-64.s: Likewise.
237         * testsuite/binutils-all/note-2-32.d: Update expected note output.
238         * testsuite/binutils-all/note-2-64.d: Likewise.
239
240 2017-03-13  Alan Modra  <amodra@gmail.com>
241             Taeung Song <treeze.taeung@gmail.com>
242
243         * objdump.c (update_source_path): Add abfd param.  Add struct
244         stat var.  Pass to try_print_file_open.  Warn if source is more
245         recent than object.
246         (try_print_file_open, slurp_file): Add struct stat param to
247         return fstat.
248         (show_line): Call update_source_path with bfd.
249
250 2017-03-10  Chia-Hao Lo  <fcamel@gmail.com>
251
252         PR binutils/21235
253         * objdump.c (main): Set do_wide with --wide.
254
255 2017-03-10  Nick Clifton  <nickc@redhat.com>
256
257         * readelf.c (get_machine_name): Rearrange switch table in order of
258         increasing machine number.  Add missing entries.
259
260 2017-03-08  H.J. Lu  <hongjiu.lu@intel.com>
261
262         PR binutils/21231
263         * readelf.c (decode_x86_isa): Change argument to unsigned int.
264         (print_gnu_property_note): Retrieve property type and datasz as
265         4-byte integer.  Consolidate property datasz check.  Check
266         GNU_PROPERTY_LOPROC and GNU_PROPERTY_LOUSER.
267         * testsuite/binutils-all/i386/pr21231a.d: New file.
268         * testsuite/binutils-all/i386/pr21231a.s: Likewise.
269         * testsuite/binutils-all/i386/pr21231b.d: Likewise.
270         * testsuite/binutils-all/i386/pr21231b.s: Likewise.
271         * testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
272         * testsuite/binutils-all/x86-64/pr21231a.s: Likewise.
273         * testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
274         * testsuite/binutils-all/x86-64/pr21231b.s: Likewise.
275
276 2017-03-06  Nick Clifton  <nickc@redhat.com>
277
278         * readelf.c (print_gnu_build_attribute_name): Read byte values
279         from the name string as unsigned bytes.
280         (process_notes_at): Use memcpy to copy an unterminated name
281         string.
282
283 2017-03-06  Sam Thursfield  <sam.thursfield@codethink.co.uk>
284
285         * configure.ac (AC_CHECK_DECLS): Add asprintf.
286         * config.in: Regenerate.
287         * configure: Regenerate.
288
289 2017-03-02  Nick Clifton  <nickc@redhat.com>
290
291         * readelf.c (print_gnu_build_attribute_description): Use global
292         symbols for OPEN attributes if at all possible.
293         * objcopy.c (is_merged_note_section): Support build note sections
294         without the SHF_GNU_BUILD_NOTE section flag set.
295
296 2017-03-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
297
298         * dwarf.c (debug_displays_assert): New static assertion.
299
300 2017-03-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
301
302         * dwarf.h (enum dwarf_section_display_enum): Add loclists and rnglists.
303
304 2017-03-01  Nick Clifton  <nickc@redhat.com>
305
306         * readelf.c (get_note_type): Add support for GNU_BUILD_NOTEs.
307         (get_gnu_elf_note_type): Add support for GNU_PROPERTY_NOTEs.
308         (decode_x86_isa): New function.
309         (print_gnu_property_note): New function.
310         (print_gnu_note): Handle GNU_PROPERTY_NOTEs.
311         (print_gnu_build_attribute_description): New function.
312         (print_gnu_build_attribute_name): New function.
313         (process_note): Add support for GNU_BUILD_NOTEs.
314         * objcopy.c (--merge-notes): New command line option.
315         (copy_options): Add merge-notes.
316         (copy_usage): Likewise.
317         (is_merge_note_section): New function.
318         (merge_gnu_build_notes): New function.
319         (copy_object): Merge note sections if asked to do so.
320         (skip_section): Add skip_copy parameter.  Add support for skipping
321         merged note sections.
322         (copy_relocations_in_section): Update call to skip_section.
323         (copy_section): Likewise.
324         (copy_main): Add support for merge-notes option.
325         * doc/binutils.texi: Document the new option to objcopy.
326         * NEWS: Mention the new feature.
327         * testsuite/binutils-all/note-2-32.d: New test.  Checks note
328         merging on 32-bit targets.
329         * testsuite/binutils-all/note-2-32.s: New test source file.
330         * testsuite/binutils-all/note-2-64.d: New test.  Like note-2-32.d
331         but for 64-bit targets.
332         * testsuite/binutils-all/note-2-64.s: New test source file.
333         * testsuite/binutils-all/objcopy.exp: Run the new test.
334
335 2017-02-28  Peter Bergner  <bergner@vnet.ibm.com>
336
337         * objdump.c (main): Use remove_whitespace_and_extra_commas.
338
339 2017-02-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
340
341         Fix compilation with GCC 4.4.7.
342         * dwarf.c (display_loclists_list, display_debug_rnglists_list):
343         Initialize begin and end.
344
345 2017-02-25  Alan Modra  <amodra@gmail.com>
346
347         * testsuite/binutils-all/dw5.S: Replace .string with .asciz.
348         Support hpux .comm variant.
349         * testsuite/binutils-all/readelf.exp: Define HPUX when assembling
350         dw5 test for hppa64-hpux.
351
352 2017-02-24  Nick Clifton  <nickc@redhat.com>
353
354         * readelf.c (show_name, do_dynamic, do_syms, do_dyn_syms,
355         (do_reloc, do_sections, do_section_groups, do_section_details,
356         (do_segments, do_unwind, do_using_dynamic, do_header, do_dump,
357         (do_version, do_histogram, do_debugging, do_arch, do_notes,
358         (do_archive_index, is_32bit_elf, decompress_dumps): Use
359         bfd_boolean type.
360         (parse_args): Treat the do_* variables as booleans.
361         (print_vma): Return an unsigned int.
362         (print_symbol): Change width parameter to signed int.
363         (is_ia64_vms): Change return type to bfd_boolean.
364         (guess_is_rela): Likewise.
365         (slurp_rela_relocs): Likewise.
366         (slurp_rel_relocs): Likewise.
367         (dump_relocations): Likewise.
368         (process_file_header): Likewise.
369         (get_program_headers): Likewise.
370         (process_program_headers): Likewise.
371         (process_section_headers): Likewise.
372         (process_section_groups): Likewise.
373         (dump_ia64_vms_dynamic_fixups): Likewise.
374         (dump_ia64_vms_dynamic_relocs): Likewise.
375         (process_ia64_vms_dynamic_relocs): Likewise.
376         (process_relocs): Likewise.
377         (dump_ia64_unwind): Likewise.
378         (ia64_process_unwind): Likewise.
379         (dump_hppa_unwind): Likewise.
380         (slurp_hppa_unwind_table): Likewise.
381         (hppa_process_unwind): Likewise.
382         (decode_arm_unwind_bytecode): Likewise.
383         (decode_tic6x_unwind_bytecode): Likewise.
384         (decode_arm_unwind): Likewise.
385         (dump_arm_unwind): Likewise.
386         (arm_process_unwind): Likewise.
387         (process_unwind): Likewise.
388         (get_32bit_dynamic_section): Likewise.
389         (get_64bit_dynamic_section): Likewise.
390         (process_dynamic_section): Likewise.
391         (process_version_sections): Likewise.
392         (process_symbol_table): Likewise.
393         (process_syminfo): Likewise.
394         (apply_relocations): Likewise.
395         (disassemble_section): Likewise.
396         (dump_section_as_strings): Likewise.
397         (dump_section_as_bytes): Likewise.
398         (load_specific_debug_section): Likewise.
399         (load_debug_section): Likewise.
400         (display_debug_section): Likewise.
401         (process_section_contents): Likewise.
402         (process_attributes): Likewise.
403         (process_nds32_specific): Likewise.
404         (process_gnu_liblist): Likewise.
405         (print_core_note): Likewise.
406         (print_gnu_note): Likewise.
407         (print_v850_note): Likewise.
408         (process_netbsd_elf_note): Likewise.
409         (print_stapsdt_note): Likewise.
410         (print_ia64_vms_note): Likewise.
411         (process_note): Likewise.
412         (process_notes_at): Likewise.
413         (process_corefile_note_segments): Likewise.
414         (process_v850_notes): Likewise.
415         (process_note_sections): Likewise.
416         (process_notes): Likewise.
417         (process_arch_specific): Likewise.
418         (get_file_header): Likewise.
419         (process_object): Likewise.
420         (process_archive): Likewise.
421         (process_file): Likewise.
422         (section_subset): Make static.
423         (get_mips_reg_size): Return a signed integer.
424         (process_object): Reverse the logic of the return value.
425         (process_archive): Likewise.
426         (process_file): Likewise.
427         (process_program_headers): Fix snafu - if the program headers are
428         not available then this is not a cause to fail.
429         (process_corefile_note_segments): Likewise.
430
431 2017-02-24  Maciej W. Rozycki  <macro@imgtec.com>
432
433         * readelf.c (get_ver_flags): Tidy the formatting of the string
434         returned
435
436 2017-02-24  Maciej W. Rozycki  <macro@imgtec.com>
437
438         * readelf.c (process_version_sections) <SHT_GNU_verdef>: Make
439         `isum' unsigned.
440         <SHT_GNU_verneed>: Likewise.
441
442 2017-02-24  Maciej W. Rozycki  <macro@imgtec.com>
443
444         * readelf.c (process_version_sections) <SHT_GNU_verdef>: Limit
445         the number of entries processed by the section size.  Don't
446         break out of the loop if `ent.vd_next' is 0.
447
448 2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
449
450         * testsuite/binutils-all/dw5.S: New file.
451         * testsuite/binutils-all/dw5.W: New file.
452         * testsuite/binutils-all/readelf.exp (readelf -wiaoRlL): New test.
453
454 2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
455
456         * dwarf.c (read_and_display_attr_value): Support DW_FORM_data16.
457
458 2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
459
460         * dwarf.c (display_debug_macro): Support DWARF-5.  Rename
461         DW_MACRO_GNU_*.
462
463 2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
464
465         * dwarf.c (decode_location_expression): Support DW_OP_implicit_pointer,
466         DW_OP_const_type, DW_OP_regval_type, DW_OP_deref_type, DW_OP_convert
467         and DW_OP_reinterpret.
468         (read_and_display_attr_value): Support DW_AT_call_value,
469         DW_AT_call_data_value, DW_AT_call_target and
470         DW_AT_call_target_clobbered.
471
472 2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
473
474         * dwarf.c (fetch_indirect_line_string): New function.
475         (abbrev_attr): New field implicit_const.
476         (add_abbrev_attr): New parameter implicit_const.
477         (process_abbrev_section): Support DW_FORM_implicit_const.
478         (decode_location_expression): Support DW_OP_entry_value.
479         (read_and_display_attr_value): Add parameter implicit_const.  Support
480         DW_FORM_line_strp and DW_FORM_implicit_const.
481         (read_and_display_attr): Add parameter implicit_const.
482         (process_debug_info): Support line_str and DWARF-5.
483         (read_debug_line_header): Support DWARF-5.
484         (display_formatted_table): New function.
485         (display_debug_lines_raw): New parameter file.  Support DWARF-5.
486         (display_debug_lines_decoded): New parameter fileptr.  Support DWARF-5.
487         (display_debug_lines): Pass file parameter.
488         (display_debug_macro): Update read_and_display_attr_value caller.
489         (display_debug_abbrev): Support DW_FORM_implicit_const.
490         (display_loclists_list): New function.
491         (display_loc_list): Support .debug_loclists.
492         (display_debug_ranges_list): New function from display_debug_ranges.
493         (display_debug_rnglists_list): New function.
494         (display_debug_ranges): Support .debug_rnglists.
495         (debug_displays): Add .debug_line_str, .debug_loclists and
496         .debug_rnglists.
497         * dwarf.h: Include dwarf2.h
498         (DWARF2_Internal_LineInfo): Add li_offset_size.
499         (DWARF2_Internal_CompUnit): Add cu_unit_type.
500         (enum dwarf_section_display_enum): Add line_str.
501         * readelf.c (process_section_headers): Add rnglists and loclists.
502
503 2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
504
505         * dwarf.c (display_block): Add parameter delimiter.
506         (decode_location_expression): Update display_block callers.
507         (read_and_display_attr_value): Add parameter delimiter.
508         (read_and_display_attr, display_debug_macro): Update
509         read_and_display_attr_value caller.
510
511 2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
512
513         * dwarf.c (display_loc_list): Use dwarf_vma for offset, base_address
514         and off.
515         (display_loc_list_dwo): Use dwarf_vma for offset.
516         (display_debug_loc): Use dwarf_vma for offset, base_address.
517         (struct range_entry, range_entry_compar): Use dwarf_vma for
518         ranges_offset.
519         (display_debug_ranges): Use dwarf_vma for ranges_offset, offset and
520         base_address.
521
522 2017-02-23  Nick Clifton  <nickc@redhat.com>
523
524         * readelf.c (display_tag_value): Use an explicit signed type for
525         the tag parameter.
526         (display_gnu_attributes): Use an unsigned integer type for
527         attribute tags.
528         (display_power_gnu_attribute): Likewise.
529         (display_s390_gnu_attribute): Likewise.
530         (display_sparc_hwcaps): Likewise.
531         (display_sparc_hwcaps2): Likewise.
532         (display_sparc_gnu_attribute): Likewise.
533         (display_mips_gnu_attribute): Likewise.
534         (display_tic6x_attribute): Likewise.
535         (display_raw_attribute): Likewise.
536         (process_attributes): Likewise.
537         (process_arm_specific): Delete redundant function.
538         (process_power_specific): Likewise.
539         (process_s390_specific): Likewise.
540         (process_sparc_specific): Likewise.
541         (process_tic6x_specific): Likewise.
542         (process_msp430x_specific): Likewise.
543         (display_public_gnu_attributes): New function.  Displays known
544         information about an unknown gnu attribute.
545         (display_generic_attribute): New function.  Calls
546         display_tag_value for non-nul tags.
547         (process_arch_specific): Call process_attributes even for
548         architectures not known to specifically support gnu attributes.
549
550 2017-02-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
551
552         * dwarf.c (decode_location_expression): Display also OP.
553
554 2017-02-22  Maciej W. Rozycki  <macro@imgtec.com>
555
556         * readelf.c (process_version_sections) <SHT_GNU_verdef>: Print a
557         new line between the heading and the first version definition
558         entry.
559
560 2017-02-20  Nick Clifton  <nickc@redhat.com>
561
562         PR binutils/21156
563         * dwarf.c (cu_tu_indexes_read): Move into...
564         (load_cu_tu_indexes): ... here.  Change the variable into
565         tri-state.  Change the function into boolean, returning
566         false if the indicies could not be loaded.
567         (find_cu_tu_set): Return NULL if the indicies could not be
568         loaded.
569
570 2017-02-17  Nick Clifton  <nickc@redhat.com>
571
572         PR binutils/21156
573         * readelf.c (find_section_in_set): Test for invalid section
574         indicies.
575
576 2017-02-17  Nick Clifton  <nickc@redhat.com>
577
578         * readelf.c (get_section_type_name): Add decoding of GNU section
579         types.
580
581 2017-02-15  Nick Clifton  <nickc@redhat.com>
582
583         * MAINTAINERS: (MIPS, MN10300): Move Eric Christopher to Past
584         Maintainers section.
585
586 2017-02-14  Nick Clifton  <nickc@redhat.com>
587
588         PR binutils/21159
589         * readelf.c (dump_section_as_strings): Reset the start address if
590         no decompression is perfromed.
591         (dump_section_as_bytes): Likewise.
592
593 2017-02-14  Nick Clifton  <nickc@redhat.com>
594
595         PR binutils/21158
596         * rddbg.c (read_symbol_stabs_debugging_info): Check for a null or
597         empty symbol name.
598
599 2017-02-14  Nick Clifton  <nickc@redhat.com>
600
601         PR binutils/21157
602         * stabs.c (parse_stab_enum_type): Check for corrupt NAME:VALUE
603         pairs.
604         (parse_number): Exit early if passed an empty string.
605
606 2017-02-14  Nick Clifton  <nickc@redhat.com>
607
608         PR binutils/21155
609         * readelf.c (IN_RANGE): New macro.  Tests for an address + offset
610         being within a given range.
611         (target_specific_reloc_handling): Use macro to test for underflow
612         as well as overflow of reloc offset.
613
614 2017-02-13  Nick Clifton  <nickc@redhat.com>
615
616         PR binutils/21150
617         * nm.c (file_symbol): Add test of string length before testing
618         string characters.
619
620 2017-02-13  Nick Clifton  <nickc@redhat.com>
621
622         PR binutils/21135
623         * readelf.c (dump_section_as_bytes): Handle the case where
624         uncompress_section_contents returns false.
625         (dump_section_as_bytes, load_specific_debug_section): Likewise.
626
627 2017-02-13  Nick Clifton  <nickc@redhat.com>
628
629         PR binutils/21149
630         * readelf.c (get_compression_header): Add size parameter.  Check
631         size against sizeof compression header before attempting to
632         extract the header.
633         (process_section_headers): Pass size to get_compression_header.
634         (dump_section_as_strings): Likewise.
635         (dump_section_as_bytes): Likewise.
636         (load_specific_debug_section): Likewise.
637
638 2017-02-13  Nick Clifton  <nickc@redhat.com>
639
640         PR binutils/21148
641         * readelf.c (process_version_sections): Include size of auxillary
642         version information when checking for buffer overflow.
643
644 2017-02-13  Nick Clifton  <nickc@redhat.com>
645
646         PR binutils/21147
647         * readelf.c (process_section_contents): Fix off by one error
648         reporting un-dumped sections.
649
650 2017-02-13  Nick Clifton  <nickc@redhat.com>
651
652         PR binutils/21139
653         * readelf.c (target_specific_reloc_handling): Add num_syms
654         parameter.  Check for symbol table overflow before accessing
655         symbol value.  If reloc pointer is NULL, discard all saved state.
656         (apply_relocations): Pass num_syms to target_specific_reloc_handling.
657         Call target_specific_reloc_handling with a NULL reloc pointer
658         after processing all of the relocs.
659
660 2017-02-13  Nick Clifton  <nickc@redhat.com>
661
662         PR binutils/21137
663         * readelf.c (target_specific_reloc_handling): Add end parameter.
664         Check for buffer overflow before writing relocated values.
665         (apply_relocations): Pass end to target_specific_reloc_handling.
666
667 2017-01-27  Dilyan Palauzov  <dilyan.palauzov@aegee.org>
668             Nick Clifton  <nickc@redhat.com>
669
670         PR 20343
671         * doc/binutils.texi (ar): Extend documentation of the --plugin
672         option.  Include a description of where the plugins should be
673         located.
674         (nm): Likewise.
675
676 2017-01-23  Nick Clifton  <nickc@redhat.com>
677
678         * MAINTAINERS: Add Bernd to Past Maintainers section.
679         (SCORE): Remove Mei Ligang as maintainer.  Add to Past Maintainers
680         section.
681
682 2017-01-23  Bernd Schmidt  <bschmidt@redhat.com>
683
684         * MAINTAINERS (BFIN): Remove myself as Blackfin maintainer.
685
686 2017-01-20  Andrew Burgess  <andrew.burgess@embecosm.com>
687
688         * objdump.c (dump_section_header): Extract max section name length
689         from data parameter, use this when formatting output.
690         (find_longest_section_name): New function.
691         (dump_headers): Calculate longest section name when in wide mode,
692         reformat to unify printing of header line.
693
694 2017-01-18  Bernhard Rosenkranzer  <bero@lindev.ch>
695
696         PR 21059
697         * arlex.l: Support processing with flex 2.6.3.
698         * deflex.l: Likewise.
699
700 2017-01-17  Dmitry Timoshkov  <dmitry@baikal.ru>
701
702         * resbin.c: Optional dialog control data immediately follows
703         the control description without alignment.
704         * testsuite/binutils-all/windres/controldata.rc: New test.
705         source.
706         * testsuite/binutils-all/windres/controldata.rsd: New test.
707
708 2017-01-12  Nick Clifton  <nickc@redhat.com>
709
710         PR binutils/20876
711         * NEWS: Mention the new feature.
712         * testsuite/binutils-all/objdump.exp (test_build_id_debuglink):
713         New proc to test the location of separate debug info files using
714         the build-id method.
715
716 2017-01-10  Nick Clifton  <nickc@redhat.com>
717
718         PR 21034
719         * stabs.c (parse_stab_members): Fix thinko checking for g++
720         version 1 stabs information.
721
722 2017-01-09  Nick Clifton  <nickc@redhat.com>
723
724         * objdump.c (display_file): Add new parameter 'last_file'.  If
725         last_file is true, do not call bfd_close at the end of the
726         function.
727         (main): Set the value of the last_file parameter when calling
728         display_file.
729
730 2017-01-09  Alan Modra  <amodra@gmail.com>
731
732         * readelf.c (process_section_headers): Correct .rel.dyn/.rela.dyn
733         comment.
734
735 2017-01-06  Nick Clifton  <nickc@redhat.com>
736
737         * MAINTAINERS: Move Paul Brook to the Past Maintainers section.
738
739 2017-01-04  Dilan Palauzov  <dilyan.palauzov@aegee.org>
740
741         PR 20958
742         * syslex.l (option): Add noyywrap
743         (yywrap): Delete.
744
745 2017-01-02  Alan Modra  <amodra@gmail.com>
746
747         Update year range in copyright notice of all files.
748
749 For older changes see ChangeLog-2016
750 \f
751 Copyright (C) 2017 Free Software Foundation, Inc.
752
753 Copying and distribution of this file, with or without modification,
754 are permitted in any medium without royalty provided the copyright
755 notice and this notice are preserved.
756
757 Local Variables:
758 mode: change-log
759 left-margin: 8
760 fill-column: 74
761 version-control: never
762 End: