AArch64: Fix disassembler bug with out-of-order sections
[external/binutils.git] / binutils / ChangeLog
1 2019-03-25  Tamar Christina  <tamar.christina@arm.com>
2
3         * objdump.c (disassemble_bytes): Pass stop_offset.
4         * testsuite/binutils-all/aarch64/out-of-order.T: New test.
5         * testsuite/binutils-all/aarch64/out-of-order.d: New test.
6         * testsuite/binutils-all/aarch64/out-of-order.s: New test.
7
8 2019-03-19  Nick Clifton  <nickc@redhat.com>
9
10         PR 24360
11         * objdump.c (load_specific_debug_section): Check that the amount
12         of memory to be allocated matches the size of the section.
13
14 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
15
16         * readelf.c (get_aarch64_dynamic_type): Add case for
17         DT_AARCH64_PAC_PLT.
18         (dynamic_section_aarch64_val): Likewise.
19
20 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
21             Szabolcs Nagy  <szabolcs.nagy@arm.com>
22
23         * readelf.c (get_aarch64_dynamic_type): New.
24         (get_dynamic_type): Use above for EM_AARCH64.
25         (dynamic_section_aarch64_val): New.
26         (process_dynamic_section): Use above for EM_AARCH64.
27
28 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
29
30         * readelf.c (decode_aarch64_feature_1_and): New.
31         (print_gnu_property_note): Add case for AArch64 gnu notes.
32
33 2019-03-12  Alan Modra  <amodra@gmail.com>
34
35         * objdump.c (load_specific_debug_section): Don't compare section
36         size against file size.
37         (dump_relocs_in_section): Don't compare reloc size against file size.
38         Print "failed to read relocs" on bfd_get_reloc_upper_bound error.
39
40 2019-03-05  Nick Clifton  <nickc@redhat.com>
41
42         PR 24295
43         * doc/binutils.texi (ar cmdline): Fix spelling mistake.
44
45 2019-03-05  Nick Clifton  <nickc@redhat.com>
46
47         * po/sv.po: Updated Swedish translation.
48
49 2019-03-05  Matthew Malcomson  <matthew.malcomson@arm.com>
50
51         PR 24287
52         * testsuite/lib/binutils-common.exp (run_dump_test): Replace a use
53         of "lmap" with a "foreach" loop.
54
55 2019-03-04  Nick Clifton  <nickc@redhat.com>
56
57         PR 24281
58         * objcopy.c (copy_archive): Do not copy thin  archives.
59
60 2019-02-27  Matthew Malcomson  <matthew.malcomson@arm.com>
61
62         * testsuite/lib/binutils-common.exp: Allow multiple "as" lines.
63
64 2019-02-25  Nick Clifton  <nickc@redhat.com>
65
66         * objdump.c (sym_ok): New function.
67         (find_symbol_for_address): Use new function.
68         (disassemble_section): Compare sections by name, not pointer.
69         (dump_dwarf): Move code to initialise byte_get pointer and iterate
70         over separate debug files from here to ...
71         (dump_bfd): ... here.  Add parameter indicating that a separate
72         debug info file is being dumped.  For main file, pull in the
73         symbol tables from all separate debug info files.
74         (display_object): Update call to dump_bfd.
75         * doc/binutils.texi: Document extened behaviour of the
76         --dwarf=follow-links option.
77         * NEWS: Mention this new feature.
78         * testsuite/binutils-all/objdump.WK2: Update expected output.
79         * testsuite/binutils-all/objdump.exp (test_follow_debuglink): Add
80         options and dump file parameters.
81         Add extra test.
82         * testsuite/binutils-all/objdump.WK3: New file.
83         * testsuite/binutils-all/readelf.exp: Change expected output for
84         readelf -wKis test.
85         * testsuite/binutils-all/readelf.wKis: New file.
86
87 2019-02-22  Nick Clifton  <nickc@redhat.com>
88
89         PR 23843
90         * dwarf.h (struct separate_info): New structure for containing
91         information on separate debug info files.
92         * dwarf.c (struct dwo_info): New structure for containing dwo
93         links.
94         (first_dwo_info): Chain of dwo_info structures.
95         (first_separate_file): Chain of separate_info structures.
96         (separate_debug_file, separate_debug_filename): Delete.
97         (fetch_alt_indirect_string): Scan all separate debug info files
98         for the requested string.
99         (add_dwo_info): New function.
100         (add_dwo_name): New function.
101         (add_dwo_dir): New function.
102         (add_dwo_id: New function.
103         (free_dwo_info): New function.
104         (read_and_display_attr_value): Store DWO data using the new
105         functions.
106         (load_debug_section_with_follow): If necessary, scan the list of
107         separate debug info files for the requested section.
108         (add_separate_debug_file): New function.
109         (load_separate_debug_info): Call add_separate_debug_file to store
110         the information on the newly loaded file.
111         (load_dwo_file): Likewise.
112         (load_separate_debif_file): Rename to load_separate_debug_files.
113         Change return type to boolean.  If following links then attempt to
114         load all separate debug info files, not just the first one.
115         (free_debug_memory): Release memory in dwo_info and separate_info
116         chains.
117         * objdump.c (dump_dwarf): Iterate over all loaded debg info files.
118         * readelf.c (process_object): Likewise.
119         * doc/debug.options.texi: Update descriptions of links and
120         follow-links options.
121         * testsuite/binutils-all/objdump.WK2: Update expected output.
122         * testsuite/binutils-all/readelf.k2: Likewise.
123         * NEWS: Announce the new feature.
124
125 2019-02-21  Nick Clifton  <nickc@redhat.com>
126
127         PR 24247
128         * unwind-ia64.c: Include sysdep.h.
129         (unw_decode_x1): Check current pointer against end pointer before
130         accessing memory.
131         (unw_decode_x2): Likewise.
132         (unw_decode_x3): Likewise.
133         (unw_decode_x4): Likewise.
134         (unw_decode_r2): Likewise.
135         (unw_decode_p2_p5): Likewise.
136         (unw_decode_p7_p10): Likewise.
137         (unw_decode): Likewise.
138
139 2019-02-20  Nick Clifton  <nickc@redhat.com>
140
141         PR 24246
142         * readelf.c (print_stapsdt_note): Harden against corrupt notes.
143
144         PR 24244
145         * unwind-ia64.c (unw_decode_uleb128): Add end parameter, use it to
146         prevent walking off the end of the buffer.
147         (unw_decode_x1): Add end paramter, pass it to unw_decode_uleb128.
148         (unw_decode_x2): Likewise.
149         (unw_decode_x3): Likewise.
150         (unw_decode_x4): Likewise.
151         (unw_decode_r2): Pass the end parameter to unw_decode_uleb128.
152         (unw_decode_r3): Likewise.
153         (unw_decode_p7_p10): Likewise.
154         (unw_decode_b2): Likewise.
155         (unw_decode_b3_x4): Likewise.
156
157         PR 24243
158         * readelf.c (process_mips_specific): Check for an options section
159         that is too small to even contain a single option.
160
161         PR 24242
162         * readelf.c (print_ia64_vms_note): Harden against corrupt notes.
163
164 2019-02-20  Alan Modra  <amodra@gmail.com>
165
166         PR 24132
167         PR 24138
168         * readelf.c (get_data): Avoid possibility of overflow when
169         checking for a read that may extend past end of file.
170         (process_program_headers): Likewise.
171
172 2019-02-20  Alan Modra  <amodra@gmail.com>
173
174         PR 24233
175         * objdump.c (dump_bfd_private_header): Print warning if
176         bfd_print_private_bfd_data returns false.
177
178 2019-02-12  Nick Clifton  <nickc@redhat.com>
179
180         PR 23440
181         * README-how-to-make-a-release: Use git clean to delete spurious
182         files from the local source repository.
183
184 2019-02-08  Andrew Burgess  <andrew.burgess@embecosm.com>
185
186         * size.c (berkeley_format): Delete.
187         (enum output_format): New enum.
188         (selected_output_format): New variable.
189         (usage): Update to mention GNU format.
190         (main): Update to extract options, and select format as needed.
191         Handle GNU format where needed.
192         (berkeley_sum): Renamed to...
193         (berkeley_or_gnu_sum): ...this, and updated to handle both formats.
194         (berkeley_format): Renamed to...
195         (berkeley_or_gnu_format): ...this, and updated to handle both
196         formats.
197         (print_sizes): Handle GNU format.
198         * doc/binutils.texi (size): Document new GNU format.
199         * testsuite/binutils-all/size.exp: Add test of extended
200         functionality.
201         * NEWS: Mention new functionality.
202
203 2019-02-08  Andrew Burgess  <andrew.burgess@embecosm.com>
204
205         * doc/binutils.texi (size): Update example output for Berkeley
206         format output.
207
208 2019-02-07  Nick Clifton  <nickc@redhat.com>
209
210         * README-how-to-make-a-release: Add a note about updating the
211         obsolete targets in the bfd/config.bfd file.
212
213 2019-02-04  Nick Clifton  <nickc@redhat.com>
214
215         * README-how-to-make-a-release: Add more notes on making a release.
216
217 2019-01-25  Nick Clifton  <nickc@redhat.com>
218
219         PR 24131
220         * readelf.c (process_notes_at): Prevent an illegal memory access
221         when the note's namesize is zero.
222         (decode_tic6x_unwind_bytecode): Add code to handle the case where
223         no registers are specified in a frame pop instruction.
224
225 2019-01-25  Nick Clifton  <nickc@redhat.com>
226
227         * po/bg.po: Updated Bulgarian translation.
228
229 2019-01-23  Nick Clifton  <nickc@redhat.com>
230
231         * po/fr.po: Updated French translation.
232         * po/pt.po: Updated Portuguese translation.
233
234 2019-01-21  Nick Clifton  <nickc@redhat.com>
235
236         * po/uk.po: Updated Ukranian translation.
237
238 2019-01-19  Nick Clifton  <nickc@redhat.com>
239
240         * configure: Regenerate.
241         * binutils/po/binutils.pot.
242
243         * README-how-to-make-a-release: Update description on how to make
244         a branch.
245
246 2018-06-24  Nick Clifton  <nickc@redhat.com>
247
248         2.32 branch created.
249
250 2019-01-17  Nick Clifton  <nickc@redhat.com>
251
252         * objdump.c (disassemble_section): When disassembling from a
253         symbol only stop at the next symbol if the original symbol was not
254         a function symbol.  Otherwise continue disassembling until a new
255         function is reached.
256         * testsuite/binutils-all/objdump.exp: Add tests of extended
257         functionality.
258         * testsuite/binutils-all/disasm.s: New test source file.
259
260 2019-01-16  Kito Cheng  <kito@andestech.com>
261             Nelson Chu  <nelson@andestech.com>
262
263         * readelf.c (get_riscv_section_type_name): New function.
264         (get_section_type_name): Add handler for RISC-V.
265         (riscv_attr_tag_t): Declare.
266         (riscv_attr_tag): New.
267         (display_riscv_attribute): New function.
268         (process_attributes): Add handler for RISC-V.
269         * testsuite/binutils-all/strip-3.d: Remove .riscv.attribute
270         section.
271
272 2019-01-10  Nick Clifton  <nickc@redhat.com>
273
274         PR 23963
275         * objdump.c (sanitize_string): New function.  Removes control
276         characters from symbol names.
277         (dump_section_header): Use new function.
278         (objdump_print_symname): Likewise.
279         (objdump_print_addr_with_sym): Likewise.
280         (show_line): Likewise.
281         (disassemble_bytes): Likewise.
282         (disassemble_section): Likewise.
283         (load_specific_debug_section): Likewise.
284         (read_section_stabs): Likewise.
285         (print_section_stabs): Likewise.
286         (dump_section): Likewise.
287         (dump_reloc_set): Likewise.
288         (dump_relocs_in_section): Likewise.
289         (dump_bfd): Likewise.
290         (display_any_bfd): Likewise.
291
292 2019-01-09  Nick Clifton  <nickc@redhat.com>
293
294         PR 24049
295         * readelf.c (process_archive): Use arch.file_name in error
296         messages until the qualified name is available.
297
298 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
299
300         * configure: Regenerate.
301
302 2019-01-09  Alan Modra  <amodra@gmail.com>
303
304         * testsuite/binutils-all/cxxfilt.exp: Pass --no-strip-underscores
305         unconditionally to tests needing the option rather than via a
306         list of targets.
307
308 2019-01-08  Nick Clifton  <nickc@redhat.com>
309
310         PR 24044
311         * cxxfilt.c (hp_symbol_characters): Delete.
312         (main): Remove depcreated demangling styles.
313         * stabs.c (parse_stab_argtypes): Remove support for old gnu v2
314         demangling opnames.
315         * testsuite/binutils-all/cxxfilt.exp: Use the
316         --no-strip-underscore option for targets that do prefix their
317         symbols with underscores.
318         Update tests to eliminate those that use gnu v2 encoding.
319
320 2019-01-08  Tamar Christina  <tamar.christina@arm.com>
321
322         PR 24065
323         * testsuite/binutils-all/copy-6.d: New test.
324         * testsuite/binutils-all/objcopy.exp: Use it.
325
326 2019-01-08  Alan Modra  <amodra@gmail.com>
327
328         * testsuite/lib/binutils-common.exp (run_dump_test): Don't prepend
329         $srcdir/$subdir to source file name if it starts with "./".
330
331 2019-01-05  Yoshinori Sato <ysato@users.sourceforge.jp>
332
333         * readelf.c (get_machine_flags): Add RXv3 output.
334
335 2019-01-04  Nick Clifton  <nickc@redhat.com>
336
337         PR 24005
338         * objdump.c (load_specific_debug_section): Check for integer
339         overflow before attempting to allocate contents.
340
341 2019-01-04  Nick Clifton  <nickc@redhat.com>
342
343         PR 24001
344         * objcopy.c (copy_object): Free dhandle after writing out the
345         debug information.
346         * objdump.c (dump_bfd): Free dhandle after printing out the debug
347         information.
348
349
350 2019-01-01  Alan Modra  <amodra@gmail.com>
351
352         Update year range in copyright notice of all files.
353
354 For older changes see ChangeLog-2018
355 \f
356 Copyright (C) 2019 Free Software Foundation, Inc.
357
358 Copying and distribution of this file, with or without modification,
359 are permitted in any medium without royalty provided the copyright
360 notice and this notice are preserved.
361
362 Local Variables:
363 mode: change-log
364 left-margin: 8
365 fill-column: 74
366 version-control: never
367 End: