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