Ensure data pointer kept within bounds
[binutils-gdb.git] / binutils / ChangeLog
1 2021-05-12 Alan Modra <amodra@gmail.com>
2
3 * dwarf.c (process_extended_line_op): Don't bump data pointer past
4 end when strnlen doesn't find string terminator.
5 (decode_location_expression): Remove dead code.
6 (skip_attr_bytes): Remove const from end param. Ensure data
7 pointer doesn't pass end.
8 (get_type_signedness): Remove const from end param.
9 (read_and_display_attr_value): Ensure data pointer doesn't pass end.
10 (display_debug_lines_raw, display_debug_lines_decoded): Likewise.
11 (display_debug_pubnames_worker): Likewise.
12 (display_debug_pubnames_worker): Use SAFE_BYTE_GET_AND INC rather
13 than blindly incrementing data pointer.
14 (display_debug_addr, display_debug_str_offsets): Likewise. Don't
15 compare pointers, compare lengths.
16
17 2021-05-12 Alan Modra <amodra@gmail.com>
18
19 * dwarf.c (SAFE_BYTE_GET_INTERNAL): Define.
20 (SAFE_BYTE_GET, SAFE_BYTE_GET_AND_INC): Define using the above.
21 (SAFE_SIGNED_BYTE_GET, SAFE_SIGNED_BYTE_GET_AND_INC): Likewise.
22 (display_discr_list): Use SAFE_BYTE_GET_AND_INC rather than
23 SAFE_BYTE_GET followed by increment.
24 (process_debug_info): Likewise, and test bytes remaining before
25 incrementing section_begin rather than using pointer comparison.
26 (display_debug_names): Pass lvalue as SAFE_BYTE_GET PTR.
27 (process_cu_tu_index): Likewise for SAFE_BYTE_GET_AND_INC.
28
29 2021-05-12 Alan Modra <amodra@gmail.com>
30
31 * dwarf.c (dwarf_vmatoa64, SAFE_BYTE_GET64, add64): Delete.
32 (skip_attr_bytes): Replace use of SAFE_BYTE_GET64 with
33 SAFE_BYTE_GET_AND_INC.
34 (read_and_display_attr_value): Likewise. Print using dwarf_vmatoa.
35 (process_debug_info, process_cu_tu_index): Likewise.
36 * elfcomm.c (byte_put, byte_put_little_endian, byte_put_big_endian),
37 (byte_get, byte_get_little_endian, byte_get_big_endian),
38 (byte_get_signed): Make size param unsigned. Remove code dealing
39 with 4-byte elf_vma.
40 (byte_get_64): Delete.
41 * elfcomm.h (byte_put, byte_put_little_endian, byte_put_big_endian),
42 (byte_get, byte_get_little_endian, byte_get_big_endian),
43 (byte_get_signed): Update prototypes.
44 (byte_get_64): Delete.
45
46 2021-05-12 Alan Modra <amodra@gmail.com>
47
48 PR 27836
49 * dwarf.c (display_debug_frames): Don't compare pointers derived
50 from user input. Test offset against bounds instead.
51
52 2021-05-12 Alan Modra <amodra@gmail.com>
53
54 PR 27853
55 * dwarf.c (display_formatted_table): Test for data >= end rather
56 than data == end.
57 (process_extended_line_op): Likewise.
58 (display_debug_lines_raw): Likewise.
59 (display_debug_lines_decoded): Likewise.
60
61 2021-05-12 Alan Modra <amodra@gmail.com>
62
63 PR 27849
64 * dwarf.c (fetch_indexed_string): Correct length sanity checks.
65 Sanity check section size for version and padding too. Correct
66 index sanity check. Handle multiple tables in .debug_str_offsets.
67
68 2021-05-11 Hans-Peter Nilsson <hp@axis.com>
69
70 * dwarf.c (process_abbrev_set): Properly parenthesize before
71 casting to unsigned long.
72
73 2021-05-11 Alan Modra <amodra@gmail.com>
74
75 PR 27845
76 * dwarf.c (process_abbrev_set): Replace start and end parameters
77 with section, abbrev_base, abbrev_size, abbrev_offset. Update
78 all callers. Sanity check parameters correctly and emit warnings
79 here rather than..
80 (process_debug_info): ..here.
81
82 2021-05-10 Thomas Wolff <towo@towo.net>
83
84 PR 4356
85 PR 26865
86 PR 27594
87 * windres.c (quot): Revert previous delta. Do not use double
88 quotes when spaces are detected in options.
89 * doc/binutils.texi (windres): Remove suggestion that the
90 --preprocessor option can take arguments.
91
92 2021-05-10 Alan Modra <amodra@gmail.com>
93
94 * dwarf.c (SAFE_BYTE_GET): Check bounds by subtracting amount from
95 END rather than adding amount to PTR.
96 (SAFE_SIGNED_BYTE_GET, SAFE_BYTE_GET64): Likewise.
97
98 2021-05-09 Alan Modra <amodra@gmail.com>
99
100 * objcopy.c (eq_string): Delete.
101 (create_symbol_htab): Use htab_eq_string.
102
103 2021-05-08 Mike Frysinger <vapier@gentoo.org>
104
105 * README-how-to-make-a-release: Update html & pdf entries.
106
107 2021-05-08 Mike Frysinger <vapier@gentoo.org>
108
109 * doc/Makefile.am (html-local, binutils/index.html): New targets.
110 * doc/Makefile.in: Regenerate.
111
112 2021-05-08 Mike Frysinger <vapier@gentoo.org>
113
114 * doc/Makefile.am (AM_MAKEINFOFLAGS): Add --no-split.
115 * doc/Makefile.in: Regenerate.
116
117 2021-05-07 Nick Clifton <nickc@redhat.com>
118
119 * readelf.c (no_processor_specific_unwind): New function.
120 (process_unwind): Use no_processor_specific_unwind for X86
121 targets.
122
123 2021-05-07 Michael Forney <mforney@mforney.org>
124
125 * dwarf.c: Don't omit second operand of '?' operator.
126
127 2021-04-30 Nick Clifton <nickc@redhat.com>
128
129 PR 27796
130 * dwarf.c (load_debug_sup_file): Allocate memory for filename in
131 .debug_sup section.
132
133 2021-04-29 Nick Clifton <nickc@redhat.com>
134
135 PR 27594
136 * doc/binutils.texi (windres): Correct the description of the
137 default value of the --preprocessor argument.
138
139 2021-04-27 Nick Clifton <nickc@redhat.com>
140
141 PR 27779
142 * dwarf.c (parse_gnu_debuglink): Reject empty names.
143 (parse_gnu_debugaltlink): Likewise.
144
145 2021-04-22 Clément Chigot <clement.chigot@atos.net>
146
147 * od-xcoff.c (dump_xcoff32_symbols): Adapt to new
148 aux structures.
149
150 2021-04-21 Nick Lott <nick.lott@gmail.com>
151
152 PR 27672
153 * readelf.c (sym_base): New variable.
154 (enum print_mode): Add more modes.
155 (print_vma): Add suport for new modes.
156 (options): Add sym-base.
157 (usage): Add sym-base.
158 (parse_args): Add support for --sym-base.
159 (print_dynamic_symbol_size): New function.
160 (print_dynamic_symbol): Use new function.
161 * doc/binutils.texi: Document the new feature.
162 * NEWS: Mention the new feature.
163
164 2021-04-21 Nick Clifton <nickc@redhat.com>
165
166 * testsuite/binutils-all/mips/global-local-symtab-sort-n64t.d:
167 Adjust expected output to allow for named section symbols.
168 * testsuite/binutils-all/mips/global-local-symtab-sort-o32t.d:
169 Likewise.
170 * testsuite/binutils-all/readelf.s-64: Likewise.
171 * testsuite/binutils-all/readelf.ss-64-unused: Likewise.
172 * testsuite/binutils-all/readelf.ss-tmips: Likewise.
173 * testsuite/binutils-all/readelf.ss-unused: Likewise.
174
175 2021-04-21 Luo Longjun <luolongjun@huawei.com>
176
177 * readelf.c (print_dynamic_symbol): Print the section name for
178 section symbols without a name of their own.
179
180 2021-04-20 Andreas Krebbel <krebbel@linux.ibm.com>
181
182 * MAINTAINERS: Remove Martin Schwidefsky as s390 maintainer and
183 add him to Past Maintainers.
184 Update my email address.
185
186 2021-04-19 Nick Clifton <nickc@redhat.com>
187
188 PR 21702
189 * arsup.c (ar_addmod): Enable plugin support, if available.
190
191 2021-04-19 Nick Clifton <nickc@redhat.com>
192
193 * rename.c: (get_stat_atime_ns): Add prototype.
194 (get_stat_mtime_ns): Add prototype.
195
196 2021-04-16 Alan Modra <amodra@gmail.com>
197
198 PR 27725
199 * rename.c (get_stat_atime, get_stat_mtime): Make static.
200 (get_stat_atime_ns, get_stat_mtime_ns): Likewise.
201
202 2021-04-15 Pekka Seppänen <pexu@sourceware.mail.kapsi.fi>
203
204 PR 27725
205 * rename.c (get_stat_atime_ns): Add ATTRIBUTE_UNUSED.
206 (get_stat_mtime_ns): Likewise.
207
208 2021-04-15 Alan Modra <amodra@gmail.com>
209
210 PR 27725
211 * configure.ac: Check for sys/time.h and utimensat. Use standard
212 checks for mkstemp and mkdtemp. Whitespace. Check for nanosecond
213 members of struct stat.
214 * rename.c: Prefer sys/time.h for utimes over utime.h for utime.
215 (STAT_TIMESPEC, STAT_TIMESPEC_NS): Define
216 (get_stat_atime_ns, get_stat_mtime_ns): New inline functions.
217 (get_stat_atime, get_stat_mtime): Likewise.
218 (set_times): Choose first available of utimensat, utimes, utime.
219 Use above inline functions to set timespec and timeval values.
220 * configure: Regenerate.
221 * config.in: Regenerate.
222 * testsuite/binutils-all/objcopy.exp (objcopy_test): Add test of
223 file timestamp when --preserve-dates is used.
224
225 2021-04-15 Alan Modra <amodra@gmail.com>
226
227 PR 27456
228 * rename.c (smart_rename): When TO and FROM are equal, just set
229 file timestamp.
230 * objcopy.c (strip_main, copy_main): Always call smart_rename.
231
232 2021-04-14 H.J. Lu <hongjiu.lu@intel.com>
233
234 PR binutils/27708
235 * testsuite/binutils-all/x86-64/pr27708.dump: New file.
236 * testsuite/binutils-all/x86-64/pr27708.exe.bz2: Likewise.
237 * testsuite/binutils-all/x86-64/x86-64.exp: Run binutils/27708
238 test.
239
240 2021-04-14 Mark Harmstone <mark@harmstone.com>
241
242 PR 27686
243 * resbin.c (bin_to_res_version): Ignore any trailing bytes at the
244 end of the structure.
245
246 2021-04-14 Frederic Cambus <fred@statdns.com>
247
248 * readelf.c (get_netbsd_elfcore_note_type): Remove unneeded #ifdef
249 checks for NT_NETBSDCORE_AUXV and NT_NETBSDCORE_LWPSTATUS.
250
251 2021-04-14 Alan Modra <amodra@gmail.com>
252
253 PR 27716
254 * objdump.c (show_line): Don't limit paths to PATH_MAX.
255 * readelf.c (struct filedata): Change program_interpreter from
256 a char array to a char pointer.
257 (process_program_headers): Sanity check PT_INTERP p_filesz.
258 Malloc program_interpreter using p_filesz and read directly from
259 file.
260 (process_dynamic_section): Check program_interpreter is non-NULL.
261 (free_filedata): New function, split out from..
262 (process_object): ..here.
263 (close_debug_file): Call free_filedata.
264 * sysdep.h: Don't include sys/param.h.
265 (PATH_MAX): Don't define.
266 * configure.ac: Don't check for sys/param.h.
267 * configure: Regenerate.
268
269 2021-04-13 Frederic Cambus <fred@statdns.com>
270
271 * readelf.c (process_netbsd_elf_note): Remove now unneeded #ifdef
272 check for NT_NETBSD_PAX.
273
274 2021-04-12 Alan Modra <amodra@gmail.com>
275
276 * configure.ac (--enable-checking): Add support.
277 * config.in: Regenerate.
278 * configure: Regenerate.
279
280 2021-04-09 Alan Modra <amodra@gmail.com>
281
282 * objdump.c (struct objdump_disasm_info): Delete dynrelbuf and
283 dynrelcount.
284 (find_symbol_for_address): Adjust for dynrelbuf and dynrelcount move.
285 (disassemble_section, disassemble_data): Likewise.
286
287 2021-04-06 Alan Modra <amodra@gmail.com>
288
289 * objdump.c (objdump_symbol_at_address): Return asymbol*.
290
291 2021-04-06 Alan Modra <amodra@gmail.com>
292
293 * NEWS: Mention C99 requirement.
294 * README: Likewise. Modernise examples and "Reporting bugs".
295
296 2021-04-05 Alan Modra <amodra@gmail.com>
297
298 * configure.ac: Assume long long is available. Don't test for
299 strings.h, stdlib.h, limits.h, locale.h, or wchar.h. Check
300 inttypes.h, stdint.h, sys/stat.h and sys/types.h. Don't check for
301 strcoll, setlocale, setmode or location of time_t. Don't check
302 for fprintf, getenv, snprintf, strnlen, strstr or vsnprintf decls.
303 (AC_ISC_POSIX, AXC_HEADER_STRING, AC_FUNC_ALLOCA): Don't invoke.
304 * sysdep.h: Don't include alloca-conf.h, include config.h instead.
305 Test HAVE_SYS_TYPES_H and reorder includes. Include limits.h,
306 locale.h, string.h and stdlib.h unconditionally. Remove various
307 fallback declarations. Assume long long is available.
308 * addr2line.c: Don't test HAVE_SETLOCALE.
309 * ar.c: Likewise.
310 * coffdump.c: Likewise.
311 * dlltool.c: Likewise.
312 * dllwrap.c: Likewise.
313 * elfedit.c: Likewise.
314 * nm.c: Likewise.
315 * objcopy.c: Likewise.
316 * objdump.c: Likewise.
317 * readelf.c: Likewise.
318 * size.c: Likewise.
319 * srconv.c: Likewise.
320 * strings.c: Likewise.
321 * sysdump.c: Likewise.
322 * windmc.c: Likewise.
323 * windres.c: Likewise.
324 * bucomm.c: Don't test HAVE_TIME_T_IN_TIME_H or HAVE_TIME_T_IN_TYPES_H.
325 * dwarf.c: Include limits.h unconditionally. Assume long long
326 is available.
327 * nm.c: Don't test HAVE_STRCOLL.
328 * readelf.c: Don't test HAVE_WCHAR_H.
329 * strings.c: Assume long long is available.
330 * syslex.l: Include string.h unconditionally.
331 * aclocal.m4: Regenerate.
332 * config.in: Regenerate.
333 * configure: Regenerate.
334 * Makefile.in: Regenerate.
335 * doc/Makefile.in: Regenerate.
336
337 2021-04-01 Martin Liska <mliska@suse.cz>
338
339 * elfcomm.h (strneq): Remove strneq and use startswith.
340 * readelf.c (ia64_process_unwind): Likewise.
341 (process_note): Likewise.
342
343 2021-04-01 Martin Liska <mliska@suse.cz>
344
345 * dllwrap.c: Use startswith function.
346 * objcopy.c (is_dwo_section): Likewise.
347 (handle_remove_section_option): Likewise.
348 (copy_main): Likewise.
349 * objdump.c (is_significant_symbol_name): Likewise.
350
351 2021-04-01 Martin Liska <mliska@suse.cz>
352
353 * dwarf.c (display_debug_lines_raw): Replace const_strneq with
354 startswith.
355 (display_debug_lines_decoded): Likewise.
356 (display_debug_links): Likewise.
357 * elfcomm.c (setup_archive): Likewise.
358 * elfcomm.h (const_strneq): Likewise.
359 * readelf.c (process_section_headers): Likewise.
360 (slurp_ia64_unwind_table): Likewise.
361 (slurp_hppa_unwind_table): Likewise.
362 (decode_arm_unwind): Likewise.
363 (display_debug_section): Likewise.
364 (process_note): Likewise.
365
366 2021-03-31 Alan Modra <amodra@gmail.com>
367
368 * sysdep.h (POISON_BFD_BOOLEAN): Define.
369 * addr2line.c, * ar.c, * arsup.c, * bfdtest2.c, * binemul.c,
370 * binemul.h, * bucomm.c, * bucomm.h, * budbg.h, * coffgrok.c,
371 * debug.c, * debug.h, * dlltool.c, * dwarf.c, * dwarf.h,
372 * elfedit.c, * emul_aix.c, * mclex.c, * nm.c, * objcopy.c,
373 * objdump.c, * od-macho.c, * prdbg.c, * rdcoff.c, * rddbg.c,
374 * readelf.c, * rename.c, * stabs.c, * strings.c, * windint.h,
375 * windmc.c, * windmc.h, * windres.c, * winduni.c,
376 * wrstabs.c: Replace bfd_boolean with bool, FALSE with false,
377 and TRUE with true throughout.
378
379 2021-03-31 Alan Modra <amodra@gmail.com>
380
381 * coffdump.c: Include stdint.h in place of bfd_stdint.h.
382 * dwarf.c: Likewise.
383
384 2021-03-31 Alan Modra <amodra@gmail.com>
385
386 * prdbg.c (pr_function_type): Replace LITSTTCPY with strcpy.
387
388 2021-03-29 Alan Modra <amodra@gmail.com>
389
390 * dlltool.c (main): Don't use "boolean_condition ? TRUE : FALSE".
391 * dwarf.c (read_and_display_attr_value): Likewise.
392 (display_debug_str_offsets): Likewise.
393 * objdump.c (dump_bfd): Likewise.
394 * readelf.c (dump_section_as_strings): Likewise.
395 (dump_section_as_bytes): Likewise.
396
397 2021-03-29 Alan Modra <amodra@gmail.com>
398
399 * objdump.c (process_links): Use type int.
400 * readelf.c (request_dump): Don't increment do_dump, set it.
401 * windint.h (target_is_bigendian): Use type bfd_boolean.
402 * windmc.c (target_is_bigendian): Likewise.
403 * windres.c (target_is_bigendian): Likewise.
404
405 2021-03-22 Martin Liska <mliska@suse.cz>
406
407 * dlltool.c (scan_drectve_symbols): Replace usage of CONST_STRNEQ
408 with startswith.
409 * emul_aix.c (ar_emul_aix_parse_arg): Likewise.
410 * objcopy.c (is_mergeable_note_section): Likewise.
411 * objdump.c (dump_dwarf_section): Likewise.
412 * prdbg.c (pr_method_type): Likewise.
413 (pr_class_baseclass): Likewise.
414 (tg_class_baseclass): Likewise.
415 * readelf.c (process_lto_symbol_tables): Likewise.
416 * stabs.c (ULLHIGH): Likewise.
417 (parse_stab_argtypes): Likewise.
418 (stab_demangle_function_name): Likewise.
419
420 2021-03-19 H.J. Lu <hongjiu.lu@intel.com>
421
422 * readelf.c (get_machine_name): Add EM_INTELGT.
423
424 2021-03-18 Nick Clifton <nickc@redhat.com>
425
426 PR 27478
427 * readelf.c (dump_section_as_strings): Mention separate filename.
428 (dump_section_as_bytes): Likewise.
429 (dump_section_as_ctf): Likewise.
430 (initialise_dumkps_byname): Only issue a warning for missing
431 sections if processing the main file.
432 (process_section_contents): Only issue a warning for unsumped
433 section numbers in the main file.
434 (initialise_dump_sects): New function. Contains code extracted
435 from ...
436 (process_object): ... here. Also call initialise_dump_sects for
437 separate files.
438
439 2021-03-16 Nick Clifton <nickc@redhat.com>
440
441 PR 27534
442 * readelf.c (display_debug_section): Also retain .debug_addr
443 sections.
444
445 2021-03-16 Nick Clifton <nickc@redhat.com>
446
447 PR 27533
448 * readelf.c (process_section_contents): Only dump debug
449 information for separate files unless process_links is enabled.
450 (process_object): Always call process_section_contents for
451 separate info files.
452
453 2021-03-15 Nick Clifton <nickc@redhat.com>
454
455 PR 27487
456 * nm.c (FORMAT_JUST_SYMBOLS): Define.
457 (struct optput_fns): Add entry for FORMAT_JUST_SYMBOLS.
458 (long_options): Add just-symbols.
459 (set_output_format): Add support for just-symbols.
460 (get_print_format): Likewise.
461 (do_not_print_object_filename): New function.
462 (do_not_print_archive_filename): New function.
463 (do_not_print_archive_member): New function.
464 (do_not_print_symbol_filename): New function.
465 (just_print_symbol_name): New function.
466 (main): Handle --just-symbols.
467 * NEWS: Mention the new feature.
468 * doc/binutils.texi: Document the new feature.
469
470 2021-03-12 Clément Chigot <clement.chigot@atos.net>
471
472 * od-xcoff.c: Replace RTB by TRL entry.
473
474 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
475 Andrew Burgess <andrew.burgess@embecosm.com>
476
477 * readelf.c (get_note_type): Handle NT_RISCV_CSR.
478
479 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
480 Andrew Burgess <andrew.burgess@embecosm.com>
481
482 * readelf.c (get_note_type): Handle NT_GDB_TDESC.
483
484 2021-03-05 Nick Clifton <nickc@redhat.com>
485
486 PR 27387
487 * dwarf.c (display_debug_macro): Handle the displaying of
488 DW_MACRO_define_strp and DW_MACRO_undef_strp in v4
489 .debug_macro.dwo sections.
490
491 2021-03-04 Nick Clifton <nickc@redhat.com>
492
493 PR 27478
494 * objdump.c (process_links): New variable.
495 (usage): Add --process-links.
496 (long_options): Likewise.
497 (dump_bfd): Stop processing once the bfd has been loaded unless
498 this is the main file or process_links has been enabled.
499 (main): Handle the process-links option.
500 * readelf.c (process_links): New variable.
501 (struct filedata): Add is_separate field.
502 (options): Add --process-links.
503 (usage): Likewise.
504 (parse_args): Likewise.
505 (process_file_header): Include the filename when dumping
506 information for separate debuginfo files.
507 (process_program_headers): Likewise.
508 (process_section_headers): Likewise.
509 (process_section_groups): Likewise.
510 (process_relocs): Likewise.
511 (process_dynamic_section): Likewise.
512 (process_version_sections): Likewise.
513 (display_lto_symtab): Likewise.
514 (process_symbol_table): Likewise.
515 (process_syminfo): Likewise.
516 (initialise_dumps_by_name): Likewise.
517 (process_section_contents): Likewise.
518 (process_notes_at): Likewise.
519 (process_notes): Likewise.
520 (open_file): Add is_separate parameter. Use to initialise the
521 is_separate field in the filedata structure.
522 (open_deug): Update call to open_file.
523 (process_object): Add processing of the contents of separate
524 debuginfo files, gated by the process_links variable.
525 (process_archive): Update call to open_file.
526 (process_file): Initialise the is_separate field in the filedata
527 structure.
528 * dwarf.c (load_separate_debug_info_file): Only report the
529 loading of a separate file if debug links are being dumped.
530 * objcopy.c (keep_section_symbols): New variable.
531 (enum command_line_switch): Add OPTION_KEEP_SYMBOLS.
532 (strip_options): Add keep-section-symbols.
533 (copy_options): Likewise.
534 (copy_usage): Likewise.
535 (strip_usage): Likewise.
536 (copy_object): Keep section symbols if requested by command line
537 option.
538 (strip_main): Handle --keep-section-symbols.
539 (copy_main): Likewise.
540 * doc/binutils.texi: Document the new options.
541 * NEWS: Mention the new features.
542 * testsuite/binutils-all/compress.exp (test_gnu_debuglink):
543 Update options passed to objdump. Use diff rather than cmp to
544 compare the dumped data.
545 * testsuite/binutils-all/objdump.WK2: Update regexp.
546 * testsuite/binutils-all/objdump.WK3: Update regexp.
547 * testsuite/binutils-all/objdump.exp: Use --process-links
548 instead of --dwarf=follow-links.
549 * testsuite/binutils-all/readelf.exp (readelf_test): Include
550 readelf's output in the log when the test fails.
551 Add the -P option to the -wKis test.
552 * testsuite/binutils-all/readelf.wKis: Update expected output.
553
554 2021-03-03 Alan Modra <amodra@gmail.com>
555
556 PR 27493
557 * objcopy.c (filter_symbols): Apply --weaken to undefined symbols.
558 * NEWS: Mention feature.
559
560 2021-03-01 H.J. Lu <hongjiu.lu@intel.com>
561
562 PR binutils/27486
563 * dwarf.c (load_separate_debug_info): Issue warning only if
564 do_debug_links is set.
565 * testsuite/binutils-all/compress.exp: Run objdump and readelf
566 with missing debug file.
567
568 2021-03-01 Alan Modra <amodra@gmail.com>
569
570 PR 27128
571 * doc/binutils.texi: Add nm --with-symbol-versions and
572 --without-symbol-versions documentation.
573 * nm.c (with_symbol_versions): New variable.
574 (enum long_option_values): Delete OPTION_WITH_SYMBOL_VERSIONS.
575 (long_options): Make --with-symbol-versions entry twiddle the flag.
576 Add --without-symbol-versions.
577 (print_symname): Strip version when !with_symbol_versions. Add
578 dynamic version info under control of with_symbol_versions.
579 (main): Remove OPTION_WITH_SYMBOL_VERSIONS case.
580
581 2021-02-26 Fangrui Song <maskray@google.com>
582
583 PR 27408
584 * readelf.c (quiet): New option flag.
585 (enum long_option_values): New enum to hold long option value.
586 (long_options): Add --quiet.
587 (usage): Mention --quiet.
588 (display_rel_file): If quiet is enabled, suppress "no symbols".
589 (main): Handle the new option.
590 * NEWS: Mention --quiet.
591 * docs/binutils.texi: Document --quiet.
592
593 2021-02-26 Tom de Vries <tdevries@suse.de>
594
595 * dwarf.c (display_debug_addr): Handle dwarf-5 .debug_addr bits.
596
597 2021-02-26 Tom de Vries <tdevries@suse.de>
598
599 PR 27390
600 * dwarf.c: (skip_attr_bytes): Add support for DW_FORM_str* and
601 DW_FORM_addrx*.
602 (read_and_display_attr_value): Likewise.
603
604 2021-02-25 Nick Clifton <nickc@redhat.com>
605
606 * dwarf.c (get_type_abbrev_from_form): Accept but ignore sup
607 forms.
608 (read_and_display_attr_value): Handle sup forms.
609 (display_debug_sup): New function. Displays the contents of a
610 .debug_sup section.
611 (load_debug_sup_file): New function. Loads the contents of a file
612 referenced by a .debug_sup section.
613 (check_for_and_load_links): Call load_debug_sup_file.
614 (debug_displays): Add entry for .debug_sup.
615 * dwarf.h (enum dwarf_section_display_enum): Add debug_sup.
616 * readelf.c (process_section_headers): Add support for debug_sup.
617 * doc/debug.options.texi: Note that the =links option will display
618 the contents of .debug_sup sections.
619 * NEWS: Mention the new support.
620
621 2021-02-25 Alan Modra <amodra@gmail.com>
622
623 PR 27456
624 * rename.c (simple_copy): Mark target_stat ATTRIBUTE_UNUSED.
625
626 2021-02-24 Nick Clifton <nickc@redhat.com>
627
628 PR 27285
629 * od-elf32_avr.c (elf32_avr_get_memory_usage): Check for overflows
630 when adding together the section sizes.
631
632 2021-02-24 Nick Clifton <nickc@redhat.com>
633
634 * objcopy.c (merge_gnu_build_notes): Remove support for v1/v2 GNU
635 build notes.
636 * readelf.c (print_gnu_build_attribute_description): Likewise.
637
638 2021-02-24 Alan Modra <amodra@gmail.com>
639 Siddhesh Poyarekar <siddhesh@gotplt.org>
640
641 PR 27456
642 * bucomm.h (smart_rename): Update prototype.
643 * rename.c (smart_rename): Add fromfd and preserve_dates params.
644 Pass fromfd and target_stat to simple_copy. Call set_times
645 when preserve_dates.
646 (simple_copy): Accept fromfd rather than from filename. Add
647 target_stat param. Rewind fromfd rather than opening. Open
648 "to" file without O_CREAT. Try to preserve S_ISUID and S_ISGID.
649 * ar.c (write_archive): Rename ofd to tmpfd. Dup tmpfd before
650 closing output temp file, and pass tmpfd to smart_rename.
651 * arsup.c (temp_fd): Rename from real_fd.
652 (ar_save): Dup temp_fd and pass to smart_rename.
653 * objcopy.c (strip_main, copy_main): Likewise, and pass
654 preserve_dates.
655
656 2021-02-24 Alan Modra <amodra@gmail.com>
657
658 PR 27456
659 * rename.c: Tidy throughout.
660 (smart_rename): Always copy. Remove windows specific code.
661
662 2021-02-20 Alan Modra <amodra@gmail.com>
663
664 * testsuite/lib/binutils-common.exp: Whitespace fixes throughout.
665 (run_dump_test): Fail if expecting errors from a file like we do
666 for error strings, if no error is seen.
667
668 2021-02-19 Alan Modra <amodra@gmail.com>
669
670 * testsuite/binutils-all/readelf.exp (pr26548): Run for 32-bit too.
671
672 2021-02-19 Siddhesh Poyarekar <siddhesh@gotplt.org>
673
674 * ar.c (write_archive): Remove TARGET_STAT. Adjust call to
675 SMART_RENAME.
676 * arsup.c (ar_save): Likewise.
677 * objcopy (strip_main): Don't copy TMPFD. Don't set times on
678 temporary file and adjust call to SMART_RENAME.
679 (copy_main): Likewise.
680 * rename.c [!S_ISLNK]: Remove definitions.
681 (try_preserve_permissions): Remove function.
682 (smart_rename): Remove FD, PRESERVE_DATES arguments. Use
683 rename system call only if TO does not exist.
684 * bucomm.h (smart_rename): Adjust declaration.
685
686 2021-02-18 Nick Clifton <nickc@redhat.com>
687
688 * objcopy.c (merge_gnu_build_notes): Handle notes with a start
689 address that is higher than the end address.
690
691 2021-02-17 Alan Modra <amodra@gmail.com>
692
693 * dwarf.c: Include limits.h.
694 (CHAR_BIT): Provide backup define.
695 (read_leb128): Use CHAR_BIT to size "result" in bits. Correct
696 signed overflow checking.
697 * testsuite/binutils-all/pr26548.s,
698 * testsuite/binutils-all/pr26548.d,
699 * testsuite/binutils-all/pr26548e.d: New tests.
700 * testsuite/binutils-all/readelf.exp: Run them.
701 (readelf_test): Drop unused "xfails" parameter. Update all uses.
702
703 2021-02-16 Jan Beulich <jbeulich@suse.com>
704
705 * dwarf.c (process_debug_info): Initialize "dwo_id".
706
707 2021-02-15 Alan Modra <amodra@gmail.com>
708
709 * objdump.c (load_specific_debug_section): Don't call
710 bfd_cache_section_contents. Rearrange so that
711 bfd_get_full_section_contents is not called on path where
712 bfd_simple_get_relocated_section_contents is called.
713 Don't set section->user_data.
714 (free_debug_section): Always free section->start. Don't twiddle
715 section flags.
716 * readelf.c (load_specific_debug_section): Don't set user_data.
717 * dwarf.h (struct dwarf_section): Remove use_data field.
718 * dwarf.c (NO_ABBREVS, ABBREV): Adjust to suit.
719
720 2021-02-15 Alan Modra <amodra@gmail.com>
721
722 * testsuite/binutils-all/compress.exp: Remove nds32 xfails.
723 * testsuite/binutils-all/objdump.exp: Likewise.
724
725 2021-02-14 Alan Modra <amodra@gmail.com>
726
727 * objdump.c (slurp_symtab): Don't add an extra entry for NULL
728 to the symbol array.
729 (slurp_dynamic_symtab): Likewise.
730 (dump_bfd): Formatting. Copy terminating NULL from extra_syms.
731
732 2021-02-14 Alan Modra <amodra@gmail.com>
733
734 * Makefile.in: Regenerate.
735 * doc/Makefile.in: Regenerate.
736
737 2021-02-13 Mike Frysinger <vapier@gentoo.org>
738
739 * aclocal.m4: Regenerate.
740
741 2021-02-12 Nick Clifton <nickc@redhat.com>
742
743 * configure.ac (follow-debug-links): Add option to enable or
744 disable the following of debug links by default. Set the
745 default for the option to be 'follow'.
746 * dwarf.c (do_follow_links): Initialise with DEFAULT_FOR_FOLLOW_LINKS.
747 (dwarf_select_sections_by_names): Add no-follow-links option.
748 (dwarf_select_sections_by_letter): Add 'N' option.
749 * objdump.c (usage): Add conditional text describing the
750 follow links option.
751 (slurp_symtab): Ensure that there is a NULL entry at the end
752 of the symbol table.
753 (slurp_dynamic_symtab): Likewise.
754 (dump_bfd): When extending the symbol table, ensure that there
755 is still a NULL entry at the end.
756 * readelf.c (usage): Add conditional text describing the
757 follow links option.
758 * doc/binutils.texi: Update documentation for objcopy and
759 readelf.
760 * doc/debug.options.texi: Update documentation of the
761 follow-links option.
762 * config.in: Regenerate.
763 * configure: Regenerate.
764 * testsuite/binutils-all/compress.exp: Add the -WN option to
765 objdump command lines that are not expecting to follow links.
766 * testsuite/binutils-all/readelf.exp: Add the
767 --debug-dump=no-follow-links option to tests that are not
768 expecting to follow debug links.
769 * NEWS: Mention the new behaviour.
770
771 2021-02-12 Alan Modra <amodra@gmail.com>
772
773 * testsuite/binutils-all/objcopy.exp: Report "unsupported" when
774 gas or ld fails to build a testcase rather than "unresolved".
775 Report "fail" when readelf returns an error status rather than
776 "unresolved".
777 * testsuite/binutils-all/ar.exp: Likewise.
778 * testsuite/binutils-all/compress.exp: Likewise.
779 * testsuite/binutils-all/readelf.exp: Likewise.
780
781 2021-02-12 Alan Modra <amodra@gmail.com>
782
783 * testsuite/binutils-all/pr25662.s: Replace "a" with "aaa" and
784 "c" with "ccc" labels.
785
786 2021-02-12 Tom de Vries <tdevries@suse.de>
787
788 * dwarf.h (debug_info): Fix typo in comment.
789
790 2021-02-12 Tom de Vries <tdevries@suse.de>
791
792 * dwarf.c (display_debug_str_offsets): Handle multiple sets of
793 entries.
794
795 2021-02-12 Tom de Vries <tdevries@suse.de>
796
797 * dwarf.c (process_debug_info): Print DWO ID.
798
799 2021-02-11 Alan Modra <amodra@gmail.com>
800
801 PR 27290
802 PR 27293
803 PR 27295
804 * od-elf32_avr.c (elf32_avr_get_note_section_contents): Formatting.
805 Use bfd_malloc_and_get_section.
806 (elf32_avr_get_note_desc): Formatting. Return descsz. Sanity
807 check namesz. Return NULL if descsz is too small. Ensure
808 string table is terminated.
809 (elf32_avr_get_device_info): Formatting. Add note_size param.
810 Sanity check note.
811 (elf32_avr_dump_mem_usage): Adjust to suit.
812
813 2021-02-10 Tom de Vries <tdevries@suse.de>
814
815 PR binutils/27391
816 * dwarf.c (load_dwo_file): Handle case that name is absolute path.
817
818 2021-02-10 Tom de Vries <tdevries@suse.de>
819
820 PR binutils/27371
821 * dwarf.c (display_debug_ranges): Filter range lists according to
822 section.
823
824 2021-02-09 Tom de Vries <tdevries@suse.de>
825
826 PR binutils/27370
827 * dwarf.c (get_type_abbrev_from_form): Handle DW_FORM_ref_sig8.
828
829 2021-02-09 Tom de Vries <tdevries@suse.de>
830
831 PR binutils/27386
832 * dwarf.c (process_debug_info): Handling DW_UT_skeleton and
833 DW_UT_split_compile.
834
835 2021-02-09 Alan Modra <amodra@gmail.com>
836
837 * testsuite/lib/binutils-common.exp (supports_gnu_osabi): Remove
838 symbianelf.
839
840 2021-02-07 Alan Modra <amodra@gmail.com>
841
842 * unwind-ia64.c (unw_print_xyreg): Don't leave output buffer
843 uninitialised on invalid input.
844
845 2021-02-06 Alan Modra <amodra@gmail.com>
846
847 PR 27349
848 * rename.c (smart_rename): Test for existence and type of output
849 file with lstat.
850
851 2021-02-05 Nick Clifton <nickc@redhat.com>
852
853 * MAINTAINERS: Remove Richard Henderson as the ALPHA maintainer.
854
855 2021-02-05 Eli Zaretskii <eliz@gnu.org>
856
857 PR 27252
858 * elfedit.c (check_file):
859 * bucomm.c (get_file_size): Fix typos in comments.
860
861 2021-02-05 Alan Modra <amodra@gmail.com>
862
863 PR 27345
864 * arsup.c (ar_save): Use stat rather than lstat.
865
866 2021-02-03 Alan Modra <amodra@gmail.com>
867
868 PR 27270
869 PR 27284
870 PR 26945
871 * ar.c: Don't include libbfd.h.
872 (write_archive): Replace xmalloc+strcpy with xstrdup. Use
873 bfd_stat rather than fstat on iostream. Move stat and fd tests
874 outside of _WIN32 ifdef. Delete skip_stat variable.
875 * arsup.c (temp_name, real_ofd): New static variables.
876 (ar_open): Use make_tempname and bfd_fdopenw.
877 (ar_save): Adjust to suit ar_open changes. Move stat output
878 of _WIN32 ifdef.
879 * objcopy.c: Don't include libbfd.h.
880 (copy_file): Use bfd_stat.
881
882 2021-02-02 H.J. Lu <hongjiu.lu@intel.com>
883
884 PR binutils/27281
885 * readelf.c (process_section_headers): Add 'R' and 'D' to
886 "Key to Flags:".
887 * testsuite/binutils-all/retain1a.d: Updated.
888
889 2021-01-30 Nick Clifton <nickc@redhat.com>
890
891 * README-how-to-make-a-release: Small updates after the 2.35.2
892 release.
893
894 2021-01-28 Eli Zaretskii <eliz@gnu.org>
895
896 PR 4356
897 * windres.c (quot): Use double quotes to protect strings on
898 Windows platforms.
899
900 2021-01-28 Eli Zaretskii <eliz@gnu.org>
901
902 PR 27252
903 * bucomm.c (get_file_size): Add code to handle /dev/null on
904 Windows systems.
905 * elfedit.c (check_file): Likewise.
906
907 2021-01-27 Nick Clifton <nickc@redhat.com>
908
909 * objcopy.c (copy_main): Remove conditional control of the calls
910 to free, simplifying the code and making it easier to detect
911 typos.
912
913 2021-01-26 Frederic Cambus <fred@statdns.com>
914
915 * objcopy.c (copy_main): Fix a double free happening when both
916 --localize-symbols and --globalize-symbols options are invoked
917 together.
918
919 2021-01-24 Nick Clifton <nickc@redhat.com>
920
921 * README-how-to-make-a-release: Minor updates after the 2.36 release.
922
923 2021-01-16 Alan Modra <amodra@gmail.com>
924
925 * readelf.c (uncompress_section_contents): Tidy inflateEnd result test.
926
927 2021-01-15 Alan Modra <amodra@gmail.com>
928
929 PR 26539
930 * readelf.c (uncompress_section_contents): Always call inflateEnd.
931
932 2021-01-14 Alexandre Oliva <oliva@gnu.org>
933
934 * MAINTAINERS: Update my email address.
935
936 2021-01-14 Nick Clifton <nickc@redhat.com>
937
938 * po/sv.po: Updated Swedish translation.
939
940 2021-01-13 Alan Modra <amodra@gmail.com>
941
942 * Makefile.in: Regenerate.
943 * doc/Makefile.in: Regenerate.
944
945 2021-01-13 Zebediah Figura <z.figura12@gmail.com>
946
947 PR 27037
948 * dlltool.c (i386_trampoline): Adjust %rsp immediately on entry
949 and before exit.
950 (i386_x64_trampoline): Add SEH annotations.
951 (struct mac): Add how_seh field.
952 (make_delay_head): If how_set field is true add SEh instructions.
953
954 2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
955
956 PR binutils/26792
957 * configure.ac: Use GNU_MAKE_JOBSERVER.
958 * aclocal.m4: Regenerated.
959 * configure: Likewise.
960
961 2021-01-12 Nick Clifton <nickc@redhat.com>
962
963 * po/fr.po: Updated French translation.
964
965 2021-01-11 H.J. Lu <hongjiu.lu@intel.com>
966
967 PR ld/27173
968 * configure: Regenerated.
969
970 2021-01-11 Nick Clifton <nickc@redhat.com>
971
972 * po/pt.po: Updated Portuguese translation.
973 * po/sr.po: Updated Serbian translation.
974 * po/uk.po: Updated Ukranian translation.
975
976 2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
977
978 * configure: Regenerated.
979
980 2021-01-09 Nick Clifton <nickc@redhat.com>
981
982 * configure: Regenerate.
983 * po/binutils.pot: Regenerate.
984
985 2021-01-09 Nick Clifton <nickc@redhat.com>
986
987 * 2.36 release branch crated.
988 * README-how-to-make-a-release: Add note about updating Makefiles
989 and libtool files.
990 * BRANCHES: Add binutils-2.36-branch.
991
992 2021-01-09 Alan Modra <amodra@gmail.com>
993
994 * configure: Regenerate.
995
996 2021-01-07 Samuel Thibault <samuel.thibault@gnu.org>
997
998 * configure: Regenerate.
999
1000 2021-01-07 H.J. Lu <hongjiu.lu@intel.com>
1001
1002 PR 27109
1003 * objcopy.c (copy_object): Handle section symbols for
1004 non-relocatable inputs.
1005 * testsuite/binutils-all/readelf.exp (readelf_test): Check
1006 is_elf_unused_section_symbols.
1007 * testsuite/binutils-all/readelf.s-64: Updated.
1008 * testsuite/binutils-all/readelf.ss: Likewise.
1009 * testsuite/binutils-all/readelf.ss-64: Likewise.
1010 * testsuite/binutils-all/readelf.s-64-unused: New file.
1011 * testsuite/binutils-all/readelf.ss-64-unused: Likewise.
1012 * testsuite/binutils-all/readelf.ss-unused: Likewise.
1013 * testsuite/lib/binutils-common.exp
1014 (is_elf_unused_section_symbols): New proc.
1015
1016 2021-01-06 Reuben Thomas <rrt@sc3d.org>
1017
1018 * binutils/readelf.c: Correct grammar in comment.
1019
1020 2021-01-01 Nicolas Boulenguez <nicolas@debian.org>
1021
1022 * coffgrok.c (do_type): Correct spelling of auxiliary in errors.
1023 * doc/binutils.texi: Correct grammar.
1024 * readelf.c (process_version_sections): Correct spelling of auxiliary
1025 in warning.
1026 * testsuite/binutils-all/vax/objdump.exp: Comment grammar fix.
1027
1028 2021-01-01 Alan Modra <amodra@gmail.com>
1029
1030 Update year range in copyright notice of all files.
1031
1032 For older changes see ChangeLog-2020
1033 \f
1034 Copyright (C) 2021 Free Software Foundation, Inc.
1035
1036 Copying and distribution of this file, with or without modification,
1037 are permitted in any medium without royalty provided the copyright
1038 notice and this notice are preserved.
1039
1040 Local Variables:
1041 mode: change-log
1042 left-margin: 8
1043 fill-column: 74
1044 version-control: never
1045 End: