]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - binutils/ChangeLog
asan: readelf: process_mips_specific buffer overflow
[thirdparty/binutils-gdb.git] / binutils / ChangeLog
1 2020-06-11 Alan Modra <amodra@gmail.com>
2
3 * readelf.c (process_mips_specific): Assert size of internal
4 types match size of external types, and simplify allocation of
5 internal buffer. Catch possible integer overflow when sanity
6 checking option size. Don't assume options are a regular array.
7 Sanity check reginfo option against option size. Use PRI macros
8 when printing.
9
10 2020-06-10 Ralf Habacker <ralf.habacker@freenet.de>
11
12 PR 26082
13 * mclex.c (yylex): Reject lines that reach end-of-file without a
14 terminating newline character.
15
16 2020-06-08 Nick Clifton <nickc@redhat.com>
17
18 PR 26093
19 * doc/binutils.texi (strings): Fix typo.
20
21 2020-06-08 Nick Clifton <nickc@redhat.com>
22
23 PR 26086
24 * dwarf.c (process_debug_info): Check that there is space in the
25 debug_information array before filling in an entry.
26
27 2020-06-06 Alan Modra <amodra@gmail.com>
28
29 * doc/binutils.texi (PowerPC -M option): Mention power10 and pwr10.
30
31 2020-06-05 Joel Anderson <joelanderson333@gmail.com>
32
33 PR 26082
34 * mclex.c (yylex): Add test for an empty input stream.
35
36 2020-06-04 Stephen Casner <casner@acm.org>
37
38 * testsuite/binutils-all/pr25662-pdp11.s: Alternate source file
39 for test using section pseudo-ops compatible with pdp11.
40 * testsuite/binutils-all/objcopy.exp: Select alternate source.
41
42 2020-06-04 Jose E. Marchesi <jose.marchesi@oracle.com>
43
44 * objdump.c (disassemble_data): Set disasm_info.endian_code to
45 disasm_info.endian after the latter is initialized to the
46 endianness reported by BFD.
47
48 2020-06-04 Alan Modra <amodra@gmail.com>
49
50 * testsuite/binutils-all/i386/i386.exp: Remove global directive
51 outside proc body.
52 * testsuite/binutils-all/x86-64/objects.exp: Likewise.
53 * testsuite/binutils-all/x86-64/x86-64.exp: Likewise.
54
55 2020-06-03 Joel Anderson <joelanderson333@gmail.com>
56
57 * windmc.h (struct mc_node): Add id_typecast field.
58 * mcparse.y (message): Initialise the id_typecast field.
59 * windmc.c (write_dbg): Use the id_typecast field as a parameter
60 when calling write_dbg_define.
61 (write_header): Likewise.
62
63 2020-06-03 Alan Modra <amodra@gmail.com>
64
65 PR 26069
66 * objcopy.c (copy_relocations_in_section): Free relpp on error.
67 Don't accidentally free isection->orelocation.
68
69 2020-06-02 Alan Modra <amodra@gmail.com>
70
71 * testsuite/binutils-all/ar.exp (obj): Set up object file name
72 extension. Use throughout. Don't completely exclude non-ELF
73 alpha targets. Run long_filenames test for tic30. Exclude thin
74 archive tests for aix, ecoff and vms.
75 * estsuite/binutils-all/objdump.exp (obj): Set up object file name
76 extension. Use throughout. Don't exclude non-ELF alpha targets
77 from "bintest.a".
78
79 2020-05-28 Max Filippov <jcmvbkbc@gmail.com>
80
81 * MAINTAINERS (Xtensa): Add myself as maintainer.
82
83 2020-05-23 Alan Modra <amodra@gmail.com>
84
85 * testsuite/binutils-all/ar.exp (many_files): New test.
86
87 2020-05-21 Alan Modra <amodra@gmail.com>
88
89 * addr2line.c: Replace "if (x) free (x)" with "free (x)" throughout.
90 * dlltool.c: Likewise.
91 * elfcomm.c: Likewise.
92 * rddbg.c: Likewise.
93 * readelf.c: Likewise.
94 * stabs.c: Likewise.
95 * windmc.c: Likewise.
96 * windres.c: Likewise.
97 * wrstabs.c: Likewise.
98
99 2020-05-21 Alan Modra <amodra@gmail.com>
100
101 * readelf.c (get_num_dynamic_syms): Bounds check mipsxlat array
102 access.
103
104 2020-05-20 Nelson Chu <nelson.chu@sifive.com>
105
106 * dwarf.c: Updated since DECLARE_CSR is changed.
107
108 2020-05-19 H.J. Lu <hjl.tools@gmail.com>
109
110 PR binutils/25809
111 * readelf.c (process_program_headers): Warn if the PT_DYNAMIC
112 segment doesn't match the .dynamic section and checks are
113 enabled.
114 (struct filedata): Add dynamic_symtab_section and
115 dynamic_strtab_section fields.
116 (process_section_headers): Set dynamic_symtab_section to the
117 .dynsym section. Set dynamic_strtab_section to the .dynstr
118 section.
119 (process_dynamic_section): Warn if the .dynsym section doesn't
120 match DT_SYMTAB and DT_SYMENT or the .dynstr section doesn't
121 DT_STRTAB and DT_STRSZ. But only if checks are enabled.
122
123 2020-05-19 Alan Modra <amodra@gmail.com>
124
125 * ar.c (map_over_members, get_pos_bfd, delete_members, move_members),
126 (replace_members): Use bfd_get_filename rather than accessing
127 bfd->filename directly.
128 * arsup.c (map_over_list, ar_delete, ar_replace, ar_extract): Likewise.
129 * binemul.c (do_ar_emul_append): Likewise.
130 * coffgrok.c (coff_grok): Likewise.
131
132 2020-05-18 Stafford Horne <shorne@gmail.com>
133
134 * MAINTAINERS (OR1K): Add myself as maintainer.
135
136 2020-05-07 Andrew Burgess <andrew.burgess@embecosm.com>
137
138 * doc/binutils.texi: Mention 'entry address' in the set-start and
139 adjust-start options descriptions.
140
141 2020-05-05 Nick Clifton <nickc@redhat.com>
142
143 * dwarf.c (do_checks): New global variable.
144 (display_formatted_table): Warn about an unexpected number of
145 columns in the table, if checks are enabled. Do not complain
146 about the lack of data following the number of entries in the
147 table if the table is empty.
148 (display_debug_lines_decoded): Only warn about an unexpected
149 number of columns in a table if checks are enabled.
150 * dwarf.h (do_checks): Add a prototype.
151 * elfcomm.c (error): Remove weak attribute.
152 (warn): Likewise.
153 * readelf.c (do_checks): Delete.
154 (warn): Delete.
155 (process_section_headers): Only warn about empty sections if
156 checks are enabled.
157
158 2020-05-04 Fangrui Song <maskray@google.com>
159
160 * objcopy.c (copy_object): Allow empty section.
161 * testsuite/binutils-all/update-section.exp: Add test.
162
163 2020-05-04 Nick Clifton <nickc@redhat.com>
164
165 PR 25917
166 * dwarf.c (display_debug_lines_decoded): Warn if encountering a
167 supicious number of entries for DWARF-5 format directory and file
168 name tables. Do not display file name table header if the table
169 is empty. Do not allocate space for empty tables.
170
171 2020-05-04 Alan Modra <amodra@gmail.com>
172
173 * readelf.c (process_nds32_specific): Check size of .nds32_e_flags
174 section. Don't assume endian of host matches nds32 target. Free
175 buffer.
176
177 2020-05-01 Alan Modra <amodra@gmail.com>
178 Haim Shimonovich <Haim.Shimonovich@ceva-dsp.com>
179
180 * objdump.c (disassemble_bytes): Don't scan for zeros when
181 disassembling zeros. Translate "resuming at file offset" message.
182 Formatting. Replace some signed variables with unsigned.
183
184 2020-04-30 Alex Coplan <alex.coplan@arm.com>
185
186 * testsuite/binutils-all/aarch64/in-order-all.d: Update to use new
187 disassembly.
188 * testsuite/binutils-all/aarch64/out-of-order-all.d: Likewise.
189
190 2020-04-30 Nick Clifton <nickc@redhat.com>
191
192 * testsuite/lib/binutils-common.exp (check_pie_support): New
193 proc.
194
195 2020-04-29 Andrew Burgess <andrew.burgess@embecosm.com>
196
197 * dwarf.c (display_debug_ranges): Ignore duplicate entries in
198 range_entries for the same offset.
199
200 2020-04-29 Nick Clifton <nickc@redhat.com>
201
202 * readelf.c (warn): New function - like elfcomm.c version but only
203 produces output if warnings are enabled.
204 (struct options): Add --lint and --enable-checks.
205 (usage): Add entry for --lint.
206 (parse_args): Handle -L. If checks are enabled but no dumps have
207 been selected then enable all dumps.
208 (process_section_headers): Replace long if-then-else sequence with
209 a switch. Add warning messages for empty SHT_REL, SHT_RELA and
210 SHT_PROGBITS sections.
211 (process_file): Do not complain if the file is an archive and lint
212 mode has been enabled.
213 * elfcomm.c (error): Make the function weak.
214 (warn): Likewise.
215 * NEWS: Mention the new feature.
216 * doc/binutils.texi: Document the new feature.
217 * dwarf.h (report_leb_status): Add file name and line number
218 parameters. Include them in the diagnostic output.
219 (READ_ULEB): Pass file and line number to report_leb_status.
220 (READ_SLEB): Likewise.
221 * dwarf.c (read_and_print_leb128): Pass file and line number to
222 report_leb_status.
223 * testsuite/binutils-all/readelf.exp: Add test of new feature.
224 * testsuite/binutils-all/zero-sec.s: New test source file.
225 * testsuite/binutils-all/zero-sec.r: Expected output from new
226 test.
227
228 2020-04-29 Nick Clifton <nickc@redhat.com>
229
230 * po/sr.po: Updated Serbian translation.
231
232 2020-04-26 Alan Modra <amodra@gmail.com>
233
234 * readelf.c (get_num_dynamic_syms): Check DT_MIPS_XHASH was
235 read before dereferencing, and gracefully return. Remove
236 gnu_hash_error variable. Free gnu hash arrays if number of
237 syms found is zero.
238
239 2020-04-24 Alan Modra <amodra@gmail.com>
240
241 * readelf.c (get_num_dynamic_syms): Check for nbuckets and nchains
242 non-zero.
243 (process_dynamic_section): Call get_num_dynamic_syms once rather
244 than in segment loop. Break out of segment loop on a successful
245 load of dynamic symbols. Formatting.
246 (process_object): Return error status from process_dynamic_section.
247
248 2020-04-23 Anton Kolesov <anton.kolesov@synopsys.com>
249
250 * elf-bfd.h (elfcore_write_arc_v2): Add prototype.
251 * elf.c (elfcore_grok_arc_v2): New function.
252 (elfcore_grok_note): Call the new function to handle the corresponding
253 note.
254 (elfcore_write_arc_v2): New function.
255 (elfcore_write_register_note): Call the new function to handle the
256 corresponding pseudo-sections.
257
258 2020-04-22 Max Filippov <jcmvbkbc@gmail.com>
259
260 PR ld/25861
261 * readelf.c (is_none_reloc): Recognize
262 BFD_RELOC_XTENSA_PDIFF{8,16,32} and
263 BFD_RELOC_XTENSA_NDIFF{8,16,32}.
264
265 2020-04-22 Nick Clifton <nickc@redhat.com>
266
267 * MAINTAINERS: Remove Chris Faylor as the ix86 PE maintainer.
268
269 2020-04-22 Alan Modra <amodra@gmail.com>
270
271 * readelf.c (archive_file_offset, archive_file_size, dynamic_addr),
272 (dynamic_size, dynamic_nent, dynamic_strings, dynamic_strings_length),
273 (num_dynamic_syms, nbuckets, nchains, buckets, chains),
274 (ngnubuckets, gnubuckets, gnuchains, mipsxlat, ngnuchains),
275 (gnusymidx, dynamic_symbols, dynamic_syminfo, dynamic_syminfo_offset),
276 (dynamic_syminfo_nent, program_interpreter, dynamic_info),
277 (dynamic_info_DT_GNU_HASH, dynamic_info_DT_MIPS_XHASH, version_info),
278 (dynamic_section, symtab_shndx_list, group_count, section_groups),
279 (section_headers_groups): Move to struct filedata. Update use
280 throughout file.
281
282 2020-04-22 Alan Modra <amodra@gmail.com>
283
284 * readelf.c (struct dump_data): New, used..
285 (cmdline): ..here, and..
286 (struct filedata): ..here. Adjust all uses.
287 (request_dump_bynumber, request_dump, parse_args): Pass in a
288 struct dump_data* rather than Filedata*. Adjust callers.
289 (main): Don't set cmdline.file_name.
290
291 2020-04-20 Alan Modra <amodra@gmail.com>
292
293 * readelf.c (process_symbol_table): Clear ngnuchains, ngnubuckets
294 and nbuckets.
295
296 2020-04-20 Alan Modra <amodra@gmail.com>
297
298 * readelf.c (process_section_headers): Free dynamic symbols etc.
299 earlier.
300
301 2020-04-20 Alan Modra <amodra@gmail.com>
302
303 * readelf.c (get_num_dynamic_syms): Formatting. Don't return
304 on error without freeing.
305 (process_dynamic_section): Don't recreate dynamic symbols from
306 dynamic tag info when the dynamic symbols have already been
307 read via section headers.
308
309 2020-04-17 Fredrik Strupe <fredrik@strupe.net>
310
311 * testsuite/binutils-all/arm/vdup-cond.d: New test for testing that
312 conditional VDUP instructions are disassembled correctly.
313 * testsuite/binutils-all/arm/vdup-cond.s: New file used by
314 vdup-cond.d.
315 * testsuite/binutils-all/arm/vdup-thumb.d: New test for testing
316 that VDUP instructions (which are conditional in A32) can be
317 disassembled in thumb mode.
318 * testsuite/binutils-all/arm/vdup-cond.s: New file used by
319 vdup-thumb.d.
320
321 2020-04-17 Alan Modra <amodra@gmail.com>
322
323 PR 25840
324 * debug.c (debug_class_type_samep): Don't segfault on NULL type.
325
326 2020-04-16 Alan Modra <amodra@gmail.com>
327
328 * doc/binutils.texi: Mention --no-show-raw-insn in objdump
329 --no-addresses description.
330
331 2020-04-15 Alan Modra <amodra@gmail.com>
332
333 * objdump.c (no_addresses): New static var.
334 (usage): Print help for --no-addresses.
335 (long_options): Add --no-addresses entry.
336 (objdump_print_addr_with_sym, objdump_print_addr): Omit symbol address.
337 (disassemble_bytes): Don't print current line address, or reloc
338 address.
339 * doc/binutils.texi: Document objdump --no-addresses.
340
341 2020-04-15 Alan Modra <amodra@gmail.com>
342
343 PR 25822
344 * readelf.c (get_num_dynamic_syms): Don't set num_of_syms when
345 reading buckets or chains fails.
346
347 2020-04-15 Alan Modra <amodra@gmail.com>
348
349 * readelf.c (process_symbol_table): Zero gnubuckets, gnuchains
350 etc. after freeing.
351
352 2020-04-15 Alan Modra <amodra@gmail.com>
353
354 * readelf.c (get_group_flags): Translate text.
355 (get_file_type, get_symbol_binding, get_symbol_type),
356 (get_ppc64_symbol_other, get_symbol_other): Increase size of buffer.
357
358 2020-04-15 Alan Modra <amodra@gmail.com>
359
360 PR 25821
361 * readelf.c (get_num_dynamic_syms): Typo fix.
362
363 2020-04-14 Alan Modra <amodra@gmail.com>
364
365 * readelf.c (process_mips_specific): Free eopt and iopt. Avoid
366 possibility of overflow when checking number of conflicts.
367
368 2020-04-14 H.J. Lu <hongjiu.lu@intel.com>
369
370 PR binutils/25707
371 * readelf.c (nbuckets): New.
372 (nchains): Likewise.
373 (buckets): Likewise.
374 (chains): Likewise.
375 (ngnubuckets): Likewise.
376 (gnubuckets): Likewise.
377 (gnuchains): Likewise.
378 (mipsxlat): Likewise.
379 (ngnuchains): Likewise.
380 (gnusymidx): Likewise.
381 (VALID_SYMBOL_NAME): Likewise.
382 (VALID_DYNAMIC_NAME): Use it.
383 (get_dynamic_data): Moved before process_dynamic_section.
384 (get_num_dynamic_syms): New function.
385 (process_dynamic_section): Use DT_SYMTAB, DT_SYMENT, DT_HASH,
386 DT_GNU_HASH and DT_MIPS_XHASH to reconstruct dynamic symbol
387 table. Use DT_STRTAB and DT_STRSZ to reconstruct dynamic string
388 table.
389 (get_symbol_index_type): Don't print "bad section index" when
390 there is no section header.
391 (print_dynamic_symbol): Rewrite.
392 (process_symbol_table): Call print_dynamic_symbol to dump dynamic
393 symbol table.
394
395 2020-04-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
396
397 * testsuite/lib/binutils-common.exp (supports_gnu_osabi): Don't
398 enable on *-*-solaris*.
399
400 2020-03-30 Nick Clifton <nickc@redhat.com>
401
402 PR binutils/25662
403 * objcopy.c (copy_object): When copying PE format files set the
404 timestamp field in the pe_data structure if the preserve_dates
405 flag is set.
406 * testsuite/binutils-all/objcopy.exp (objcopy_test) Use
407 --preserve-dates in place of the -p option, in order to make its
408 effect more obvious.
409
410 2020-03-28 Alan Modra <amodra@gmail.com>
411
412 * testsuite/binutils-all/objcopy.exp (objcopy_test): Only
413 clear_xfail hppa*-*-*elf*. Revert mips xfails.
414
415 2020-03-28 Alan Modra <amodra@gmail.com>
416
417 * testsuite/binutils-all/objcopy.exp (objcopy_test): Move xfails
418 from here to calls. Remove "m8*-*-*" entry. Don't xfail tic54x
419 but do xfail spu, mipstx39 and mips-sgi-irix for the executable
420 test. Pass "-p" to objcopy for the executable test.
421
422 2020-03-27 Jozef Lawrynowicz <jozef.l@mittosystems.com>
423
424 PR binutils/25662
425 * testsuite/binutils-all/objcopy.exp (objcopy_test): Add argument to
426 specify whether an object file or executable should be built and tested.
427 Change test names to report whether an object file or executable is
428 being tested.
429 * testsuite/binutils-all/pr25662.ld: New test.
430 * testsuite/binutils-all/pr25662.s: New test.
431
432 2020-03-27 Alan Modra <amodra@gmail.com>
433
434 * readelf.c (process_archive): Don't double free qualified_name.
435 Don't break out of loop with "negative" archive_file_size, just
436 set file offset to max.
437
438 2020-03-25 Alan Modra <amodra@gmail.com>
439
440 * readelf.c (process_archive): Prevent endless loop.
441
442 2020-03-24 H.J. Lu <hongjiu.lu@intel.com>
443
444 PR binutils/25708
445 * nm.c (print_symname): Replace _bfd_elf_get_symbol_version_name
446 with bfd_get_symbol_version_string.
447 (print_symbo): Pass TRUE to bfd_get_symbol_version_string.
448 * objdump.c (objdump_print_symname): Likewise.
449
450 2020-03-24 H.J. Lu <hongjiu.lu@intel.com>
451
452 PR binutils/25708
453 * nm.c (SYM_NAME): Removed.
454 (print_symname): Add a pointer to struct extended_symbol_info
455 argument. Call _bfd_elf_get_symbol_version_name to get symbol
456 version.
457 (print_symdef_entry): Pass NULL to print_symname.
458 (print_symbol_info_bsd): Update call to print_symname.
459 (print_symbol_info_sysv): Likewise.
460 (print_symbol_info_posix): Likewise.
461
462 2020-03-24 Alan Modra <amodra@gmail.com>
463
464 * readelf.c (process_mips_specific): Free iconf on error path.
465
466 2020-03-23 Nick Clifton <nickc@redhat.com>
467
468 PR 25714
469 * wrstabs.c (stab_pop_type): Replace assertion with error return.
470 * write_stabs_in_sections_debugging_info: Likewise.
471 * stab_enum_type: Likewise.
472 * stab_modify_type: Likewise.
473 * stab_struct_field: Likewise.
474 * stab_end_struct_type: Likewise.
475 * stab_start_class_type: Likewise.
476 * stab_class_static_member: Likewise.
477 * stab_class_baseclass: Likewise.
478 * stab_class_start_method: Likewise.
479 * stab_class_method_var: Likewise.
480 * stab_class_end_method: Likewise.
481 * stab_end_class_type: Likewise.
482 * stab_typedef_type: Likewise.
483 * stab_start_function: Likewise.
484 * stab_end_block: Likewise.
485 * stab_lineno: Likewise.
486
487 2020-03-20 Nick Clifton <nickc@redhat.com>
488
489 * readelf.c (get_compression_header): Add ATTRIBUTE_WARN_UNUSED_RESULT.
490 (process_section_headers): Check the return value from
491 get_compression_header.
492 (dump_section_as_strings): Likewise.
493 (dump_section_as_bytes): Likewise.
494 (load_specific_debug_section): Likewise.
495
496 2020-03-20 H.J. Lu <hongjiu.lu@intel.com>
497
498 * ar.c (main): Update bfd_plugin_set_program_name call.
499 * nm.c (main): Likewise.
500
501 2020-03-19 Nick Clifton <nickc@redhat.com>
502
503 PR 25676
504 * testsuite/binutils-all/dw4.s: New test source file.
505 * testsuite/binutils-all/nm.exp: Run the new test.
506
507 2020-03-19 H.J. Lu <hongjiu.lu@intel.com>
508
509 * readelf.c (process_symbol_table): Use unsigned long for si.
510
511 2020-03-19 Alan Modra <amodra@gmail.com>
512
513 * elfcomm.c: Don't include bfd.h or bucomm.h.
514 (program_name): Declare.
515 (process_archive_index_and_symbols): Replace bfd_boolean with int,
516 and substitute FALSE and TRUE.
517 (setup_archive, setup_nested_archive): Likewise.
518 * elfcomm.h: Likewise.
519
520 2020-03-19 Alan Modra <amodra@gmail.com>
521
522 * readelf.c (process_archive): Always return via path freeing
523 memory. Formatting.
524
525 2020-03-19 Alan Modra <amodra@gmail.com>
526
527 * readelf.c (process_netbsd_elf_note): Validate descsz before
528 accessing descdata. Formatting.
529
530 2020-03-19 Alan Modra <amodra@gmail.com>
531
532 * elfcomm.c (setup_archive): Make file_size an off_t. Comment.
533 * elfcomm.h (setup_archive): Update prototype.
534
535 2020-03-16 Alan Modra <amodra@gmail.com>
536
537 * readelf.c (get_symbols): New function.
538 (process_relocs, ia64_process_unwind, hppa_process_unwind),
539 (arm_process_unwind, get_symbol_for_build_attribute): Use it.
540
541 2020-03-16 Alan Modra <amodra@gmail.com>
542
543 * unwind-ia64.c (unw_decode_uleb128): Prevent overlarge shifts.
544 Detect shift overflows and check that terminating byte is found.
545 Print an error on a bad uleb128.
546
547 2020-03-14 Alan Modra <amodra@gmail.com>
548
549 * readelf.c (process_file): Clean ba_cache.
550
551 2020-03-14 Alan Modra <amodra@gmail.com>
552
553 * elfcomm.h (setup_archive): Update prototype.
554 * elfcomm.c (setup_archive): Add file_size parameter and sanity
555 check longnames_size.
556 (setup_nested_archive): Get file size and pass to setup_archive.
557 * elfedit.c (process_archive): Likewise.
558 * readelf.c (process_archive): Pass filedata->file_size to
559 setup_archive.
560
561 2020-03-14 Alan Modra <amodra@gmail.com>
562
563 * readelf.c (dump_section_as_strings): Free memory on error exit.
564 (dump_section_as_bytes, process_notes_at): Likewise.
565 (get_build_id): Free enote.
566
567 2020-03-13 Kamil Rytarowski <n54@gmx.com>
568
569 * readelf.c (get_netbsd_elfcore_note_type): Add support for
570 NT_NETBSDCORE_LWPSTATUS notes.
571
572 2020-03-13 Alan Modra <amodra@gmail.com>
573
574 * elfcomm.c (get_archive_member_name): Always return malloc'd
575 string or NULL.
576 * elfedit.c (process_archive): Tidy memory on all return paths.
577 * readelf.c (process_archive): Likewise.
578 (process_symbol_table): Likewise.
579 (ba_cache): New, replacing ..
580 (get_symbol_for_build_attribute): ..static vars here. Free
581 strtab and symtab before loading new ones. Reject symtab without
582 valid strtab in loop, breaking out of loop on valid symtab.
583 (process_file): Free ba_cache symtab and strtab here, resetting
584 ba_cache.
585
586 2020-03-12 Alan Modra <amodra@gmail.com>
587
588 * readelf.c (process_section_headers): Don't just set
589 filedata->section_headers NULL, free it first. Similarly for
590 dynamic_symbols, dynamic_strings, dynamic_syminfo and
591 symtab_shndx_list. Zero associated counts too.
592 (process_object): Free symtab_shndx_list.
593 (process_file): Free various allocated filedata tables.
594
595 2020-03-11 Nick Clifton <nickc@redhat.com>
596
597 PR 25611
598 PR 25614
599 * dwarf.h (DWARF2_Internal_LineInfo): Add li_address_size and
600 li_segment_size fields.
601 * dwarf.c (read_debug_line_header): Record the address size and
602 segment selector size values (if present) in the lineinfo
603 structure.
604 (display_formatted_table): Warn if the format count is empty but
605 the table itself is not empty.
606 Display the format count and entry count at the start of the table
607 dump.
608 (display_debug_lines_raw): Display the address size and segement
609 selector size fields, if present.
610 * testsuite/binutils-all/dw5.W: Update expected output.
611
612 2020-03-11 Alan Modra <amodra@gmail.com>
613
614 PR 25651
615 * objcopy.c (copy_object): Test "gaps" not gap_fill_set or
616 pad_to_set on second block of code dealing with padding.
617 Replace "c" with "num_sec" and don't recalculate number of
618 sections on second block. Size arrays using sizeof (element)
619 rather than sizeof (element type).
620
621 2020-03-10 Alan Modra <amodra@gmail.com>
622
623 * objdump.c (disassemble_section): Don't call qsort unless
624 sym count is at least two.
625 (disassemble_data): Don't call memcpy with NULL src.
626
627 2020-03-09 Alan Modra <amodra@gmail.com>
628
629 PR 25645
630 * readelf.c (dump_ia64_vms_dynamic_fixups): Pass size and nmemb
631 to get_data rather than multiplying.
632 (dump_ia64_vms_dynamic_relocs): Likewise.
633 (process_version_sections): Correct order of size and nmemb args
634 in get_data call.
635 (process_mips_specific): Likewise.
636
637 2020-03-08 H.J. Lu <hongjiu.lu@intel.com>
638
639 * readelf.c (get_dynamic_data): Replace "memory chekers" with
640 "memory checkers" in comments.
641
642 2020-03-06 Simon Marchi <simon.marchi@efficios.com>
643
644 PR 25491
645 * doc/Makefile.am: Rename MOSTLYCLEANFILES to MAINTAINERCLEANFILES.
646 * doc/Makefile.in: Re-generate.
647
648 2020-03-06 Nick Clifton <nickc@redhat.com>
649
650 * objcopy.c (check_new_section_flags): New function. Reject the
651 SEC_COFF_SHARED flag if the target is not a COFF binary.
652 (copy_object): Call check_new_section_flags.
653 (setup_section): Likewise.
654 * doc/binutils.texi (objcopy): Add a note that the 'share' section
655 flag cannot be applied to ELF binaries.
656
657 2020-03-06 Alan Modra <amodra@gmail.com>
658
659 PR 25637
660 * objcopy.c (filter_symbols): Correct rem_leading_char logic.
661
662 2020-03-05 Alan Modra <amodra@gmail.com>
663
664 PR 25629
665 * objcopy.c (filter_symbols): Don't segfault on NULL
666 prefix_symbols_string.
667
668 2020-03-04 Christian Eggers <ceggers@gmx.de>
669
670 * objcopy.c (copy_object): Convert from bytes to octets for
671 --gap-fill and --pad-to.
672
673 2020-03-03 Nick Clifton <nickc@redhat.com>
674
675 PR 25625
676 * prdbg.c (pr_tag_type): Remove call to abort.
677
678 2020-03-02 Aaron Merey <amerey@redhat.com>
679
680 * binutils/testsuite/binutils-all/debuginfod.exp: Improve port
681 selection.
682
683 2020-03-02 Nick Clifton <nickc@redhat.com>
684
685 PR 25543
686 * readelf.c (dump_section_as_strings): Display new-line characters
687 as \n and then insert a line break.
688 * testsuite/binutils-all/pr25543.s: New test.
689 * testsuite/binutils-all/pr25543.d: Test driver.
690 * testsuite/binutils-all/readelf.exp: Run the new test.
691
692 2020-02-27 Nick Clifton <nickc@redhat.com>
693
694 PR 25526
695 * readelf.c (process_ia64_vms_dynamic_relocs): Check to see if
696 get_data is unable to load the string table.
697
698 2020-02-26 Alan Modra <amodra@gmail.com>
699
700 * elfedit.c: Indent labels correctly.
701 * readelf.c: Likewise.
702 * resres.c: Likewise.
703
704 2020-02-25 H.J. Lu <hongjiu.lu@intel.com>
705
706 PR binutils/25584
707 * ar.c (main): Pass 0 to bfd_plugin_set_program_name.
708 * nm.c (main): Pass 1 to bfd_plugin_set_program_name.
709
710 2020-02-24 Nick Clifton <nickc@redhat.com>
711
712 PR 25499
713 * doc/binutils.texi (objdump): Fix typo in description of
714 objdump's -g option.
715
716 2020-02-20 Nelson Chu <nelson.chu@sifive.com>
717
718 * dwarf.c (regname_internal_riscv): Updated since the DECLARE_CSR
719 is changed.
720
721 2020-02-19 Jordan Rupprecht <rupprecht@google.com>
722
723 * objdump.c (show_line): call bfd_demangle when using do_demangle.
724
725 2020-02-19 Andrew Burgess <andrew.burgess@embecosm.com>
726
727 * configure: Regenerate.
728
729 2020-02-10 Fangrui Song <maskray@google.com>
730
731 * objcopy.c (parse_flags): Handle "exclude".
732 * doc/binutils.texi: Document the support.
733
734 2020-02-10 Aaron Merey <amerey@redhat.com>
735
736 * binutils/testsuite/binutils-all/debuginfod.exp:
737 Replace set ::env with setenv.
738 Start server before setting environment variable.
739 Specify tmpdir as the location of the server's
740 database.
741 Check additional server metrics at start-up.
742
743 2020-02-07 Nick Clifton <nickc@redhat.com>
744
745 * README-how-to-make-a-release: Add note about updating the
746 GAS/NEWS URL in the next release.
747
748 2020-02-07 Sergey Belyashov <sergey.belyashov@gmail.com>
749
750 PR 25469
751 * readelf.c (get_machine_flags): Add support for Z80N machine
752 number.
753
754 2020-02-07 Nick Clifton <nickc@redhat.com>
755
756 * dwarf.c (display_debug_lines_decoded): Force a NUL termination
757 of the truncated file name.
758
759 2020-02-06 Andrew Burgess <andrew.burgess@embecosm.com>
760
761 * objdump.c (print_jump_visualisation): New function.
762 (disassemble_bytes): Call new function.
763
764 2020-02-06 Alan Modra <amodra@gmail.com>
765
766 * testsuite/lib/binutils-common.exp (match_target): Accept '!' before
767 TCL procedure.
768 (supports_gnu_osabi): New procedure.
769 (is_generic): New, from ld-lib.exp.
770 (supports_gnu_unique): Use the above.
771
772 2020-02-04 Alan Modra <amodra@gmail.com>
773
774 * Makefile.am (CFILES): Add od-elf32_avr.c.
775 * Makefile.in: Regenerate.
776 * po/POTFILES.in: Regenerate.
777
778 2020-02-03 Andreas Schwab <schwab@linux-m68k.org>
779
780 * readelf.c (dump_relocations, dump_relocations)
781 (decode_arm_unwind_bytecode, process_dynamic_section)
782 (get_symbol_visibility, get_alpha_symbol_other): Add newline to
783 error message.
784
785 2020-02-03 Sergei Trofimovich <siarheit@google.com>
786
787 * coffdump.c (program_name): Drop redundant definition.
788 * srconv.c (program_name): Likewise
789 * sysdump.c (program_name): Likewise
790
791 2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
792
793 PR gas/25380
794 * objdump.c (sym_ok): Return FALSE if 2 sections are in the
795 same file with different section pointers.
796
797 2020-02-01 Nick Clifton <nickc@redhat.com>
798
799 * README-how-to-make-a-release: Update with more details on the
800 release making process.
801
802 2020-01-31 Nick Clifton <nickc@redhat.com>
803
804 * po/sv.po: Updated Swedish translation.
805
806 2020-01-28 Nick Clifton <nickc@redhat.com>
807
808 * readelf.c (get_build_id): Simplify warning message about corrupt
809 notes encountered whilst scanning for the build-id.
810
811 2020-01-27 Roland McGrath <mcgrathr@google.com>
812
813 * objcopy.c (compare_gnu_build_notes): Fix comparison results
814 for overlapping ranges so that (A == B) == (B == A) holds.
815
816 2020-01-27 Alan Modra <amodra@gmail.com>
817
818 * testsuite/lib/binutils-common.exp (big_or_little_endian): Replace
819 case statement with switch statement.
820
821 2020-01-24 Nick Clifton <nickc@redhat.com>
822
823 * readelf.c (get_build_id): Fix warning messages about corrupt
824 notes.
825
826 2020-01-23 Nick Clifton <nickc@redhat.com>
827
828 * po/fr.po: Updated French translation.
829
830 2020-01-22 Yuri Chornoivan <yurchor@mageia.org>
831
832 PR 25417
833 * readelf.c (get_alpha_symbol_other): Fix error message typo.
834
835 2020-01-20 Nick Clifton <nickc@redhat.com>
836
837 * po/pt.po: Updated Portuguese translation.
838 * po/uk.po: Updated Ukranian translation.
839
840 2020-01-18 Nick Clifton <nickc@redhat.com>
841
842 * README-how-to-make-a-release: Update notes on how to cut a
843 branch for a release.
844
845 2020-01-18 Nick Clifton <nickc@redhat.com>
846
847 * configure: Regenerate.
848 * po/binutils.pot: Regenerate.
849
850 2020-01-18 Nick Clifton <nickc@redhat.com>
851
852 Binutils 2.34 branch created.
853
854 2020-01-17 Thomas Troeger <tstroege@gmx.de>
855
856 * objdump.c (jump_info_visualize_address): Discard jumps that are
857 no longer needed.
858 (disassemble_bytes): Only compute the maximum level if jumps were
859 detected.
860
861 2020-01-13 Nick Clifton <nickc@redhat.com>
862
863 * objdump.c (disassemble_bytes): Remove C99-ism.
864 * testsuite/binutils-all/debuginfod.exp: New tests.
865
866 2020-01-13 Thomas Troeger <tstroege@gmx.de>
867
868 * objdump.c (visualize_jumps, color_output, extended_color_output)
869 (detected_jumps): New variables.
870 (usage): Add the new jump visualization options.
871 (option_values): Add new option value.
872 (long_options): Add the new option.
873 (jump_info_new, jump_info_free): New functions.
874 (jump_info_min_address, jump_info_max_address): Likewise.
875 (jump_info_end_address, jump_info_is_start_address): Likewise.
876 (jump_info_is_end_address, jump_info_size): Likewise.
877 (jump_info_unlink, jump_info_insert): Likewise.
878 (jump_info_add_front, jump_info_move_linked): Likewise.
879 (jump_info_intersect, jump_info_merge): Likewise.
880 (jump_info_sort, jump_info_visualize_address): Likewise.
881 (disassemble_jumps): New function - used to locate jumps.
882 (disassemble_bytes): Add ascii art generation.
883 (disassemble_section): Add scan to locate jumps.
884 (main): Parse the new visualization option.
885 * doc/binutils.texi: Document the new feature.
886 * NEWS: Mention the new feature.
887
888 2020-01-13 Alan Modra <amodra@gmail.com>
889
890 PR 25360
891 PR 25361
892 * dwarf.c (display_debug_frames): Move fde_fc earlier. Free
893 fde_fc col_type and col_offset.
894 * readelf.c (apply_relocations): Move symsec check earlier.
895 (free_debug_section): Free reloc_info.
896 (process_notes_at): Free pnotes on error path.
897 (process_object): Free dump_sects here..
898 (process_archive): ..not here.
899
900 2020-01-13 Alan Modra <amodra@gmail.com>
901
902 PR 25362
903 * nm.c (display_rel_file): Free dyn_syms.
904
905 2020-01-09 Nick Clifton <nickc@redhat.com>
906
907 PR 25220
908 * objcopy.c (empty_name): New variable.
909 (need_sym_before): Prevent an attempt to free a static variable.
910 (filter_symbols): Avoid strcmp test by checking for pointer
911 equality.
912
913 2020-01-09 Nick Clifton <nickc@redhat.com>
914
915 * po/zh_TW.po: Updated Traditional Chinese translation.
916
917 2020-01-09 Aaron Merey <amerey@redhat.com>
918
919 * Makefile.am (readelf_LDADD, objdump_LDADD): Add libdebuginfod.
920 * Makefile.in: Regenerate.
921 * NEWS: Update.
922 * config.in: Regenerate.
923 * configure: Regenerate.
924 * configure.ac: Call AC_DEBUGINFOD.
925 * doc/Makefile.in: Regenerate.
926 * doc/binutils.texi: Add section on using binutils
927 with debuginfod.
928 * dwarf.c (debuginfod_fetch_separate_debug_info): New function.
929 Query debuginfod servers for the target debug file.
930 (load_separate_debug_info): Call
931 debuginfod_fetch_separate_debug_info if configured with
932 debuginfod.
933 (load_separate_debug_files): Add file argument to
934 load_separate_debug_info calls.
935 * dwarf.h (get_build_id): Add declaration.
936 * objdump.c (get_build_id): New function. Get build-id of file.
937 * readelf.c (get_build_id): Likewise.
938 * testsuite/binutils-all/debuginfod.exp: New tests.
939 * testsuite/binutils-all/linkdebug.s: Add .note.gnu.build-id
940 section.
941
942 2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
943
944 * readelf.c: Add support for new Z*) relocations and machine
945 types.
946
947 2020-01-01 Alan Modra <amodra@gmail.com>
948
949 Update year range in copyright notice of all files.
950
951 For older changes see ChangeLog-2019
952 \f
953 Copyright (C) 2020 Free Software Foundation, Inc.
954
955 Copying and distribution of this file, with or without modification,
956 are permitted in any medium without royalty provided the copyright
957 notice and this notice are preserved.
958
959 Local Variables:
960 mode: change-log
961 left-margin: 8
962 fill-column: 74
963 version-control: never
964 End: