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