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