Improve header information displayed with objdump -P for PE binaries.
[binutils-gdb.git] / binutils / ChangeLog
1 2023-05-30 Nick Clifton <nickc@redhat.com>
2
3 * od-pe.c (targ_info): New array.
4 (get_target_specific_info): New function
5 (decode_machine_number): Retire. Use get_target_specific_info
6 instead.
7 (is_pe_object_magic): Likewise.
8 (dump_pe_file_header): Display more information.
9 Rework layout to be similar to that from 'objdump -p'.
10 Add code to handle larger than normnal AOUT headers.
11
12 2023-05-30 Nick Clifton <nickc@redhat.com>
13
14 * od-pe.c (decode_machine_number): Add ARMMAGIC value of 0xa00.
15 (is_pe_object_magic): Likewise.
16
17 2023-05-26 Nick Clifton <nickc@redhat.com>
18
19 * od-pe.c: New file: Dumps fields in PE format headers.
20 * configure.ac (od_vectors): Add objdump_private_desc_pe for PE
21 format targets.
22 (od_files): Add od-pe for PE format targets.
23 * configure: Regenerate.
24 * Makefile.am (CFILES): Add od-pe.c
25 (EXTRA_objdump_SOURCE): Likewise.
26 * Makefile.in: Generate.
27 * NEWS: Mention the new feature.
28 * doc/binutils.texi: Document the new support.
29 * objdump.c (wide_output): Change from local to global.
30 * objdump.h (wide_output): Prototype.
31 (objdump_private_desc_pe): Prototype.
32 * testsuite/binutils-all/objdump.exp: Add a test of the new feature.
33
34 2023-05-09 Enze Li <enze.li@gmx.com>
35
36 * README: Correct a typo.
37
38 2023-05-02 Nick Clifton <nickc@redhat.com>
39
40 * MAINTAINERS: Remove Dimity Diky as MSP430 maintainer.
41
42 2023-04-20 Nick Clifton <nickc@redhat.com>
43
44 * SECURITY.txt: New file.
45
46 2023-04-19 Nick Clifton <nickc@redhat.com>
47
48 PR 30355
49 * dwarf.c (read_and_display_attr_value): Correctly handle
50 DW_loclistx attributes that index a version 5 .debug_loclists
51 section.
52
53 2023-04-17 Nick Clifton <nickc@redhat.com>
54
55 PR 30142
56 * rescoff.c (write_coff_file): Add the SEC_READONLY flag to the
57 .rsrc section.
58
59 2023-04-11 Nick Clifton <nickc@redhat.com>
60
61 PR 30327
62 * dwarf.c (read_and_display_attr_value): Warn if the number of
63 views is greater than the number of locations.
64
65 PR 30313
66 * dwarf.c (display_debug_lines_decoded): Check for an overlarge
67 number of files or directories.
68
69 PR 30312
70 * dwarf.c (prealloc_cu_tu_list): Always allocate at least one
71 entry.
72
73 PR 30311
74 * readelf.c (uncompress_section_contents): Check for a
75 suspiciously large uncompressed size.
76
77 2023-03-30 Nick Clifton <nickc@redhat.com>
78
79 PR 30284
80 * dwarf.c (read_and_display_attr_value): Detect and ignore
81 negative base values.
82
83 2023-03-23 Frederic Cambus <fred@statdns.com>
84
85 * readelf.c (get_segment_type): Handle PT_OPENBSD_MUTABLE segment
86 type.
87
88 2023-03-14 Nick Clifton <nickc@redhat.com>
89
90 PR 30227
91 * dwarf.c (process_cu_tu_index): Prevent excessive memory
92 allocation when nused is large and ncols is zero.
93
94 2023-02-09 Tom Tromey <tromey@adacore.com>
95
96 * dwarf-mode.el: Bump version to 1.8.
97 (dwarf-insert-substructure): Tighten regexp.
98 (dwarf-refresh-all): New defun.
99 (dwarf-mode-map): Bind "A" to dwarf-refresh-all.
100 (dwarf-mode): Remove old FIXME.
101
102 2023-02-07 Nick Clifton <nickc@redhat.com>
103
104 PR 30080
105 * doc/binutils.texi (nm): Update description of the 'n' symbol
106 type.
107
108 2023-01-31 Nick Clifton <nickc@redhat.com>
109
110 * po/sv.po: Updated Swedish translation.
111
112 2023-01-23 Nick Clifton <nickc@redhat.com>
113
114 * po/sv.po: Updated Swedish translation.
115
116 2023-01-18 Nick Clifton <nickc@redhat.com>
117
118 PR 29993
119 * objcopy.c (merge_gnu_build_notes): Remember the last non-deleted
120 note in order to speed up the scan for matching notes.
121
122 2023-01-16 Nick Clifton <nickc@redhat.com>
123
124 * po/sv.po: Updated Swedish translation.
125
126 2023-01-09 Nick Clifton <nickc@redhat.com>
127
128 * po/bg.po: Updated Bulgarian translation.
129 * po/ro.po: Updated Romainian translation.
130
131 2023-01-05 Nick Clifton <nickc@redhat.com>
132
133 * MAINTAINERS: Remove Stephen Casner as the PDP11 maintainer.
134
135 2023-01-03 Nick Clifton <nickc@redhat.com>
136
137 * po/fr.po: Updated French translation.
138 * po/uk.po: Updated Ukrainian translation.
139
140 2023-01-03 Luis Machado <luis.machado@arm.com>
141
142 * readelf.c (get_note_type): Add support for NT_ARM_SSVE and
143 NT_ARM_ZA note types.
144
145 2022-12-31 Nick Clifton <nickc@redhat.com>
146
147 * 2.40 branch created.
148
149 2022-12-31 Nick Clifton <nickc@redhat.com>
150
151 * po/ro.po: Updated Romanian translation.
152
153 2022-12-21 Nick Clifton <nickc@redhat.com>
154
155 PR 29924
156 * objdump.c (load_specific_debug_section): Check for excessively
157 large sections.
158
159 2022-12-19 Tom Tromey <tromey@adacore.com>
160
161 * dwarf-mode.el (dwarf-do-refresh): Avoid compiler warning.
162
163 2022-12-19 Nick Clifton <nickc@redhat.com>
164
165 PR 29914
166 * dwarf.c (fetch_indexed_value): Fail if the section is not big
167 enough to contain a header size field.
168 (display_debug_addr): Fail if the computed address size is too big
169 or too small.
170
171 2022-12-16 Nick Clifton <nickc@redhat.com>
172
173 PR 29908
174 * dwarf.c (display_debug_addr): Check for corrupt header lengths.
175
176 2022-12-01 Nick Clifton <nickc@redhat.com>
177
178 PR 25202
179 * objcopy.c (copy_object): Set VerilogDataEndianness to the
180 endianness of the input file.
181 (copy_main): Verifiy the value set by the --verilog-data-width
182 option.
183 * testsuite/binutils-all/objcopy.exp: Add tests of the new behaviour.
184 * testsuite/binutils-all/verilog-I4.hex: New file.
185
186 2022-11-21 Nick Clifton <nickc@redhat.com>
187
188 PR 29764
189 * doc/binutils.texi (objdump): Note that the -m option supports
190 the <architecture>:<machine> syntax.
191
192 2022-11-04 Nick Clifton <nickc@redhat.com>
193
194 * README-how-to-make-a-release: Add instructions for uploading the
195 gprofng documentation.
196
197 2022-10-31 Nick Clifton <nickc@redhat.com>
198
199 PR 29457
200 * configure.ac: Add --enable-colored-disassembly.
201 * objdump.c: Add --disassembler-color=terminal.
202 * doc/binutils.texi (objdump): Document the new option.
203 * NEWS: Mention new feature.
204 * config.in: Regenerate in.
205 * configure: Regenerate.
206
207 2022-10-19 Nick Clifton <nickc@redhat.com>
208
209 * MAINTAINERS: Add section on patches, copyright and DCO.
210
211 2022-10-12 Nick Clifton <nickc@redhat.com>
212
213 PR 29665
214 * objcopy.c (copy_object): Use the input filename when
215 reporting that a .gnu_debuglink section already exists.
216
217 2022-10-03 Nick Clifton <nickc@redhat.com>
218
219 * readelf.c (get_32bit_section_headers): Return false if the
220 e_shoff field is zero.
221 (get_64bit_section_headers): Likewise.
222
223 2022-09-28 Nick Clifton <nickc@redhat.com>
224
225 PR 29628
226 * size.c (usage): Add -f.
227 * doc/binutils.texi (size): Add -f.
228
229 2022-09-20 Nick Clifton <nickc@redhat.com>
230
231 * objcopy.c (copy_object): Do not issue a warning message when
232 encountering empty .gnu.build.attribute sections.
233
234 2022-09-14 Rupesh Potharla <Rupesh.Potharla@amd.com>
235
236 * testsuite/binutils-all/readelf.exp (readelf_wi_test): Extend
237 regexps to allow for output genreated by the Clang compiler.
238
239 2022-09-12 Aaron Merey <amerey@redhat.com>
240
241 * objcopy.c (might_need_separate_debug_info): Add with_source_code to
242 the options that cause this function to return true.
243 (main.c): Add with_source_code to the options that enable
244 dump_any_debugging.
245
246 2022-09-09 Nick Clifton <nickc@redhat.com>
247
248 PR 29532
249 * objcopy.c (setup_section): Leave group sections intact when
250 creating separate debuginfo files.
251
252 2022-09-08 Nick Clifton <nickc@redhat.com>
253
254 PR 29523
255 * dwarf.c (display_debug_lines_decoded): Correctly handle DWARF-5
256 directory and filename tables.
257
258 2022-09-02 Aaron Merey <amerey@redhat.com>
259
260 PR 29075
261 * objdump.c (find_separate_debug): New function. Finds the bfd
262 corresponding to the separate debuginfod of a given bfd.
263 (find_alt_debug): New function. Finds the bfd corresponding to the
264 .gnu_debugaltlink of a given bfd.
265 (slurp_file): Add bfd parameter. If a source file cannot be found
266 attempt to download it from debuginfod, if enabled.
267 (try_print_file_open): Add bfd parameter and pass it to slurp_file.
268 (show_line): If debuginfod is enabled, call
269 bfd_find_nearest_line_with_alt instead of bfd_find_nearest_line.
270
271 2022-09-01 Nick Clifton <nickc@redhat.com>
272
273 PR 29534
274 * dllwrap.c: Replace uses of choose_temp_base() with
275 make_temp_file().
276 * dlltool.c: Likewise.
277 * resrc.c: Likewise.
278
279 2022-08-23 Nick Clifton <nickc@redhat.com>
280
281 PR 29489
282 * dlltool.c (deterministic): New variable.
283 (gen_lib_file): If deterministic is true set the
284 BFD_DETERMINISTIC_OUTPUT flag.
285 (usage): Mention --deterministic-libraries and
286 --non-deterministic-libraries.
287 (long_options): Add new options.
288 (main): Parse new options.
289 * doc/binutils.texi: Document the new options.
290 * NEWS: Mention the new feature.
291
292 2022-08-22 Nick Clifton <nickc@redhat.com>
293
294 * readelf.c (check_magic_number): New function. Checks the magic
295 bytes at the start of a file. If they are not the ELF format
296 magic values, then attempts to generate a helpful error message.
297 (process_file_header): Call check_magic_number.
298
299 2022-08-09 Nick Clifton <nickc@redhat.com>
300
301 PR 29457
302 * objdump.c (disassembler_color): Change type to an enum.
303 (disassembler_extended_color): Remove.
304 (usage): Update.
305 (objdump_color_for_assembler_style): Update.
306 (main): Update initialisation of disassembler_color. If not
307 initialised via a command line option, set based upon terminal
308 output.
309 * doc/binutils.texi: Update description of disassmbler-color
310 option.
311 * testsuite/binutils-all/arc/objdump.exp: Add
312 --disassembler-color=off option when disassembling.
313 * testsuite/binutils-all/arm/objdump.exp: Likewise.
314
315 2022-08-08 Nick Clifton <nickc@redhat.com>
316
317 * README-how-to-make-a-release: Add a link to the NEWS files in
318 the release announcement email.
319
320 2022-07-08 Nick Clifton <nickc@redhat.com>
321
322 * 2.39 branch created.
323
324 2022-07-01 Nick Clifton <nickc@redhat.com>
325
326 * dwarf.c (display_debug_rnglists): Add newline at end of listing.
327
328 2022-06-30 Nick Clifton <nickc@redhat.com>
329
330 * dwarf.c (dwarf_select_sections_by_name): If the entry's value is
331 zero then clear the corresponding variable.
332 (dwarf_select_sections_by_letters): Likewise.
333 * testsuite/binutils-all/debuginfo.exp: Expect -WE and -wE
334 debuginfod tests to fail.
335
336 2022-06-28 Nick Clifton <nickc@redhat.com>
337
338 PR 29267
339 * dwarf.c (display_debug_rnglists): New function, broken out of..
340 (display_debug_ranges): ... here.
341 (read_and_display_attr_value): Correct calculation of index
342 displayed for DW_FORM_loclistx and DW_FORM_rnglistx.
343 * testsuite/binutils-all/x86-64/pr26808.dump: Update expected
344 output.
345
346 2022-06-27 Nick Clifton <nickc@redhat.com>
347
348 PR 29289
349 * dwarf.c (display_debug_names): Replace assert with a warning
350 message.
351
352 2022-06-27 Nick Clifton <nickc@redhat.com>
353
354 PR 29290
355 * dwarf.c (read_and_display_attr_value): Check that debug_info_p
356 is set before dereferencing it.
357
358 2022-06-27 Nick Clifton <nickc@redhat.com>
359
360 * dwarf.c (fetch_indexed_string): Do not use length of first table
361 in string section as the length of every table in the section.
362
363 * testsuite/binutils-all/pr26112.r: Update expected output.
364
365 2022-06-22 Kumar N, Bhuvanendra <Kavitha.Natarajan@amd.com>
366
367 * dwarf.c (fetch_indexed_string): Added new parameter
368 str_offsets_base to calculate the string offset.
369 (read_and_display_attr_value): Read DW_AT_str_offsets_base
370 attribute.
371 (process_debug_info): While allocating memory and initializing
372 debug_information, do it for do_debug_info also, if its true.
373 (load_separate_debug_files): Load .debug_str_offsets if exists.
374 * dwarf.h (struct debug_info): Add str_offsets_base field.
375
376 2022-06-22 Marcus Nilsson <brainbomb@gmail.com>
377
378 * readelf.c: (slurp_relr_relocs) Use malloc instead of xmalloc
379 when allocating space for relocations.
380
381 2022-06-21 Kumar N, Bhuvanendra <Kavitha.Natarajan@amd.com>
382
383 * dwarf.h (struct debug_info): Add rnglists_base field.
384 * dwarf.c (read_and_display_attr_value): Read attribute DW_AT_rnglists_base.
385 (display_debug_rnglists_list): While handling DW_RLE_base_addressx,
386 DW_RLE_startx_endx, DW_RLE_startx_length items, pass the proper parameter
387 value to fetch_indexed_addr(), i.e. fetch the proper entry in .debug_addr section.
388 (display_debug_ranges): Add rnglists_base to the .debug_rnglists base address.
389 (load_separate_debug_files): Load .debug_addr section, if exists.
390
391 2022-05-20 Nick Clifton <nickc@redhat.com>
392
393 * dwarf.c (dwarf_select_sections_by_names): Return zero if no
394 sections were selected.
395 (dwarf_select_sections_by_letters): Likewise.
396 * dwarf.h: (dwarf_select_sections_by_names): Update prototype.
397 (dwarf_select_sections_by_letters): Update prototype.
398 * objdump.c (might_need_separate_debug_info): New function.
399 (dump_bfd): Call new function before attempting to load separate
400 debug info files.
401 (main): Do not enable dwarf section dumping for -WK or -WN.
402 * readelf.c (parse_args): Do not enable dwarf section dumping for
403 -wK or -wN.
404 (might_need_separate_debug_info): New function.
405 (process_object): Call new function before attempting to load
406 separate debug info files.
407 * testsuite/binutils-all/debuginfo.exp: Expect -WE and -wE
408 debuginfod tests to pass.
409 * testsuite/binutils-all/objdump.Wk: Add extra regexps.
410 * testsuite/binutils-all/readelf.k: Add extra regexps.
411
412 2022-05-19 Nick Clifton <nickc@redhat.com>
413
414 * dlltool.c (run): Initialise errmsg_fmt.
415 * dllwrap.c (run): Likewise.
416 * resrc.c (run_cmd): Likewise.
417 * mclex.c (mc_add_keyword): Initialise usz.
418 * srconv.c (wd_hd): Initialise hd.spare2.
419 * windmc.c (mc_add_node_lang): Initialise s.
420 (mc_generate_bin_item): Initialise cvt_txt.
421 (main): Initialise u.
422
423 2022-05-18 Nick Clifton <nickc@redhat.com>
424
425 PR 29135
426 * nm.c (non_weak): New variable.
427 (filter_symbols): When non-weak is true, ignore weak symbols.
428 (long_options): Add --no-weak.
429 (usage): Mention --no-weak.
430 (main): Handle -W/--no-weak.
431 * doc/binutils.texi: Document new feature.
432 * NEWS: Mention the new feature.
433 * testsuite/binutils-all/nm.exp: Add test of new feature.
434 * testsuite/binutils-all/no-weak.s: New test source file.
435
436 2022-04-25 Nick Clifton <nickc@redhat.com>
437
438 PR 29072
439 * testsuite/lib/binutils-common.exp (prune_warnings_extra): Filter
440 out notes about the executable stacjk behaviour beign deprecated.
441
442 2022-04-12 Nick Clifton <nickc@redhat.com>
443
444 PR 28992
445 * objcopy.c (is_strip_section_1): Do not delete debuglink sections
446 when stripping debug information.
447
448 2022-04-06 Nick Clifton <nickc@redhat.com>
449
450 PR 28981
451 * dwarf.c (fetch_indexed_value): Rename to fecth_indexed_addr and
452 return the address, rather than a string.
453 (fetch_indexed_value): New function - returns a value indexed by a
454 DW_FORM_loclistx or DW_FORM_rnglistx form.
455 (read_and_display_attr_value): Add support for DW_FORM_loclistx
456 and DW_FORM_rnglistx.
457 (process_debug_info): Load the loclists and rnglists sections.
458 (display_loclists_list): Add support for DW_LLE_base_addressx,
459 DW_LLE_startx_endx, DW_LLE_startx_length and
460 DW_LLE_default_location.
461 (display_offset_entry_loclists): New function. Displays a
462 .debug_loclists section that contains offset entry tables.
463 (display_debug_loc): Call the new function.
464 (display_debug_rnglists_list): Add support for
465 DW_RLE_base_addressx, DW_RLE_startx_endx and DW_RLE_startx_length.
466 (display_debug_ranges): Display the contents of the section's
467 header.
468 * dwarf.h (struct debug_info): Add loclists_base field.
469 * testsuite/binutils-all/dw5.W: Update expected output.
470 * testsuite/binutils-all/x86-64/pr26808.dump: Likewise.
471
472 2022-04-01 John Baldwin <jhb@FreeBSD.org>
473
474 * readelf.c (get_freebsd_elfcore_note_type): Handle
475 NT_FREEBSD_X86_SEGBASES.
476
477 2022-03-31 Nick Clifton <nickc@redhat.com>
478
479 * arlex.l: Accept the plus character as part of a filename.
480
481 2022-03-16 Fangrui Song <maskray@google.com>
482
483 PR binutils/28926
484 * objcopy.c (filter_symbols): Apply weaken to STB_GNU_UNIQUE symbols
485 * NEWS: Mention feature.
486 * testsuite/binutils-all/objcopy.exp (objcopy_test_symbol_manipulation): New test.
487 * testsuite/binutils-all/weaken-gnu-unique.s: New.
488
489 2022-03-16 Martin Storsjö <martin@martin.st>
490
491 PR 28885
492 * dlltool.c (main): use imp_name rather than dll_name when
493 generating a temporary file name.
494
495 2022-03-16 Simon Marchi <simon.marchi@efficios.com>
496
497 * readelf.c (dump_relocations): Handle EM_AMDGPU.
498
499 2022-03-16 Simon Marchi <simon.marchi@efficios.com>
500
501 * Makefile.am (readelf_CFLAGS): New.
502 (readelf_LDADD): Add MSGPACK_LIBS.
503 * Makefile.in: Re-generate.
504 * config.in: Re-generate.
505 * configure: Re-generate.
506 * configure.ac: Add --with-msgpack flag and check for msgpack
507 using pkg-config.
508 * readelf.c: Include msgpack.h if HAVE_MSGPACK.
509 (print_note_contents_hex): New.
510 (print_indents): New.
511 (dump_msgpack_obj): New.
512 (dump_msgpack): New.
513 (print_amdgpu_note): New.
514 (process_note): Handle NT_AMDGPU_METADATA note contents.
515 Use print_note_contents_hex.
516
517 2022-03-16 Simon Marchi <simon.marchi@efficios.com>
518
519 * readelf.c (get_amdgpu_elf_note_type): New.
520 (process_note): Handle "AMDGPU" notes.
521
522 2022-03-16 Simon Marchi <simon.marchi@efficios.com>
523
524 * readelf.c: Include elf/amdgcn.h.
525 (decode_AMDGPU_machine_flags): New.
526 (get_machine_flags): Handle flags for EM_AMDGPU machine type.
527
528 2022-03-16 Simon Marchi <simon.marchi@efficios.com>
529
530 * readelf.c (get_osabi_name): Handle EM_AMDGPU OS ABIs.
531
532 2022-03-16 Nick Clifton <nickc@redhat.com>
533
534 * po/sr.po: Updated Serbian translation.
535
536 2022-03-15 Tom Tromey <tromey@adacore.com>
537
538 * dwarf-mode.el: Now 1.7.
539 (dwarf--sentinel): Switch to the process buffer.
540
541 2022-03-11 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
542
543 * MAINTAINERS: Add gprofng maintainer.
544 * README-how-to-make-a-release: Add gprofng.
545
546 2022-03-10 Nick Clifton <nickc@redhat.com>
547
548 * dwarf.c (use_debuginfod): New variable. Set to 1.
549 (load_separate_debug_info): Only call
550 debuginfod_fetch_separate_debug_info is use_debuginfod is true.
551 (dwarf_select_sections_by_names): Add do-not-use-debuginfod and
552 use-debuginfod options.
553 (dwarf_select_sections_by_letters): Add D and E options.
554 * dwarf.h (use_debuginfod): New extern.
555 * objdump.c (usage): Mention the new options.
556 * readelf.c (usage): Likewise.
557 * doc/binutils.texi: Document the new options.
558 * doc/debug-options.texi: Describe the new options.
559 * NEWS: Mention the new feature.
560 * testsuite/binutils-all/debuginfod.exp: Add tests of the new
561 options.
562
563 2021-03-06 Maciej W. Rozycki <macro@orcam.me.uk>
564
565 * testsuite/binutils-all/mips/mips1-branch-alias.d: New test.
566 * testsuite/binutils-all/mips/mips1-branch-noalias.d: New test.
567 * testsuite/binutils-all/mips/mips2-branch-alias.d: New test.
568 * testsuite/binutils-all/mips/mips2-branch-noalias.d: New test.
569 * testsuite/binutils-all/mips/mips32r6-branch-alias.d: New test.
570 * testsuite/binutils-all/mips/mips32r6-branch-noalias.d: New
571 test.
572 * testsuite/binutils-all/mips/micromips-branch-alias.d: New
573 test.
574 * testsuite/binutils-all/mips/micromips-branch-noalias.d: New
575 test.
576 * testsuite/binutils-all/mips/mips-branch-alias.s: New test
577 source.
578 * testsuite/binutils-all/mips/micromips-branch-alias.s: New test
579 source.
580 * testsuite/binutils-all/mips/mips.exp: Run the new tests.
581
582 2022-03-04 Simon Marchi <simon.marchi@polymtl.ca>
583
584 * readelf.c (process_dynamic_section): Fix indentation.
585
586 2022-02-09 Nick Clifton <nickc@redhat.com>
587
588 * README-how-to-make-a-release: Update after the 2.38 release.
589
590 2022-01-27 Nick Clifton <nickc@redhat.com>
591
592 * po/sv.po: Updated Swedish translation.
593
594 2022-01-24 Nick Clifton <nickc@redhat.com>
595
596 * po/bg.po: Updated Bulgarian translation.
597 * po/fr.po: Updated French translation.
598 * po/ro.po: Updated Romanian translation.
599 * po/uk.po: Updated Ukranian translation.
600
601 2022-01-22 Martin Storsjö <martin@martin.st>
602
603 * dlltool.c (main): Allow inferring tmp_prefix from the dll name
604 from a def file.
605
606 2022-01-22 Nick Clifton <nickc@redhat.com>
607
608 * configure: Regenerate.
609 * po/binutils.pot: Regenerate.
610
611 2022-01-22 Nick Clifton <nickc@redhat.com>
612
613 * 2.38 release branch created.
614
615 2022-01-17 Nick Clifton <nickc@redhat.com>
616
617 * Makefile.in: Regenerate.
618
619 2022-01-11 Fangrui Song <maskray@google.com>
620
621 PR binutils/28759
622 * ar.c (long_options): Add --thin.
623 (usage) Add --thin. Deprecate -T without diagnostics.
624 * doc/binutils.texi: Add doc.
625 * NEWS: Mention --thin.
626 * binutils/testsuite/binutils-all/ar.exp: Add tests.
627
628 2022-01-11 Martin Storsjö <martin@martin.st>
629
630 * dlltool.c (main): If a prefix has not been provided, attempt to
631 use a deterministic one based upon the dll name.
632
633 2022-01-07 Pavel Mayorov <pmayorov@cloudlinux.com>
634
635 PR 28718
636 * dwarf.c: Revert previous delta.
637 (debug_get_real_type): Reject indirect types that point to
638 indirect types.
639 (debug_get_type_name, debug_get_type_size, debug_write_type):
640 Likewise.
641
642 2022-01-06 Nick Clifton <nickc@redhat.com>
643
644 * debug.c (debug_write_type): Allow for malicious recursion via
645 indirect debug types.
646
647 2022-01-04 Nick Clifton <nickc@redhat.com>
648
649 PR 28716
650 * dwarf.c (load_build_id_debug_file): Remove spurious printf.
651
652 2021-12-16 Nick Clifton <nickc@redhat.com>
653
654 PR 28697
655 * dwarf.c (load_build_id_debug_file): New function.
656 (try_build_id_prefix): New function.
657 (check_for_and_load_links): Call load_build_id_debug_file.
658 (debug_displays): Add entry for .note.gnu.build-id.
659 * dwarf.h (enum dwarf_section_display_enum): Add
660 note_gnu_build_id.
661 * testsuite/binutils-all/debuginfod.exp (test_fetch_debuglink):
662 Fix regexp for loads via debuglink section.
663
664 2021-12-03 Chenghua Xu <xuchenghua@loongson.cn>
665
666 * MAINTAINERS: Add myself and Zhensong Liu
667 as the LoongArch maintainer.
668
669 2021-12-02 Nick Clifton <nickc@redhat.com>
670
671 PR 28645
672 * dwarf.c (process_cu_tu_index): Add test for overruning section
673 whilst processing slots.
674
675 2021-11-30 Roland McGrath <mcgrathr@google.com>
676
677 * doc/local.mk: Give each man page target its missing dependency on
678 doc/$(am__dirstamp).
679
680 2021-11-30 Nick Clifton <nickc@redhat.com>
681
682 * dwarf.c (find_debug_info_for_offset): Use dwarf_vma type for
683 offsets, sizes and ranges.
684 (display_loc_list): Likewise. Also use print_dwarf_vma to print
685 the offset.
686 (display_loclists_list): Likewise.
687 (display_loc_list_dwo): Likewise.
688 (display_debug_str): Likewise.
689 (display_debug_aranges): Likewise.
690 (display_debug_ranges_list): Likewise.
691 (display_debug_rnglists_list): Likewise.
692 (display_debug_ranges): Likewise.
693
694 2021-11-29 Nick Clifton <nickc@redhat.com>
695
696 PR 28632
697 * strings.c (usage): Update desciption of -n option.
698 * doc/binutils.texi: Likewise.
699
700 2021-11-24 Nick Clifton <nickc@redhat.com>
701
702 PR 28564
703 * sysdump.c (getCHARS): Check for an out of bounds read.
704
705 2021-11-16 Fangrui Song <maskray@google.com>
706
707 * readelf.c (enum relocation_type): New.
708 (slurp_relr_relocs): New.
709 (dump_relocations): Change is_rela to rel_type.
710 Dump RELR.
711 (dynamic_relocations): Add DT_RELR.
712 (process_relocs): Check SHT_RELR and DT_RELR.
713 (process_dynamic_section): Store into dynamic_info for
714 DT_RELR/DT_RELRENT/DT_RELRSZ.
715
716 2021-11-09 Nick Clifton <nickc@redhat.com>
717
718 * nm.c: Add --unicode option to control how unicode characters are
719 handled.
720 * objdump.c: Likewise.
721 * readelf.c: Likewise.
722 * strings.c: Likewise.
723 * binutils.texi: Document the new feature.
724 * NEWS: Document the new feature.
725 * testsuite/binutils-all/unicode.exp: New file.
726 * testsuite/binutils-all/nm.hex.unicode
727 * testsuite/binutils-all/strings.escape.unicode
728 * testsuite/binutils-all/objdump.highlight.unicode
729 * testsuite/binutils-all/readelf.invalid.unicode
730
731 2021-11-03 Tom Tromey <tromey@adacore.com>
732
733 * dwarf.c (display_debug_loc): Use section name in warnings.
734
735 2021-10-25 Nick Alcock <nick.alcock@oracle.com>
736
737 * objdump.c (usage): --ctf now has an optional argument.
738 (main): Adjust accordingly.
739 (dump_ctf): Default it.
740 * doc/ctf.options.texi: Adjust.
741
742 2021-10-25 Nick Alcock <nick.alcock@oracle.com>
743
744 * objdump.c (usage): --ctf-parent now takes a name, not a section.
745 (dump_ctf): Don't open a separate section; use the parent_name in
746 ctf_dict_open instead. Use ctf_archive_next, not ctf_archive_iter,
747 so we can pass down a member count.
748 (dump_ctf_archive_member): Add the member count; don't return
749 anything. Import parents into children no matter what the
750 parent's name, while still avoiding displaying the header for the
751 common parent name of ".ctf".
752 * readelf.c (usage): Adjust similarly.
753 (dump_section_as_ctf): Likewise.
754 (dump_ctf_archive_member): Likewise. Never stop iterating over
755 archive members, even if ctf_dump of one member fails.
756 * doc/ctf.options.texi: Adjust.
757
758 2021-10-19 Nick Clifton <nickc@redhat.com>
759
760 * nm.c (filter_symbols): Test for a NULL name before checking to
761 see if the symbol is __gnu_lto_slim.
762 * objcopy.c (filter_symbols): Likewise.
763
764 2021-09-30 Nick Clifton <nickc@redhat.com>
765
766 * objcopy.c (filter_symbols): Fail if attempting to dredefine
767 symbols in an LTO object file.
768
769 2021-09-27 Nick Alcock <nick.alcock@oracle.com>
770
771 * configure: Regenerate.
772
773 2021-09-20 Andrew Burgess <andrew.burgess@embecosm.com>
774
775 * testsuite/binutils-all/riscv/riscv.exp: New file.
776 * testsuite/binutils-all/riscv/unknown.d: New file.
777 * testsuite/binutils-all/riscv/unknown.s: New file.
778
779 2021-09-07 Luis Machado <luis.machado@linaro.org>
780
781 Revert: [AArch64] MTE corefile support
782
783 2021-05-21 Luis Machado <luis.machado@linaro.org>
784
785 * readelf.c (get_note_type): Handle NT_MEMTAG note types.
786
787 2021-08-11 Nick Clifton <nickc@redhat.com>
788
789 * po/pt.po: Updated Portuguese translation.
790
791 2021-08-10 Nick Clifton <nickc@redhat.com>
792
793 * po/sr.po: Updated Serbian translation.
794
795 2021-07-16 Nick Clifton <nickc@redhat.com>
796
797 * po/sv.po: Updated Swedish translation.
798
799 2021-07-14 Clément Chigot <clement.chigot@atos.net>
800
801 * dwarf.h (struct dwarf_section): Add XCOFF name.
802 * dwarf.c (struct dwarf_section_display): Update.
803 * objdump.c (load_debug_section): Add XCOFF name handler.
804 (dump_dwarf_section): Likewise.
805
806 2021-07-12 Nick Clifton <nickc@redhat.com>
807
808 * po/fr.po: Updated French translation.
809
810 2021-07-10 Alan Modra <amodra@gmail.com>
811
812 PR 28069
813 * dwarf.c (display_discr_list): Remove assertions. Delete "end"
814 parameter, use initial "data" pointer as the end. Formatting.
815 Don't count down bytes as they are read.
816 (read_and_display_attr_value): Adjust display_discr_list call.
817 (read_and_print_leb128): Don't pass __FILE__ and __LINE__ to
818 report_leb_status.
819 * dwarf.h (report_leb_status): Don't report file and line
820 numbers. Delete file and lnum parameters,
821 (READ_ULEB, READ_SLEB): Adjust.
822
823 2021-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
824
825 * configure.ac: Check for strnlen declaration.
826 * configure, config.in: Regenerate.
827
828 2021-07-05 Alan Modra <amodra@gmail.com>
829
830 PR 28047
831 * dwarf.c (get_type_abbrev_from_form): Add cu_end parameter.
832 Check DW_FORM_ref1 etc. arg against cu_end rather than end of
833 section. Adjust all callers.
834
835 2021-07-03 Nick Clifton <nickc@redhat.com>
836
837 * configure: Regenerate.
838 * po/opcodes.pot: Regenerate.
839 * README-how-to-make-a-release: Update.
840
841 2021-07-03 Nick Clifton <nickc@redhat.com>
842
843 * 2.37 release branch created.
844
845 2021-07-02 Alan Modra <amodra@gmail.com>
846
847 PR 28048
848 * dwarf.c (get_type_signedness): Don't run off end of buffer
849 printing DW_FORM_string attribute.
850
851 2021-07-01 Nick Clifton <nickc@redhat.com>
852
853 PR 28029
854 * testsuite/binutils-all/debuginfod.exp: Replace -wK with -wk.
855
856 2021-07-01 Andrei Homescu <ah@immunant.com>
857
858 * readelf.c (process_archive): Reset file position to the
859 beginning when calling process_object for thin archive members.
860 * testsuite/binutils-all/readelf.exp: Add test.
861 * testsuite/binutils-all/readelf.h.thin: New file.
862
863 2021-06-30 Tom Tromey <tom@tromey.com>
864
865 * dwarf.c (read_and_display_attr_value): Handle
866 DW_FORM_implicit_const.
867
868 2021-06-30 Richard Henderson <richard.henderson@linaro.org>
869
870 * dwarf.c (display_debug_frames): Both DW_CFA_def_cfa_sf
871 and DW_CFA_def_cfa_offset_sf have a signed offset.
872
873 2021-06-19 Alan Modra <amodra@gmail.com>
874
875 * dwarf.c (display_debug_lines_decoded): Use memcpy rather than
876 strncpy when trimming file name length to MAX_FILENAME_LENGTH.
877 Don't make an unnecessary copy when length is good.
878
879 2021-06-18 H.J. Lu <hongjiu.lu@intel.com>
880
881 * readelf.c (print_gnu_property_note): Handle
882 GNU_PROPERTY_UINT32_AND_LO, GNU_PROPERTY_UINT32_AND_HI,
883 GNU_PROPERTY_UINT32_OR_LO and GNU_PROPERTY_UINT32_OR_HI.
884
885 2021-06-15 Nick Clifton <nickc@redhat.com>
886
887 * readelf.c (get_note_type): Add support for NT_GO_BUILDID.
888
889 2021-06-15 Alan Modra <amodra@gmail.com>
890
891 * readelf.c (locate_dynamic_section, is_pie): New functions.
892 (get_file_type): Replace e_type parameter with filedata. Call
893 is_pie for ET_DYN. Update all callers.
894 (process_program_headers): Use local variables dynamic_addr and
895 dynamic_size, updating filedata on exit from function. Set
896 dynamic_size of 1 to indicate no dynamic section or segment.
897 Update tests of dynamic_size throughout.
898 * testsuite/binutils-all/x86-64/pr27708.dump: Update expected output.
899
900 2021-06-14 Eric Botcazou <ebotcazou@adacore.com>
901
902 * dwarf.c (struct abbrev_attr): Change type of implicit_const.
903 (add_abbrev_attr): Likewise.
904 (process_abbrev_set): Likewise.
905 (display_debug_abbrev): Adjust to above change.
906
907 2021-06-12 Alan Modra <amodra@gmail.com>
908
909 * readelf.c (process_file_header): Don't clear section_headers.
910
911 2021-06-12 Alan Modra <amodra@gmail.com>
912
913 * readelf.c (get_section_headers): Don't test e_shoff here, leave
914 that to get_32bit_section_headers or get_64bit_section_headers.
915 (process_object): Throw away section header read to print file
916 header extension.
917
918 2021-06-11 Alan Modra <amodra@gmail.com>
919
920 * readelf.c (struct filedata): Move archive_file_offset and
921 archive_file_size earlier.
922 (free_filedata): Clear using memset.
923
924 2021-06-11 Alan Modra <amodra@gmail.com>
925
926 * readelf.c (GET_ELF_SYMBOLS): Delete. Replace with..
927 (get_elf_symbols): ..this new function throughout.
928 (get_32bit_section_headers): Don't free section_headers.
929 (get_64bit_section_headers): Likewise.
930 (get_section_headers): New function, use throughout in place of
931 32bit and 64bit variants.
932 (get_dynamic_section): Similarly.
933 (process_section_headers): Don't free filedata memory here.
934 (get_file_header): Don't get section headers here..
935 (process_object): ..Read them here instead. Don't exit without
936 freeing filedata memory.
937
938 2021-06-09 Nick Clifton <nickc@redhat.com>
939
940 * MAINTAINERS: Remove Daniel Jacobwitz from the maintainers list.
941
942 2021-06-07 Jan Beulich <jbeulich@suse.com>
943
944 * dwarf.c (display_debug_aranges): Add u suffix to constant.
945
946 2021-05-29 Alan Modra <amodra@gmail.com>
947
948 * objdump (usage): Add missing \n.
949
950 2021-05-29 Alan Modra <amodra@gmail.com>
951
952 * readelf.c (parse_args): Call dwarf_select_sections_all on
953 --debug-dump without optarg.
954 (usage): Associate -w and --debug-dump options closely.
955 Split up help message. Remove extraneous blank lines around
956 ctf help.
957 * objdump.c (usage): Similarly.
958
959 2021-05-29 Maciej W. Rozycki <macro@orcam.me.uk>
960
961 * testsuite/binutils-all/mips/mips-xpa-virt-1.d: Correct CFC0
962 operand disassembly.
963 * testsuite/binutils-all/mips/mips-xpa-virt-3.d: Likewise.
964
965 2021-05-29 Maciej W. Rozycki <macro@orcam.me.uk>
966
967 * testsuite/binutils-all/mips/mips-xpa-virt-1.d: Use `mips:3000'
968 machine for disassembly.
969 * testsuite/binutils-all/mips/mips-xpa-virt-2.d: Likewise.
970 * testsuite/binutils-all/mips/mips-xpa-virt-3.d: Likewise.
971 * testsuite/binutils-all/mips/mips-xpa-virt-4.d: Likewise.
972
973 2021-05-28 H.J. Lu <hongjiu.lu@intel.com>
974
975 PR ld/27905
976 * readelf.c (decode_x86_feature_2): Revert commit 50c95a739c9.
977
978 2021-05-27 Alan Modra <amodra@gmail.com>
979
980 * readelf (usage): Order -w letters to match --debug-dump= and
981 move common '=' for --debug-dump out of brackets.
982
983 2021-05-26 H.J. Lu <hongjiu.lu@intel.com>
984
985 PR ld/27905
986 * readelf.c (decode_x86_feature_2): Support
987 GNU_PROPERTY_X86_FEATURE_2_CODE16.
988
989 2021-05-23 Tiezhu Yang <yangtiezhu@loongson.cn>
990
991 * readelf.c (get_machine_name): Change Loongson Loongarch to
992 LoongArch.
993
994 2021-05-21 Luis Machado <luis.machado@linaro.org>
995
996 * readelf.c (get_note_type): Add missing NT_ARM_* entries.
997
998 2021-05-21 Luis Machado <luis.machado@linaro.org>
999
1000 * readelf.c (get_note_type): Handle NT_MEMTAG note types.
1001
1002 2021-05-19 Eli Schwartz <eschwartz@archlinux.org>
1003
1004 * dwarf.c (ENABLE_CHECKING): Define to 0 if not previously set.
1005
1006 2021-05-19 Alan Modra <amodra@gmail.com>
1007
1008 PR 27884
1009 * dwarf.c (get_type_abbrev_from_form): Replace cu_offset_return
1010 param with map_return, and return map for DW_FORM_ref_addr.
1011 (get_type_signedness): Adjust calls to get_type_abbrev_from_form.
1012 Pass returned cu map start and end to recursive call.
1013 (read_and_display_attr_value): Similarly.
1014
1015 2021-05-19 Alan Modra <amodra@gmail.com>
1016
1017 PR 27879
1018 * sysdump.c (getBARRAY): Sanity check size against max.
1019 (getINT): Avoid UB shift left.
1020
1021 2021-05-15 Alan Modra <amodra@gmail.com>
1022
1023 * dwarf.c (process_cu_tu_index): Avoid pointer UB. Use _mul_overflow.
1024 Delete dead code.
1025
1026 2021-05-15 Alan Modra <amodra@gmail.com>
1027
1028 * dwarf.c (display_gdb_index): Avoid pointer UB and overflow in
1029 length calculations.
1030
1031 2021-05-15 Alan Modra <amodra@gmail.com>
1032
1033 * dwarf.c (display_debug_names): Complain when header length is
1034 too small. Avoid pointer UB. Sanity check augmentation string,
1035 CU table, TU table and foreign TU table sizes.
1036
1037 2021-05-15 Alan Modra <amodra@gmail.com>
1038
1039 * dwarf.c (display_debug_frames): Delete initial_length_size.
1040 Avoid pointer UB. Constrain data reads to length given in header.
1041 Sanity check cie header length. Only skip up to next FDE on
1042 finding augmentation data too long.
1043
1044 2021-05-15 Alan Modra <amodra@gmail.com>
1045
1046 * dwarf.c (read_cie): Add more sanity checks to ensure data
1047 pointer is not bumped past end.
1048
1049 2021-05-15 Alan Modra <amodra@gmail.com>
1050
1051 * dwarf.c (display_debug_ranges): Delete initial_length_size.
1052 Correct fallback size calculated on finding a reloc. Constrain
1053 data reads to length given in header. Avoid pointer UB.
1054
1055 2021-05-15 Alan Modra <amodra@gmail.com>
1056
1057 * dwarf.c (display_debug_rnglists_list): Avoid pointer UB.
1058
1059 2021-05-15 Alan Modra <amodra@gmail.com>
1060
1061 * dwarf.c (display_debug_str_offsets): Constrain reads to length
1062 given in header.
1063
1064 2021-05-15 Alan Modra <amodra@gmail.com>
1065
1066 * dwarf.c (display_debug_aranges): Delete initial_length_size.
1067 Use end_ranges to constrain data reads to header length. Avoid
1068 pointer UB.
1069
1070 2021-05-15 Alan Modra <amodra@gmail.com>
1071
1072 * dwarf.c (display_loc_list): Avoid pointer UB. Correct check
1073 before reading uleb length. Warn on excess length.
1074
1075 2021-05-15 Alan Modra <amodra@gmail.com>
1076
1077 * dwarf.c (display_debug_macro): Print strings that might not
1078 be zero terminated with %*s. Don't bump curr if unterminated.
1079
1080 2021-05-15 Alan Modra <amodra@gmail.com>
1081
1082 * dwarf.c (get_line_filename_and_dirname): Delete initial_length_size.
1083 Simplify length sanity check, and check for too small lengths.
1084 Constrain data reads to header length. Avoid pointer UB.
1085
1086 2021-05-15 Alan Modra <amodra@gmail.com>
1087
1088 * dwarf.c (display_debug_macinfo): Print strings that might not
1089 be zero terminated with %*s. Don't bump curr if unterminated.
1090
1091 2021-05-15 Alan Modra <amodra@gmail.com>
1092
1093 * dwarf.c (display_debug_pubnames_worker): Delete initial_length_size.
1094 Simplify length check. Constrain reads to length given by header.
1095
1096 2021-05-15 Alan Modra <amodra@gmail.com>
1097
1098 * dwarf.c (display_debug_lines_decoded): Don't use strnlen when
1099 we have already checked for NUL termination.
1100
1101 2021-05-15 Alan Modra <amodra@gmail.com>
1102
1103 * dwarf.c (read_debug_line_header): Delete initial_length_size.
1104 Avoid pointer UB. Keep within length specified by header.
1105 Delete dead code.
1106
1107 2021-05-15 Alan Modra <amodra@gmail.com>
1108
1109 * dwarf.c (process_debug_info): Always do the first CU length
1110 scan for sanity checks. Remove initial_length_size var and
1111 instead calculate end_cu. Use end_cu to limit data reads.
1112 Delete now dead code checking length.
1113
1114 2021-05-15 Alan Modra <amodra@gmail.com>
1115
1116 * dwarf.c (SAFE_BYTE_GET_INTERNAL): Assert only when ENABLE_CHECKING.
1117
1118 2021-05-15 Alan Modra <amodra@gmail.com>
1119
1120 * bucomm.h (_mul_overflow): Define.
1121 * dwarf.c (get_encoded_value): Avoid pointer UB.
1122
1123 2021-05-13 Alan Modra <amodra@gmail.com>
1124
1125 PR 27861
1126 * dwarf.c (display_debug_str_offsets): Sanity check dwarf5
1127 header length.
1128
1129 2021-05-13 Alan Modra <amodra@gmail.com>
1130
1131 PR 27860
1132 * dwarf.c (display_debug_frames): Sanity check cie_off before
1133 attempting to read cie.
1134
1135 2021-05-12 Alan Modra <amodra@gmail.com>
1136
1137 * dwarf.c (process_extended_line_op): Don't bump data pointer past
1138 end when strnlen doesn't find string terminator.
1139 (decode_location_expression): Remove dead code.
1140 (skip_attr_bytes): Remove const from end param. Ensure data
1141 pointer doesn't pass end.
1142 (get_type_signedness): Remove const from end param.
1143 (read_and_display_attr_value): Ensure data pointer doesn't pass end.
1144 (display_debug_lines_raw, display_debug_lines_decoded): Likewise.
1145 (display_debug_pubnames_worker): Likewise.
1146 (display_debug_pubnames_worker): Use SAFE_BYTE_GET_AND INC rather
1147 than blindly incrementing data pointer.
1148 (display_debug_addr, display_debug_str_offsets): Likewise. Don't
1149 compare pointers, compare lengths.
1150
1151 2021-05-12 Alan Modra <amodra@gmail.com>
1152
1153 * dwarf.c (SAFE_BYTE_GET_INTERNAL): Define.
1154 (SAFE_BYTE_GET, SAFE_BYTE_GET_AND_INC): Define using the above.
1155 (SAFE_SIGNED_BYTE_GET, SAFE_SIGNED_BYTE_GET_AND_INC): Likewise.
1156 (display_discr_list): Use SAFE_BYTE_GET_AND_INC rather than
1157 SAFE_BYTE_GET followed by increment.
1158 (process_debug_info): Likewise, and test bytes remaining before
1159 incrementing section_begin rather than using pointer comparison.
1160 (display_debug_names): Pass lvalue as SAFE_BYTE_GET PTR.
1161 (process_cu_tu_index): Likewise for SAFE_BYTE_GET_AND_INC.
1162
1163 2021-05-12 Alan Modra <amodra@gmail.com>
1164
1165 * dwarf.c (dwarf_vmatoa64, SAFE_BYTE_GET64, add64): Delete.
1166 (skip_attr_bytes): Replace use of SAFE_BYTE_GET64 with
1167 SAFE_BYTE_GET_AND_INC.
1168 (read_and_display_attr_value): Likewise. Print using dwarf_vmatoa.
1169 (process_debug_info, process_cu_tu_index): Likewise.
1170 * elfcomm.c (byte_put, byte_put_little_endian, byte_put_big_endian),
1171 (byte_get, byte_get_little_endian, byte_get_big_endian),
1172 (byte_get_signed): Make size param unsigned. Remove code dealing
1173 with 4-byte elf_vma.
1174 (byte_get_64): Delete.
1175 * elfcomm.h (byte_put, byte_put_little_endian, byte_put_big_endian),
1176 (byte_get, byte_get_little_endian, byte_get_big_endian),
1177 (byte_get_signed): Update prototypes.
1178 (byte_get_64): Delete.
1179
1180 2021-05-12 Alan Modra <amodra@gmail.com>
1181
1182 PR 27836
1183 * dwarf.c (display_debug_frames): Don't compare pointers derived
1184 from user input. Test offset against bounds instead.
1185
1186 2021-05-12 Alan Modra <amodra@gmail.com>
1187
1188 PR 27853
1189 * dwarf.c (display_formatted_table): Test for data >= end rather
1190 than data == end.
1191 (process_extended_line_op): Likewise.
1192 (display_debug_lines_raw): Likewise.
1193 (display_debug_lines_decoded): Likewise.
1194
1195 2021-05-12 Alan Modra <amodra@gmail.com>
1196
1197 PR 27849
1198 * dwarf.c (fetch_indexed_string): Correct length sanity checks.
1199 Sanity check section size for version and padding too. Correct
1200 index sanity check. Handle multiple tables in .debug_str_offsets.
1201
1202 2021-05-11 Hans-Peter Nilsson <hp@axis.com>
1203
1204 * dwarf.c (process_abbrev_set): Properly parenthesize before
1205 casting to unsigned long.
1206
1207 2021-05-11 Alan Modra <amodra@gmail.com>
1208
1209 PR 27845
1210 * dwarf.c (process_abbrev_set): Replace start and end parameters
1211 with section, abbrev_base, abbrev_size, abbrev_offset. Update
1212 all callers. Sanity check parameters correctly and emit warnings
1213 here rather than..
1214 (process_debug_info): ..here.
1215
1216 2021-05-10 Thomas Wolff <towo@towo.net>
1217
1218 PR 4356
1219 PR 26865
1220 PR 27594
1221 * windres.c (quot): Revert previous delta. Do not use double
1222 quotes when spaces are detected in options.
1223 * doc/binutils.texi (windres): Remove suggestion that the
1224 --preprocessor option can take arguments.
1225
1226 2021-05-10 Alan Modra <amodra@gmail.com>
1227
1228 * dwarf.c (SAFE_BYTE_GET): Check bounds by subtracting amount from
1229 END rather than adding amount to PTR.
1230 (SAFE_SIGNED_BYTE_GET, SAFE_BYTE_GET64): Likewise.
1231
1232 2021-05-09 Alan Modra <amodra@gmail.com>
1233
1234 * objcopy.c (eq_string): Delete.
1235 (create_symbol_htab): Use htab_eq_string.
1236
1237 2021-05-08 Mike Frysinger <vapier@gentoo.org>
1238
1239 * README-how-to-make-a-release: Update html & pdf entries.
1240
1241 2021-05-08 Mike Frysinger <vapier@gentoo.org>
1242
1243 * doc/Makefile.am (html-local, binutils/index.html): New targets.
1244 * doc/Makefile.in: Regenerate.
1245
1246 2021-05-08 Mike Frysinger <vapier@gentoo.org>
1247
1248 * doc/Makefile.am (AM_MAKEINFOFLAGS): Add --no-split.
1249 * doc/Makefile.in: Regenerate.
1250
1251 2021-05-07 Nick Clifton <nickc@redhat.com>
1252
1253 * readelf.c (no_processor_specific_unwind): New function.
1254 (process_unwind): Use no_processor_specific_unwind for X86
1255 targets.
1256
1257 2021-05-07 Michael Forney <mforney@mforney.org>
1258
1259 * dwarf.c: Don't omit second operand of '?' operator.
1260
1261 2021-04-30 Nick Clifton <nickc@redhat.com>
1262
1263 PR 27796
1264 * dwarf.c (load_debug_sup_file): Allocate memory for filename in
1265 .debug_sup section.
1266
1267 2021-04-29 Nick Clifton <nickc@redhat.com>
1268
1269 PR 27594
1270 * doc/binutils.texi (windres): Correct the description of the
1271 default value of the --preprocessor argument.
1272
1273 2021-04-27 Nick Clifton <nickc@redhat.com>
1274
1275 PR 27779
1276 * dwarf.c (parse_gnu_debuglink): Reject empty names.
1277 (parse_gnu_debugaltlink): Likewise.
1278
1279 2021-04-22 Clément Chigot <clement.chigot@atos.net>
1280
1281 * od-xcoff.c (dump_xcoff32_symbols): Adapt to new
1282 aux structures.
1283
1284 2021-04-21 Nick Lott <nick.lott@gmail.com>
1285
1286 PR 27672
1287 * readelf.c (sym_base): New variable.
1288 (enum print_mode): Add more modes.
1289 (print_vma): Add suport for new modes.
1290 (options): Add sym-base.
1291 (usage): Add sym-base.
1292 (parse_args): Add support for --sym-base.
1293 (print_dynamic_symbol_size): New function.
1294 (print_dynamic_symbol): Use new function.
1295 * doc/binutils.texi: Document the new feature.
1296 * NEWS: Mention the new feature.
1297
1298 2021-04-21 Nick Clifton <nickc@redhat.com>
1299
1300 * testsuite/binutils-all/mips/global-local-symtab-sort-n64t.d:
1301 Adjust expected output to allow for named section symbols.
1302 * testsuite/binutils-all/mips/global-local-symtab-sort-o32t.d:
1303 Likewise.
1304 * testsuite/binutils-all/readelf.s-64: Likewise.
1305 * testsuite/binutils-all/readelf.ss-64-unused: Likewise.
1306 * testsuite/binutils-all/readelf.ss-tmips: Likewise.
1307 * testsuite/binutils-all/readelf.ss-unused: Likewise.
1308
1309 2021-04-21 Luo Longjun <luolongjun@huawei.com>
1310
1311 * readelf.c (print_dynamic_symbol): Print the section name for
1312 section symbols without a name of their own.
1313
1314 2021-04-20 Andreas Krebbel <krebbel@linux.ibm.com>
1315
1316 * MAINTAINERS: Remove Martin Schwidefsky as s390 maintainer and
1317 add him to Past Maintainers.
1318 Update my email address.
1319
1320 2021-04-19 Nick Clifton <nickc@redhat.com>
1321
1322 PR 21702
1323 * arsup.c (ar_addmod): Enable plugin support, if available.
1324
1325 2021-04-19 Nick Clifton <nickc@redhat.com>
1326
1327 * rename.c: (get_stat_atime_ns): Add prototype.
1328 (get_stat_mtime_ns): Add prototype.
1329
1330 2021-04-16 Alan Modra <amodra@gmail.com>
1331
1332 PR 27725
1333 * rename.c (get_stat_atime, get_stat_mtime): Make static.
1334 (get_stat_atime_ns, get_stat_mtime_ns): Likewise.
1335
1336 2021-04-15 Pekka Seppänen <pexu@sourceware.mail.kapsi.fi>
1337
1338 PR 27725
1339 * rename.c (get_stat_atime_ns): Add ATTRIBUTE_UNUSED.
1340 (get_stat_mtime_ns): Likewise.
1341
1342 2021-04-15 Alan Modra <amodra@gmail.com>
1343
1344 PR 27725
1345 * configure.ac: Check for sys/time.h and utimensat. Use standard
1346 checks for mkstemp and mkdtemp. Whitespace. Check for nanosecond
1347 members of struct stat.
1348 * rename.c: Prefer sys/time.h for utimes over utime.h for utime.
1349 (STAT_TIMESPEC, STAT_TIMESPEC_NS): Define
1350 (get_stat_atime_ns, get_stat_mtime_ns): New inline functions.
1351 (get_stat_atime, get_stat_mtime): Likewise.
1352 (set_times): Choose first available of utimensat, utimes, utime.
1353 Use above inline functions to set timespec and timeval values.
1354 * configure: Regenerate.
1355 * config.in: Regenerate.
1356 * testsuite/binutils-all/objcopy.exp (objcopy_test): Add test of
1357 file timestamp when --preserve-dates is used.
1358
1359 2021-04-15 Alan Modra <amodra@gmail.com>
1360
1361 PR 27456
1362 * rename.c (smart_rename): When TO and FROM are equal, just set
1363 file timestamp.
1364 * objcopy.c (strip_main, copy_main): Always call smart_rename.
1365
1366 2021-04-14 H.J. Lu <hongjiu.lu@intel.com>
1367
1368 PR binutils/27708
1369 * testsuite/binutils-all/x86-64/pr27708.dump: New file.
1370 * testsuite/binutils-all/x86-64/pr27708.exe.bz2: Likewise.
1371 * testsuite/binutils-all/x86-64/x86-64.exp: Run binutils/27708
1372 test.
1373
1374 2021-04-14 Mark Harmstone <mark@harmstone.com>
1375
1376 PR 27686
1377 * resbin.c (bin_to_res_version): Ignore any trailing bytes at the
1378 end of the structure.
1379
1380 2021-04-14 Frederic Cambus <fred@statdns.com>
1381
1382 * readelf.c (get_netbsd_elfcore_note_type): Remove unneeded #ifdef
1383 checks for NT_NETBSDCORE_AUXV and NT_NETBSDCORE_LWPSTATUS.
1384
1385 2021-04-14 Alan Modra <amodra@gmail.com>
1386
1387 PR 27716
1388 * objdump.c (show_line): Don't limit paths to PATH_MAX.
1389 * readelf.c (struct filedata): Change program_interpreter from
1390 a char array to a char pointer.
1391 (process_program_headers): Sanity check PT_INTERP p_filesz.
1392 Malloc program_interpreter using p_filesz and read directly from
1393 file.
1394 (process_dynamic_section): Check program_interpreter is non-NULL.
1395 (free_filedata): New function, split out from..
1396 (process_object): ..here.
1397 (close_debug_file): Call free_filedata.
1398 * sysdep.h: Don't include sys/param.h.
1399 (PATH_MAX): Don't define.
1400 * configure.ac: Don't check for sys/param.h.
1401 * configure: Regenerate.
1402
1403 2021-04-13 Frederic Cambus <fred@statdns.com>
1404
1405 * readelf.c (process_netbsd_elf_note): Remove now unneeded #ifdef
1406 check for NT_NETBSD_PAX.
1407
1408 2021-04-12 Alan Modra <amodra@gmail.com>
1409
1410 * configure.ac (--enable-checking): Add support.
1411 * config.in: Regenerate.
1412 * configure: Regenerate.
1413
1414 2021-04-09 Alan Modra <amodra@gmail.com>
1415
1416 * objdump.c (struct objdump_disasm_info): Delete dynrelbuf and
1417 dynrelcount.
1418 (find_symbol_for_address): Adjust for dynrelbuf and dynrelcount move.
1419 (disassemble_section, disassemble_data): Likewise.
1420
1421 2021-04-06 Alan Modra <amodra@gmail.com>
1422
1423 * objdump.c (objdump_symbol_at_address): Return asymbol*.
1424
1425 2021-04-06 Alan Modra <amodra@gmail.com>
1426
1427 * NEWS: Mention C99 requirement.
1428 * README: Likewise. Modernise examples and "Reporting bugs".
1429
1430 2021-04-05 Alan Modra <amodra@gmail.com>
1431
1432 * configure.ac: Assume long long is available. Don't test for
1433 strings.h, stdlib.h, limits.h, locale.h, or wchar.h. Check
1434 inttypes.h, stdint.h, sys/stat.h and sys/types.h. Don't check for
1435 strcoll, setlocale, setmode or location of time_t. Don't check
1436 for fprintf, getenv, snprintf, strnlen, strstr or vsnprintf decls.
1437 (AC_ISC_POSIX, AXC_HEADER_STRING, AC_FUNC_ALLOCA): Don't invoke.
1438 * sysdep.h: Don't include alloca-conf.h, include config.h instead.
1439 Test HAVE_SYS_TYPES_H and reorder includes. Include limits.h,
1440 locale.h, string.h and stdlib.h unconditionally. Remove various
1441 fallback declarations. Assume long long is available.
1442 * addr2line.c: Don't test HAVE_SETLOCALE.
1443 * ar.c: Likewise.
1444 * coffdump.c: Likewise.
1445 * dlltool.c: Likewise.
1446 * dllwrap.c: Likewise.
1447 * elfedit.c: Likewise.
1448 * nm.c: Likewise.
1449 * objcopy.c: Likewise.
1450 * objdump.c: Likewise.
1451 * readelf.c: Likewise.
1452 * size.c: Likewise.
1453 * srconv.c: Likewise.
1454 * strings.c: Likewise.
1455 * sysdump.c: Likewise.
1456 * windmc.c: Likewise.
1457 * windres.c: Likewise.
1458 * bucomm.c: Don't test HAVE_TIME_T_IN_TIME_H or HAVE_TIME_T_IN_TYPES_H.
1459 * dwarf.c: Include limits.h unconditionally. Assume long long
1460 is available.
1461 * nm.c: Don't test HAVE_STRCOLL.
1462 * readelf.c: Don't test HAVE_WCHAR_H.
1463 * strings.c: Assume long long is available.
1464 * syslex.l: Include string.h unconditionally.
1465 * aclocal.m4: Regenerate.
1466 * config.in: Regenerate.
1467 * configure: Regenerate.
1468 * Makefile.in: Regenerate.
1469 * doc/Makefile.in: Regenerate.
1470
1471 2021-04-01 Martin Liska <mliska@suse.cz>
1472
1473 * elfcomm.h (strneq): Remove strneq and use startswith.
1474 * readelf.c (ia64_process_unwind): Likewise.
1475 (process_note): Likewise.
1476
1477 2021-04-01 Martin Liska <mliska@suse.cz>
1478
1479 * dllwrap.c: Use startswith function.
1480 * objcopy.c (is_dwo_section): Likewise.
1481 (handle_remove_section_option): Likewise.
1482 (copy_main): Likewise.
1483 * objdump.c (is_significant_symbol_name): Likewise.
1484
1485 2021-04-01 Martin Liska <mliska@suse.cz>
1486
1487 * dwarf.c (display_debug_lines_raw): Replace const_strneq with
1488 startswith.
1489 (display_debug_lines_decoded): Likewise.
1490 (display_debug_links): Likewise.
1491 * elfcomm.c (setup_archive): Likewise.
1492 * elfcomm.h (const_strneq): Likewise.
1493 * readelf.c (process_section_headers): Likewise.
1494 (slurp_ia64_unwind_table): Likewise.
1495 (slurp_hppa_unwind_table): Likewise.
1496 (decode_arm_unwind): Likewise.
1497 (display_debug_section): Likewise.
1498 (process_note): Likewise.
1499
1500 2021-03-31 Alan Modra <amodra@gmail.com>
1501
1502 * sysdep.h (POISON_BFD_BOOLEAN): Define.
1503 * addr2line.c, * ar.c, * arsup.c, * bfdtest2.c, * binemul.c,
1504 * binemul.h, * bucomm.c, * bucomm.h, * budbg.h, * coffgrok.c,
1505 * debug.c, * debug.h, * dlltool.c, * dwarf.c, * dwarf.h,
1506 * elfedit.c, * emul_aix.c, * mclex.c, * nm.c, * objcopy.c,
1507 * objdump.c, * od-macho.c, * prdbg.c, * rdcoff.c, * rddbg.c,
1508 * readelf.c, * rename.c, * stabs.c, * strings.c, * windint.h,
1509 * windmc.c, * windmc.h, * windres.c, * winduni.c,
1510 * wrstabs.c: Replace bfd_boolean with bool, FALSE with false,
1511 and TRUE with true throughout.
1512
1513 2021-03-31 Alan Modra <amodra@gmail.com>
1514
1515 * coffdump.c: Include stdint.h in place of bfd_stdint.h.
1516 * dwarf.c: Likewise.
1517
1518 2021-03-31 Alan Modra <amodra@gmail.com>
1519
1520 * prdbg.c (pr_function_type): Replace LITSTTCPY with strcpy.
1521
1522 2021-03-29 Alan Modra <amodra@gmail.com>
1523
1524 * dlltool.c (main): Don't use "boolean_condition ? TRUE : FALSE".
1525 * dwarf.c (read_and_display_attr_value): Likewise.
1526 (display_debug_str_offsets): Likewise.
1527 * objdump.c (dump_bfd): Likewise.
1528 * readelf.c (dump_section_as_strings): Likewise.
1529 (dump_section_as_bytes): Likewise.
1530
1531 2021-03-29 Alan Modra <amodra@gmail.com>
1532
1533 * objdump.c (process_links): Use type int.
1534 * readelf.c (request_dump): Don't increment do_dump, set it.
1535 * windint.h (target_is_bigendian): Use type bfd_boolean.
1536 * windmc.c (target_is_bigendian): Likewise.
1537 * windres.c (target_is_bigendian): Likewise.
1538
1539 2021-03-22 Martin Liska <mliska@suse.cz>
1540
1541 * dlltool.c (scan_drectve_symbols): Replace usage of CONST_STRNEQ
1542 with startswith.
1543 * emul_aix.c (ar_emul_aix_parse_arg): Likewise.
1544 * objcopy.c (is_mergeable_note_section): Likewise.
1545 * objdump.c (dump_dwarf_section): Likewise.
1546 * prdbg.c (pr_method_type): Likewise.
1547 (pr_class_baseclass): Likewise.
1548 (tg_class_baseclass): Likewise.
1549 * readelf.c (process_lto_symbol_tables): Likewise.
1550 * stabs.c (ULLHIGH): Likewise.
1551 (parse_stab_argtypes): Likewise.
1552 (stab_demangle_function_name): Likewise.
1553
1554 2021-03-19 H.J. Lu <hongjiu.lu@intel.com>
1555
1556 * readelf.c (get_machine_name): Add EM_INTELGT.
1557
1558 2021-03-18 Nick Clifton <nickc@redhat.com>
1559
1560 PR 27478
1561 * readelf.c (dump_section_as_strings): Mention separate filename.
1562 (dump_section_as_bytes): Likewise.
1563 (dump_section_as_ctf): Likewise.
1564 (initialise_dumkps_byname): Only issue a warning for missing
1565 sections if processing the main file.
1566 (process_section_contents): Only issue a warning for unsumped
1567 section numbers in the main file.
1568 (initialise_dump_sects): New function. Contains code extracted
1569 from ...
1570 (process_object): ... here. Also call initialise_dump_sects for
1571 separate files.
1572
1573 2021-03-16 Nick Clifton <nickc@redhat.com>
1574
1575 PR 27534
1576 * readelf.c (display_debug_section): Also retain .debug_addr
1577 sections.
1578
1579 2021-03-16 Nick Clifton <nickc@redhat.com>
1580
1581 PR 27533
1582 * readelf.c (process_section_contents): Only dump debug
1583 information for separate files unless process_links is enabled.
1584 (process_object): Always call process_section_contents for
1585 separate info files.
1586
1587 2021-03-15 Nick Clifton <nickc@redhat.com>
1588
1589 PR 27487
1590 * nm.c (FORMAT_JUST_SYMBOLS): Define.
1591 (struct optput_fns): Add entry for FORMAT_JUST_SYMBOLS.
1592 (long_options): Add just-symbols.
1593 (set_output_format): Add support for just-symbols.
1594 (get_print_format): Likewise.
1595 (do_not_print_object_filename): New function.
1596 (do_not_print_archive_filename): New function.
1597 (do_not_print_archive_member): New function.
1598 (do_not_print_symbol_filename): New function.
1599 (just_print_symbol_name): New function.
1600 (main): Handle --just-symbols.
1601 * NEWS: Mention the new feature.
1602 * doc/binutils.texi: Document the new feature.
1603
1604 2021-03-12 Clément Chigot <clement.chigot@atos.net>
1605
1606 * od-xcoff.c: Replace RTB by TRL entry.
1607
1608 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
1609 Andrew Burgess <andrew.burgess@embecosm.com>
1610
1611 * readelf.c (get_note_type): Handle NT_RISCV_CSR.
1612
1613 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
1614 Andrew Burgess <andrew.burgess@embecosm.com>
1615
1616 * readelf.c (get_note_type): Handle NT_GDB_TDESC.
1617
1618 2021-03-05 Nick Clifton <nickc@redhat.com>
1619
1620 PR 27387
1621 * dwarf.c (display_debug_macro): Handle the displaying of
1622 DW_MACRO_define_strp and DW_MACRO_undef_strp in v4
1623 .debug_macro.dwo sections.
1624
1625 2021-03-04 Nick Clifton <nickc@redhat.com>
1626
1627 PR 27478
1628 * objdump.c (process_links): New variable.
1629 (usage): Add --process-links.
1630 (long_options): Likewise.
1631 (dump_bfd): Stop processing once the bfd has been loaded unless
1632 this is the main file or process_links has been enabled.
1633 (main): Handle the process-links option.
1634 * readelf.c (process_links): New variable.
1635 (struct filedata): Add is_separate field.
1636 (options): Add --process-links.
1637 (usage): Likewise.
1638 (parse_args): Likewise.
1639 (process_file_header): Include the filename when dumping
1640 information for separate debuginfo files.
1641 (process_program_headers): Likewise.
1642 (process_section_headers): Likewise.
1643 (process_section_groups): Likewise.
1644 (process_relocs): Likewise.
1645 (process_dynamic_section): Likewise.
1646 (process_version_sections): Likewise.
1647 (display_lto_symtab): Likewise.
1648 (process_symbol_table): Likewise.
1649 (process_syminfo): Likewise.
1650 (initialise_dumps_by_name): Likewise.
1651 (process_section_contents): Likewise.
1652 (process_notes_at): Likewise.
1653 (process_notes): Likewise.
1654 (open_file): Add is_separate parameter. Use to initialise the
1655 is_separate field in the filedata structure.
1656 (open_deug): Update call to open_file.
1657 (process_object): Add processing of the contents of separate
1658 debuginfo files, gated by the process_links variable.
1659 (process_archive): Update call to open_file.
1660 (process_file): Initialise the is_separate field in the filedata
1661 structure.
1662 * dwarf.c (load_separate_debug_info_file): Only report the
1663 loading of a separate file if debug links are being dumped.
1664 * objcopy.c (keep_section_symbols): New variable.
1665 (enum command_line_switch): Add OPTION_KEEP_SYMBOLS.
1666 (strip_options): Add keep-section-symbols.
1667 (copy_options): Likewise.
1668 (copy_usage): Likewise.
1669 (strip_usage): Likewise.
1670 (copy_object): Keep section symbols if requested by command line
1671 option.
1672 (strip_main): Handle --keep-section-symbols.
1673 (copy_main): Likewise.
1674 * doc/binutils.texi: Document the new options.
1675 * NEWS: Mention the new features.
1676 * testsuite/binutils-all/compress.exp (test_gnu_debuglink):
1677 Update options passed to objdump. Use diff rather than cmp to
1678 compare the dumped data.
1679 * testsuite/binutils-all/objdump.WK2: Update regexp.
1680 * testsuite/binutils-all/objdump.WK3: Update regexp.
1681 * testsuite/binutils-all/objdump.exp: Use --process-links
1682 instead of --dwarf=follow-links.
1683 * testsuite/binutils-all/readelf.exp (readelf_test): Include
1684 readelf's output in the log when the test fails.
1685 Add the -P option to the -wKis test.
1686 * testsuite/binutils-all/readelf.wKis: Update expected output.
1687
1688 2021-03-03 Alan Modra <amodra@gmail.com>
1689
1690 PR 27493
1691 * objcopy.c (filter_symbols): Apply --weaken to undefined symbols.
1692 * NEWS: Mention feature.
1693
1694 2021-03-01 H.J. Lu <hongjiu.lu@intel.com>
1695
1696 PR binutils/27486
1697 * dwarf.c (load_separate_debug_info): Issue warning only if
1698 do_debug_links is set.
1699 * testsuite/binutils-all/compress.exp: Run objdump and readelf
1700 with missing debug file.
1701
1702 2021-03-01 Alan Modra <amodra@gmail.com>
1703
1704 PR 27128
1705 * doc/binutils.texi: Add nm --with-symbol-versions and
1706 --without-symbol-versions documentation.
1707 * nm.c (with_symbol_versions): New variable.
1708 (enum long_option_values): Delete OPTION_WITH_SYMBOL_VERSIONS.
1709 (long_options): Make --with-symbol-versions entry twiddle the flag.
1710 Add --without-symbol-versions.
1711 (print_symname): Strip version when !with_symbol_versions. Add
1712 dynamic version info under control of with_symbol_versions.
1713 (main): Remove OPTION_WITH_SYMBOL_VERSIONS case.
1714
1715 2021-02-26 Fangrui Song <maskray@google.com>
1716
1717 PR 27408
1718 * readelf.c (quiet): New option flag.
1719 (enum long_option_values): New enum to hold long option value.
1720 (long_options): Add --quiet.
1721 (usage): Mention --quiet.
1722 (display_rel_file): If quiet is enabled, suppress "no symbols".
1723 (main): Handle the new option.
1724 * NEWS: Mention --quiet.
1725 * docs/binutils.texi: Document --quiet.
1726
1727 2021-02-26 Tom de Vries <tdevries@suse.de>
1728
1729 * dwarf.c (display_debug_addr): Handle dwarf-5 .debug_addr bits.
1730
1731 2021-02-26 Tom de Vries <tdevries@suse.de>
1732
1733 PR 27390
1734 * dwarf.c: (skip_attr_bytes): Add support for DW_FORM_str* and
1735 DW_FORM_addrx*.
1736 (read_and_display_attr_value): Likewise.
1737
1738 2021-02-25 Nick Clifton <nickc@redhat.com>
1739
1740 * dwarf.c (get_type_abbrev_from_form): Accept but ignore sup
1741 forms.
1742 (read_and_display_attr_value): Handle sup forms.
1743 (display_debug_sup): New function. Displays the contents of a
1744 .debug_sup section.
1745 (load_debug_sup_file): New function. Loads the contents of a file
1746 referenced by a .debug_sup section.
1747 (check_for_and_load_links): Call load_debug_sup_file.
1748 (debug_displays): Add entry for .debug_sup.
1749 * dwarf.h (enum dwarf_section_display_enum): Add debug_sup.
1750 * readelf.c (process_section_headers): Add support for debug_sup.
1751 * doc/debug.options.texi: Note that the =links option will display
1752 the contents of .debug_sup sections.
1753 * NEWS: Mention the new support.
1754
1755 2021-02-25 Alan Modra <amodra@gmail.com>
1756
1757 PR 27456
1758 * rename.c (simple_copy): Mark target_stat ATTRIBUTE_UNUSED.
1759
1760 2021-02-24 Nick Clifton <nickc@redhat.com>
1761
1762 PR 27285
1763 * od-elf32_avr.c (elf32_avr_get_memory_usage): Check for overflows
1764 when adding together the section sizes.
1765
1766 2021-02-24 Nick Clifton <nickc@redhat.com>
1767
1768 * objcopy.c (merge_gnu_build_notes): Remove support for v1/v2 GNU
1769 build notes.
1770 * readelf.c (print_gnu_build_attribute_description): Likewise.
1771
1772 2021-02-24 Alan Modra <amodra@gmail.com>
1773 Siddhesh Poyarekar <siddhesh@gotplt.org>
1774
1775 PR 27456
1776 * bucomm.h (smart_rename): Update prototype.
1777 * rename.c (smart_rename): Add fromfd and preserve_dates params.
1778 Pass fromfd and target_stat to simple_copy. Call set_times
1779 when preserve_dates.
1780 (simple_copy): Accept fromfd rather than from filename. Add
1781 target_stat param. Rewind fromfd rather than opening. Open
1782 "to" file without O_CREAT. Try to preserve S_ISUID and S_ISGID.
1783 * ar.c (write_archive): Rename ofd to tmpfd. Dup tmpfd before
1784 closing output temp file, and pass tmpfd to smart_rename.
1785 * arsup.c (temp_fd): Rename from real_fd.
1786 (ar_save): Dup temp_fd and pass to smart_rename.
1787 * objcopy.c (strip_main, copy_main): Likewise, and pass
1788 preserve_dates.
1789
1790 2021-02-24 Alan Modra <amodra@gmail.com>
1791
1792 PR 27456
1793 * rename.c: Tidy throughout.
1794 (smart_rename): Always copy. Remove windows specific code.
1795
1796 2021-02-20 Alan Modra <amodra@gmail.com>
1797
1798 * testsuite/lib/binutils-common.exp: Whitespace fixes throughout.
1799 (run_dump_test): Fail if expecting errors from a file like we do
1800 for error strings, if no error is seen.
1801
1802 2021-02-19 Alan Modra <amodra@gmail.com>
1803
1804 * testsuite/binutils-all/readelf.exp (pr26548): Run for 32-bit too.
1805
1806 2021-02-19 Siddhesh Poyarekar <siddhesh@gotplt.org>
1807
1808 * ar.c (write_archive): Remove TARGET_STAT. Adjust call to
1809 SMART_RENAME.
1810 * arsup.c (ar_save): Likewise.
1811 * objcopy (strip_main): Don't copy TMPFD. Don't set times on
1812 temporary file and adjust call to SMART_RENAME.
1813 (copy_main): Likewise.
1814 * rename.c [!S_ISLNK]: Remove definitions.
1815 (try_preserve_permissions): Remove function.
1816 (smart_rename): Remove FD, PRESERVE_DATES arguments. Use
1817 rename system call only if TO does not exist.
1818 * bucomm.h (smart_rename): Adjust declaration.
1819
1820 2021-02-18 Nick Clifton <nickc@redhat.com>
1821
1822 * objcopy.c (merge_gnu_build_notes): Handle notes with a start
1823 address that is higher than the end address.
1824
1825 2021-02-17 Alan Modra <amodra@gmail.com>
1826
1827 * dwarf.c: Include limits.h.
1828 (CHAR_BIT): Provide backup define.
1829 (read_leb128): Use CHAR_BIT to size "result" in bits. Correct
1830 signed overflow checking.
1831 * testsuite/binutils-all/pr26548.s,
1832 * testsuite/binutils-all/pr26548.d,
1833 * testsuite/binutils-all/pr26548e.d: New tests.
1834 * testsuite/binutils-all/readelf.exp: Run them.
1835 (readelf_test): Drop unused "xfails" parameter. Update all uses.
1836
1837 2021-02-16 Jan Beulich <jbeulich@suse.com>
1838
1839 * dwarf.c (process_debug_info): Initialize "dwo_id".
1840
1841 2021-02-15 Alan Modra <amodra@gmail.com>
1842
1843 * objdump.c (load_specific_debug_section): Don't call
1844 bfd_cache_section_contents. Rearrange so that
1845 bfd_get_full_section_contents is not called on path where
1846 bfd_simple_get_relocated_section_contents is called.
1847 Don't set section->user_data.
1848 (free_debug_section): Always free section->start. Don't twiddle
1849 section flags.
1850 * readelf.c (load_specific_debug_section): Don't set user_data.
1851 * dwarf.h (struct dwarf_section): Remove use_data field.
1852 * dwarf.c (NO_ABBREVS, ABBREV): Adjust to suit.
1853
1854 2021-02-15 Alan Modra <amodra@gmail.com>
1855
1856 * testsuite/binutils-all/compress.exp: Remove nds32 xfails.
1857 * testsuite/binutils-all/objdump.exp: Likewise.
1858
1859 2021-02-14 Alan Modra <amodra@gmail.com>
1860
1861 * objdump.c (slurp_symtab): Don't add an extra entry for NULL
1862 to the symbol array.
1863 (slurp_dynamic_symtab): Likewise.
1864 (dump_bfd): Formatting. Copy terminating NULL from extra_syms.
1865
1866 2021-02-14 Alan Modra <amodra@gmail.com>
1867
1868 * Makefile.in: Regenerate.
1869 * doc/Makefile.in: Regenerate.
1870
1871 2021-02-13 Mike Frysinger <vapier@gentoo.org>
1872
1873 * aclocal.m4: Regenerate.
1874
1875 2021-02-12 Nick Clifton <nickc@redhat.com>
1876
1877 * configure.ac (follow-debug-links): Add option to enable or
1878 disable the following of debug links by default. Set the
1879 default for the option to be 'follow'.
1880 * dwarf.c (do_follow_links): Initialise with DEFAULT_FOR_FOLLOW_LINKS.
1881 (dwarf_select_sections_by_names): Add no-follow-links option.
1882 (dwarf_select_sections_by_letter): Add 'N' option.
1883 * objdump.c (usage): Add conditional text describing the
1884 follow links option.
1885 (slurp_symtab): Ensure that there is a NULL entry at the end
1886 of the symbol table.
1887 (slurp_dynamic_symtab): Likewise.
1888 (dump_bfd): When extending the symbol table, ensure that there
1889 is still a NULL entry at the end.
1890 * readelf.c (usage): Add conditional text describing the
1891 follow links option.
1892 * doc/binutils.texi: Update documentation for objcopy and
1893 readelf.
1894 * doc/debug.options.texi: Update documentation of the
1895 follow-links option.
1896 * config.in: Regenerate.
1897 * configure: Regenerate.
1898 * testsuite/binutils-all/compress.exp: Add the -WN option to
1899 objdump command lines that are not expecting to follow links.
1900 * testsuite/binutils-all/readelf.exp: Add the
1901 --debug-dump=no-follow-links option to tests that are not
1902 expecting to follow debug links.
1903 * NEWS: Mention the new behaviour.
1904
1905 2021-02-12 Alan Modra <amodra@gmail.com>
1906
1907 * testsuite/binutils-all/objcopy.exp: Report "unsupported" when
1908 gas or ld fails to build a testcase rather than "unresolved".
1909 Report "fail" when readelf returns an error status rather than
1910 "unresolved".
1911 * testsuite/binutils-all/ar.exp: Likewise.
1912 * testsuite/binutils-all/compress.exp: Likewise.
1913 * testsuite/binutils-all/readelf.exp: Likewise.
1914
1915 2021-02-12 Alan Modra <amodra@gmail.com>
1916
1917 * testsuite/binutils-all/pr25662.s: Replace "a" with "aaa" and
1918 "c" with "ccc" labels.
1919
1920 2021-02-12 Tom de Vries <tdevries@suse.de>
1921
1922 * dwarf.h (debug_info): Fix typo in comment.
1923
1924 2021-02-12 Tom de Vries <tdevries@suse.de>
1925
1926 * dwarf.c (display_debug_str_offsets): Handle multiple sets of
1927 entries.
1928
1929 2021-02-12 Tom de Vries <tdevries@suse.de>
1930
1931 * dwarf.c (process_debug_info): Print DWO ID.
1932
1933 2021-02-11 Alan Modra <amodra@gmail.com>
1934
1935 PR 27290
1936 PR 27293
1937 PR 27295
1938 * od-elf32_avr.c (elf32_avr_get_note_section_contents): Formatting.
1939 Use bfd_malloc_and_get_section.
1940 (elf32_avr_get_note_desc): Formatting. Return descsz. Sanity
1941 check namesz. Return NULL if descsz is too small. Ensure
1942 string table is terminated.
1943 (elf32_avr_get_device_info): Formatting. Add note_size param.
1944 Sanity check note.
1945 (elf32_avr_dump_mem_usage): Adjust to suit.
1946
1947 2021-02-10 Tom de Vries <tdevries@suse.de>
1948
1949 PR binutils/27391
1950 * dwarf.c (load_dwo_file): Handle case that name is absolute path.
1951
1952 2021-02-10 Tom de Vries <tdevries@suse.de>
1953
1954 PR binutils/27371
1955 * dwarf.c (display_debug_ranges): Filter range lists according to
1956 section.
1957
1958 2021-02-09 Tom de Vries <tdevries@suse.de>
1959
1960 PR binutils/27370
1961 * dwarf.c (get_type_abbrev_from_form): Handle DW_FORM_ref_sig8.
1962
1963 2021-02-09 Tom de Vries <tdevries@suse.de>
1964
1965 PR binutils/27386
1966 * dwarf.c (process_debug_info): Handling DW_UT_skeleton and
1967 DW_UT_split_compile.
1968
1969 2021-02-09 Alan Modra <amodra@gmail.com>
1970
1971 * testsuite/lib/binutils-common.exp (supports_gnu_osabi): Remove
1972 symbianelf.
1973
1974 2021-02-07 Alan Modra <amodra@gmail.com>
1975
1976 * unwind-ia64.c (unw_print_xyreg): Don't leave output buffer
1977 uninitialised on invalid input.
1978
1979 2021-02-06 Alan Modra <amodra@gmail.com>
1980
1981 PR 27349
1982 * rename.c (smart_rename): Test for existence and type of output
1983 file with lstat.
1984
1985 2021-02-05 Nick Clifton <nickc@redhat.com>
1986
1987 * MAINTAINERS: Remove Richard Henderson as the ALPHA maintainer.
1988
1989 2021-02-05 Eli Zaretskii <eliz@gnu.org>
1990
1991 PR 27252
1992 * elfedit.c (check_file):
1993 * bucomm.c (get_file_size): Fix typos in comments.
1994
1995 2021-02-05 Alan Modra <amodra@gmail.com>
1996
1997 PR 27345
1998 * arsup.c (ar_save): Use stat rather than lstat.
1999
2000 2021-02-03 Alan Modra <amodra@gmail.com>
2001
2002 PR 27270
2003 PR 27284
2004 PR 26945
2005 * ar.c: Don't include libbfd.h.
2006 (write_archive): Replace xmalloc+strcpy with xstrdup. Use
2007 bfd_stat rather than fstat on iostream. Move stat and fd tests
2008 outside of _WIN32 ifdef. Delete skip_stat variable.
2009 * arsup.c (temp_name, real_ofd): New static variables.
2010 (ar_open): Use make_tempname and bfd_fdopenw.
2011 (ar_save): Adjust to suit ar_open changes. Move stat output
2012 of _WIN32 ifdef.
2013 * objcopy.c: Don't include libbfd.h.
2014 (copy_file): Use bfd_stat.
2015
2016 2021-02-02 H.J. Lu <hongjiu.lu@intel.com>
2017
2018 PR binutils/27281
2019 * readelf.c (process_section_headers): Add 'R' and 'D' to
2020 "Key to Flags:".
2021 * testsuite/binutils-all/retain1a.d: Updated.
2022
2023 2021-01-30 Nick Clifton <nickc@redhat.com>
2024
2025 * README-how-to-make-a-release: Small updates after the 2.35.2
2026 release.
2027
2028 2021-01-28 Eli Zaretskii <eliz@gnu.org>
2029
2030 PR 4356
2031 * windres.c (quot): Use double quotes to protect strings on
2032 Windows platforms.
2033
2034 2021-01-28 Eli Zaretskii <eliz@gnu.org>
2035
2036 PR 27252
2037 * bucomm.c (get_file_size): Add code to handle /dev/null on
2038 Windows systems.
2039 * elfedit.c (check_file): Likewise.
2040
2041 2021-01-27 Nick Clifton <nickc@redhat.com>
2042
2043 * objcopy.c (copy_main): Remove conditional control of the calls
2044 to free, simplifying the code and making it easier to detect
2045 typos.
2046
2047 2021-01-26 Frederic Cambus <fred@statdns.com>
2048
2049 * objcopy.c (copy_main): Fix a double free happening when both
2050 --localize-symbols and --globalize-symbols options are invoked
2051 together.
2052
2053 2021-01-24 Nick Clifton <nickc@redhat.com>
2054
2055 * README-how-to-make-a-release: Minor updates after the 2.36 release.
2056
2057 2021-01-16 Alan Modra <amodra@gmail.com>
2058
2059 * readelf.c (uncompress_section_contents): Tidy inflateEnd result test.
2060
2061 2021-01-15 Alan Modra <amodra@gmail.com>
2062
2063 PR 26539
2064 * readelf.c (uncompress_section_contents): Always call inflateEnd.
2065
2066 2021-01-14 Alexandre Oliva <oliva@gnu.org>
2067
2068 * MAINTAINERS: Update my email address.
2069
2070 2021-01-14 Nick Clifton <nickc@redhat.com>
2071
2072 * po/sv.po: Updated Swedish translation.
2073
2074 2021-01-13 Alan Modra <amodra@gmail.com>
2075
2076 * Makefile.in: Regenerate.
2077 * doc/Makefile.in: Regenerate.
2078
2079 2021-01-13 Zebediah Figura <z.figura12@gmail.com>
2080
2081 PR 27037
2082 * dlltool.c (i386_trampoline): Adjust %rsp immediately on entry
2083 and before exit.
2084 (i386_x64_trampoline): Add SEH annotations.
2085 (struct mac): Add how_seh field.
2086 (make_delay_head): If how_set field is true add SEh instructions.
2087
2088 2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
2089
2090 PR binutils/26792
2091 * configure.ac: Use GNU_MAKE_JOBSERVER.
2092 * aclocal.m4: Regenerated.
2093 * configure: Likewise.
2094
2095 2021-01-12 Nick Clifton <nickc@redhat.com>
2096
2097 * po/fr.po: Updated French translation.
2098
2099 2021-01-11 H.J. Lu <hongjiu.lu@intel.com>
2100
2101 PR ld/27173
2102 * configure: Regenerated.
2103
2104 2021-01-11 Nick Clifton <nickc@redhat.com>
2105
2106 * po/pt.po: Updated Portuguese translation.
2107 * po/sr.po: Updated Serbian translation.
2108 * po/uk.po: Updated Ukranian translation.
2109
2110 2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
2111
2112 * configure: Regenerated.
2113
2114 2021-01-09 Nick Clifton <nickc@redhat.com>
2115
2116 * configure: Regenerate.
2117 * po/binutils.pot: Regenerate.
2118
2119 2021-01-09 Nick Clifton <nickc@redhat.com>
2120
2121 * 2.36 release branch crated.
2122 * README-how-to-make-a-release: Add note about updating Makefiles
2123 and libtool files.
2124 * BRANCHES: Add binutils-2.36-branch.
2125
2126 2021-01-09 Alan Modra <amodra@gmail.com>
2127
2128 * configure: Regenerate.
2129
2130 2021-01-07 Samuel Thibault <samuel.thibault@gnu.org>
2131
2132 * configure: Regenerate.
2133
2134 2021-01-07 H.J. Lu <hongjiu.lu@intel.com>
2135
2136 PR 27109
2137 * objcopy.c (copy_object): Handle section symbols for
2138 non-relocatable inputs.
2139 * testsuite/binutils-all/readelf.exp (readelf_test): Check
2140 is_elf_unused_section_symbols.
2141 * testsuite/binutils-all/readelf.s-64: Updated.
2142 * testsuite/binutils-all/readelf.ss: Likewise.
2143 * testsuite/binutils-all/readelf.ss-64: Likewise.
2144 * testsuite/binutils-all/readelf.s-64-unused: New file.
2145 * testsuite/binutils-all/readelf.ss-64-unused: Likewise.
2146 * testsuite/binutils-all/readelf.ss-unused: Likewise.
2147 * testsuite/lib/binutils-common.exp
2148 (is_elf_unused_section_symbols): New proc.
2149
2150 2021-01-06 Reuben Thomas <rrt@sc3d.org>
2151
2152 * binutils/readelf.c: Correct grammar in comment.
2153
2154 2021-01-01 Nicolas Boulenguez <nicolas@debian.org>
2155
2156 * coffgrok.c (do_type): Correct spelling of auxiliary in errors.
2157 * doc/binutils.texi: Correct grammar.
2158 * readelf.c (process_version_sections): Correct spelling of auxiliary
2159 in warning.
2160 * testsuite/binutils-all/vax/objdump.exp: Comment grammar fix.
2161
2162 2021-01-01 Alan Modra <amodra@gmail.com>
2163
2164 Update year range in copyright notice of all files.
2165
2166 For older changes see ChangeLog-2020
2167 \f
2168 Copyright (C) 2021-2023 Free Software Foundation, Inc.
2169
2170 Copying and distribution of this file, with or without modification,
2171 are permitted in any medium without royalty provided the copyright
2172 notice and this notice are preserved.
2173
2174 Local Variables:
2175 mode: change-log
2176 left-margin: 8
2177 fill-column: 74
2178 version-control: never
2179 End: