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