2021-11-03 21:33:24 +08:00
|
|
|
|
2021-11-03 Tom Tromey <tromey@adacore.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_loc): Use section name in warnings.
|
|
|
|
|
|
2021-10-25 18:17:02 +08:00
|
|
|
|
2021-10-25 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (usage): --ctf now has an optional argument.
|
|
|
|
|
(main): Adjust accordingly.
|
|
|
|
|
(dump_ctf): Default it.
|
|
|
|
|
* doc/ctf.options.texi: Adjust.
|
|
|
|
|
|
binutils: make objdump/readelf --ctf-parent actually useful
This option has been present since the very early days of the
development of libctf as part of binutils, and it shows. Back in the
earliest days, I thought we might handle ambiguous types by introducing
new ELF sections on the fly named things like .ctf.foo.c for ambiguous
types found only in foo.c, etc. This turned out to be a terrible idea,
so we moved to using a CTF archive in the .ctf section which contained
all the CTF dictionaries -- but the --ctf-parent option in objdump and
readelf was never adjusted, and lingered as a mechanism to specify CTF
parent dictionaries in sections other than .ctf, even though the linker
has no way to produce parent dictionaries in different sections from
their children, libctf's ctf_open can't handle such split-up
parent/child dicts, and they are never found in the wild, emitted by GNU
ld or by any known third-party linking tool.
Meanwhile, the actually-useful ctf_link feature (albeit not used by ld)
which lets you remap the names of CTF archive members (so you can end up
with a parent archive member named something other than ".ctf", still
contained with all its children in a single .ctf section) had no support
in objdump or readelf: there was no way to tell them that these members
were parents, so all the types in the associated child dicts always
appeared corrupted, referencing nonexistent types from a parent objdump
couldn't find.
So adjust --ctf-parent so that rather than taking a section name it
takes a member name instead (if not specified, the name is ".ctf", which
is what GNU ld emits). Because the option was always useless before
now, this is expected to have no backward-compatibility implications.
As part of this, we have to slightly adjust the code which skips the
archive member name if redundant: right now it skips it if it's ".ctf",
on the assumption that this name will almost always be at the start
of the objdump output and thus we'll end up with a shared dump
and then smaller, headed dumps for the per-TU child dicts; but if
the parent name has been changed, that won't be true any more.
So change the rules to "members named .ctf which appear first in the
first have their member name skipped". Since we now need to count
members, move from ctf_archive_iter (for which passing in extra
parameters requires defining a new struct and is clumsy) to
ctf_archive_next, allowing us to just *call* dump_ctf_archive_member and
maintain a member count in the obvious way. In the process we fix a
tiny difference between readelf and objdump: if a ctf_dump ever failed,
readelf skipped every later member, while objdump tried to keep going as
much as it could. For a dumping tool the former is clearly preferable.
binutils/ChangeLog
2021-10-25 Nick Alcock <nick.alcock@oracle.com>
* objdump.c (usage): --ctf-parent now takes a name, not a section.
(dump_ctf): Don't open a separate section; use the parent_name in
ctf_dict_open instead. Use ctf_archive_next, not ctf_archive_iter,
so we can pass down a member count.
(dump_ctf_archive_member): Add the member count; don't return
anything. Import parents into children no matter what the
parent's name, while still avoiding displaying the header for the
common parent name of ".ctf".
* readelf.c (usage): Adjust similarly.
(dump_section_as_ctf): Likewise.
(dump_ctf_archive_member): Likewise. Never stop iterating over
archive members, even if ctf_dump of one member fails.
* doc/ctf.options.texi: Adjust.
2021-10-25 18:17:02 +08:00
|
|
|
|
2021-10-25 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (usage): --ctf-parent now takes a name, not a section.
|
|
|
|
|
(dump_ctf): Don't open a separate section; use the parent_name in
|
|
|
|
|
ctf_dict_open instead. Use ctf_archive_next, not ctf_archive_iter,
|
|
|
|
|
so we can pass down a member count.
|
|
|
|
|
(dump_ctf_archive_member): Add the member count; don't return
|
|
|
|
|
anything. Import parents into children no matter what the
|
|
|
|
|
parent's name, while still avoiding displaying the header for the
|
|
|
|
|
common parent name of ".ctf".
|
|
|
|
|
* readelf.c (usage): Adjust similarly.
|
|
|
|
|
(dump_section_as_ctf): Likewise.
|
|
|
|
|
(dump_ctf_archive_member): Likewise. Never stop iterating over
|
|
|
|
|
archive members, even if ctf_dump of one member fails.
|
|
|
|
|
* doc/ctf.options.texi: Adjust.
|
|
|
|
|
|
2021-10-19 23:02:49 +08:00
|
|
|
|
2021-10-19 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* nm.c (filter_symbols): Test for a NULL name before checking to
|
|
|
|
|
see if the symbol is __gnu_lto_slim.
|
|
|
|
|
* objcopy.c (filter_symbols): Likewise.
|
|
|
|
|
|
2021-09-30 19:56:19 +08:00
|
|
|
|
2021-09-30 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objcopy.c (filter_symbols): Fail if attempting to dredefine
|
|
|
|
|
symbols in an LTO object file.
|
|
|
|
|
|
2021-09-28 03:31:21 +08:00
|
|
|
|
2021-09-27 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
riscv: print .2byte or .4byte before an unknown instruction encoding
When the RISC-V disassembler encounters an unknown instruction, it
currently just prints the value of the bytes, like this:
Dump of assembler code for function custom_insn:
0x00010132 <+0>: addi sp,sp,-16
0x00010134 <+2>: sw s0,12(sp)
0x00010136 <+4>: addi s0,sp,16
0x00010138 <+6>: 0x52018b
0x0001013c <+10>: 0x9c45
My proposal, in this patch, is to change the behaviour to this:
Dump of assembler code for function custom_insn:
0x00010132 <+0>: addi sp,sp,-16
0x00010134 <+2>: sw s0,12(sp)
0x00010136 <+4>: addi s0,sp,16
0x00010138 <+6>: .4byte 0x52018b
0x0001013c <+10>: .2byte 0x9c45
Adding the .4byte and .2byte opcodes. The benefit that I see here is
that in the patched version of the tools, the disassembler output can
be fed back into the assembler and it should assemble to the same
binary format. Before the patch, the disassembler output is invalid
assembly.
I've started a RISC-V specific test file under binutils so that I can
add a test for this change.
binutils/ChangeLog:
* testsuite/binutils-all/riscv/riscv.exp: New file.
* testsuite/binutils-all/riscv/unknown.d: New file.
* testsuite/binutils-all/riscv/unknown.s: New file.
opcodes/ChangeLog:
* riscv-dis.c (riscv_disassemble_insn): Print a .%dbyte opcode
before an unknown instruction, '%d' is replaced with the
instruction length.
2021-09-18 17:42:41 +08:00
|
|
|
|
2021-09-20 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/riscv/riscv.exp: New file.
|
|
|
|
|
* testsuite/binutils-all/riscv/unknown.d: New file.
|
|
|
|
|
* testsuite/binutils-all/riscv/unknown.s: New file.
|
|
|
|
|
|
2021-09-07 21:41:01 +08:00
|
|
|
|
2021-09-07 Luis Machado <luis.machado@linaro.org>
|
|
|
|
|
|
|
|
|
|
Revert: [AArch64] MTE corefile support
|
|
|
|
|
|
|
|
|
|
2021-05-21 Luis Machado <luis.machado@linaro.org>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_note_type): Handle NT_MEMTAG note types.
|
|
|
|
|
|
2021-08-11 20:40:37 +08:00
|
|
|
|
2021-08-11 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/pt.po: Updated Portuguese translation.
|
|
|
|
|
|
2021-08-10 23:40:37 +08:00
|
|
|
|
2021-08-10 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/sr.po: Updated Serbian translation.
|
|
|
|
|
|
2021-07-16 20:57:15 +08:00
|
|
|
|
2021-07-16 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/sv.po: Updated Swedish translation.
|
|
|
|
|
|
2021-06-11 17:00:56 +08:00
|
|
|
|
2021-07-14 Clément Chigot <clement.chigot@atos.net>
|
|
|
|
|
|
|
|
|
|
* dwarf.h (struct dwarf_section): Add XCOFF name.
|
|
|
|
|
* dwarf.c (struct dwarf_section_display): Update.
|
|
|
|
|
* objdump.c (load_debug_section): Add XCOFF name handler.
|
|
|
|
|
(dump_dwarf_section): Likewise.
|
|
|
|
|
|
2021-07-12 21:20:14 +08:00
|
|
|
|
2021-07-12 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/fr.po: Updated French translation.
|
|
|
|
|
|
PR28069, assertion fail in dwarf.c:display_discr_list
We shouldn't be asserting on anything to do with leb128 values, or
reporting file and line numbers when something unexpected happens.
leb128 data is of indeterminate length, perfect for fuzzer mayhem.
It would only make sense to assert or report dwarf.c/readelf.c source
lines if the code had already sized and sanity checked the leb128
values.
After removing the assertions, the testcase then gave:
<37> DW_AT_discr_list : 5 byte block: 0 0 0 0 0 (label 0, label 0, label 0, label 0, <corrupt>
readelf: Warning: corrupt discr_list - unrecognized discriminant byte 0x5
<3d> DW_AT_encoding : 0 (void)
<3e> DW_AT_identifier_case: 0 (case_sensitive)
<3f> DW_AT_virtuality : 0 (none)
<40> DW_AT_decimal_sign: 5 (trailing separate)
So the DW_AT_discr_list was showing more data than just the 5 byte
block. That happened due to "end" pointing a long way past the end of
block, and uvalue decrementing past zero on one of the leb128 bytes.
PR 28069
* dwarf.c (display_discr_list): Remove assertions. Delete "end"
parameter, use initial "data" pointer as the end. Formatting.
Don't count down bytes as they are read.
(read_and_display_attr_value): Adjust display_discr_list call.
(read_and_print_leb128): Don't pass __FILE__ and __LINE__ to
report_leb_status.
* dwarf.h (report_leb_status): Don't report file and line
numbers. Delete file and lnum parameters,
(READ_ULEB, READ_SLEB): Adjust.
2021-07-10 08:04:30 +08:00
|
|
|
|
2021-07-10 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 28069
|
|
|
|
|
* dwarf.c (display_discr_list): Remove assertions. Delete "end"
|
|
|
|
|
parameter, use initial "data" pointer as the end. Formatting.
|
|
|
|
|
Don't count down bytes as they are read.
|
|
|
|
|
(read_and_display_attr_value): Adjust display_discr_list call.
|
|
|
|
|
(read_and_print_leb128): Don't pass __FILE__ and __LINE__ to
|
|
|
|
|
report_leb_status.
|
|
|
|
|
* dwarf.h (report_leb_status): Don't report file and line
|
|
|
|
|
numbers. Delete file and lnum parameters,
|
|
|
|
|
(READ_ULEB, READ_SLEB): Adjust.
|
|
|
|
|
|
2021-07-07 19:44:31 +08:00
|
|
|
|
2021-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Check for strnlen declaration.
|
|
|
|
|
* configure, config.in: Regenerate.
|
|
|
|
|
|
2021-07-03 08:08:40 +08:00
|
|
|
|
2021-07-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 28047
|
|
|
|
|
* dwarf.c (get_type_abbrev_from_form): Add cu_end parameter.
|
|
|
|
|
Check DW_FORM_ref1 etc. arg against cu_end rather than end of
|
|
|
|
|
section. Adjust all callers.
|
|
|
|
|
|
2021-07-03 22:16:48 +08:00
|
|
|
|
2021-07-03 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* po/opcodes.pot: Regenerate.
|
|
|
|
|
* README-how-to-make-a-release: Update.
|
|
|
|
|
|
2021-07-03 21:50:57 +08:00
|
|
|
|
2021-07-03 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* 2.37 release branch created.
|
|
|
|
|
|
2021-07-02 21:48:04 +08:00
|
|
|
|
2021-07-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 28048
|
|
|
|
|
* dwarf.c (get_type_signedness): Don't run off end of buffer
|
|
|
|
|
printing DW_FORM_string attribute.
|
|
|
|
|
|
2021-07-01 21:10:38 +08:00
|
|
|
|
2021-07-01 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 28029
|
|
|
|
|
* testsuite/binutils-all/debuginfod.exp: Replace -wK with -wk.
|
|
|
|
|
|
2021-07-01 19:01:55 +08:00
|
|
|
|
2021-07-01 Andrei Homescu <ah@immunant.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_archive): Reset file position to the
|
|
|
|
|
beginning when calling process_object for thin archive members.
|
|
|
|
|
* testsuite/binutils-all/readelf.exp: Add test.
|
|
|
|
|
* testsuite/binutils-all/readelf.h.thin: New file.
|
|
|
|
|
|
2021-06-30 23:17:46 +08:00
|
|
|
|
2021-06-30 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (read_and_display_attr_value): Handle
|
|
|
|
|
DW_FORM_implicit_const.
|
|
|
|
|
|
2021-06-30 19:11:54 +08:00
|
|
|
|
2021-06-30 Richard Henderson <richard.henderson@linaro.org>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_frames): Both DW_CFA_def_cfa_sf
|
|
|
|
|
and DW_CFA_def_cfa_offset_sf have a signed offset.
|
|
|
|
|
|
2021-06-18 16:54:43 +08:00
|
|
|
|
2021-06-19 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_lines_decoded): Use memcpy rather than
|
|
|
|
|
strncpy when trimming file name length to MAX_FILENAME_LENGTH.
|
|
|
|
|
Don't make an unnecessary copy when length is good.
|
|
|
|
|
|
elf: Add GNU_PROPERTY_UINT32_AND_XXX/GNU_PROPERTY_UINT32_OR_XXX
Implement GNU_PROPERTY_UINT32_AND_XXX/GNU_PROPERTY_UINT32_OR_XXX:
https://sourceware.org/pipermail/gnu-gabi/2021q1/000467.html
1. GNU_PROPERTY_UINT32_AND_LO..GNU_PROPERTY_UINT32_AND_HI
#define GNU_PROPERTY_UINT32_AND_LO 0xb0000000
#define GNU_PROPERTY_UINT32_AND_HI 0xb0007fff
A bit in the output pr_data field is set only if it is set in all
relocatable input pr_data fields. If all bits in the the output
pr_data field are zero, this property should be removed from output.
If the bit is 1, all input relocatables have the feature. If the
bit is 0 or the property is missing, the info is unknown.
2. GNU_PROPERTY_UINT32_OR_LO..GNU_PROPERTY_UINT32_OR_HI
#define GNU_PROPERTY_UINT32_OR_LO 0xb0008000
#define GNU_PROPERTY_UINT32_OR_HI 0xb000ffff
A bit in the output pr_data field is set if it is set in any
relocatable input pr_data fields. If all bits in the the output
pr_data field are zero, this property should be removed from output.
If the bit is 1, some input relocatables have the feature. If the
bit is 0 or the property is missing, the info is unknown.
bfd/
* elf-properties.c (_bfd_elf_parse_gnu_properties): Handle
GNU_PROPERTY_UINT32_AND_LO, GNU_PROPERTY_UINT32_AND_HI,
GNU_PROPERTY_UINT32_OR_LO and GNU_PROPERTY_UINT32_OR_HI.
(elf_merge_gnu_properties): Likewise.
binutils/
* readelf.c (print_gnu_property_note): Handle
GNU_PROPERTY_UINT32_AND_LO, GNU_PROPERTY_UINT32_AND_HI,
GNU_PROPERTY_UINT32_OR_LO and GNU_PROPERTY_UINT32_OR_HI.
include/
* elf/common.h (GNU_PROPERTY_UINT32_AND_LO): New.
(GNU_PROPERTY_UINT32_AND_HI): Likewise.
(GNU_PROPERTY_UINT32_OR_LO): Likewise.
(GNU_PROPERTY_UINT32_OR_HI): Likewise.
ld/
* testsuite/ld-elf/property-and-1.d: New file.
* testsuite/ld-elf/property-and-1.s: Likewise.
* testsuite/ld-elf/property-and-2.d: Likewise.
* testsuite/ld-elf/property-and-2.s: Likewise.
* testsuite/ld-elf/property-and-3.d: Likewise.
* testsuite/ld-elf/property-and-3.s: Likewise.
* testsuite/ld-elf/property-and-4.d: Likewise.
* testsuite/ld-elf/property-and-empty.s: Likewise.
* testsuite/ld-elf/property-or-1.d: Likewise.
* testsuite/ld-elf/property-or-1.s: Likewise.
* testsuite/ld-elf/property-or-2.d: Likewise.
* testsuite/ld-elf/property-or-2.s: Likewise.
* testsuite/ld-elf/property-or-3.d: Likewise.
* testsuite/ld-elf/property-or-3.s: Likewise.
* testsuite/ld-elf/property-or-4.d: Likewise.
* testsuite/ld-elf/property-or-empty.s: Likewise.
2021-06-18 22:18:02 +08:00
|
|
|
|
2021-06-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (print_gnu_property_note): Handle
|
|
|
|
|
GNU_PROPERTY_UINT32_AND_LO, GNU_PROPERTY_UINT32_AND_HI,
|
|
|
|
|
GNU_PROPERTY_UINT32_OR_LO and GNU_PROPERTY_UINT32_OR_HI.
|
|
|
|
|
|
2021-06-15 18:43:43 +08:00
|
|
|
|
2021-06-15 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_note_type): Add support for NT_GO_BUILDID.
|
|
|
|
|
|
2021-06-11 12:53:57 +08:00
|
|
|
|
2021-06-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (locate_dynamic_section, is_pie): New functions.
|
|
|
|
|
(get_file_type): Replace e_type parameter with filedata. Call
|
|
|
|
|
is_pie for ET_DYN. Update all callers.
|
|
|
|
|
(process_program_headers): Use local variables dynamic_addr and
|
|
|
|
|
dynamic_size, updating filedata on exit from function. Set
|
|
|
|
|
dynamic_size of 1 to indicate no dynamic section or segment.
|
|
|
|
|
Update tests of dynamic_size throughout.
|
|
|
|
|
* testsuite/binutils-all/x86-64/pr27708.dump: Update expected output.
|
|
|
|
|
|
2021-06-14 21:43:19 +08:00
|
|
|
|
2021-06-14 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (struct abbrev_attr): Change type of implicit_const.
|
|
|
|
|
(add_abbrev_attr): Likewise.
|
|
|
|
|
(process_abbrev_set): Likewise.
|
|
|
|
|
(display_debug_abbrev): Adjust to above change.
|
|
|
|
|
|
2021-06-12 10:29:22 +08:00
|
|
|
|
2021-06-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_file_header): Don't clear section_headers.
|
|
|
|
|
|
2021-06-12 09:24:21 +08:00
|
|
|
|
2021-06-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_section_headers): Don't test e_shoff here, leave
|
|
|
|
|
that to get_32bit_section_headers or get_64bit_section_headers.
|
|
|
|
|
(process_object): Throw away section header read to print file
|
|
|
|
|
header extension.
|
|
|
|
|
|
2021-06-11 11:19:02 +08:00
|
|
|
|
2021-06-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (struct filedata): Move archive_file_offset and
|
|
|
|
|
archive_file_size earlier.
|
|
|
|
|
(free_filedata): Clear using memset.
|
|
|
|
|
|
2021-06-11 12:42:07 +08:00
|
|
|
|
2021-06-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (GET_ELF_SYMBOLS): Delete. Replace with..
|
|
|
|
|
(get_elf_symbols): ..this new function throughout.
|
|
|
|
|
(get_32bit_section_headers): Don't free section_headers.
|
|
|
|
|
(get_64bit_section_headers): Likewise.
|
|
|
|
|
(get_section_headers): New function, use throughout in place of
|
|
|
|
|
32bit and 64bit variants.
|
|
|
|
|
(get_dynamic_section): Similarly.
|
|
|
|
|
(process_section_headers): Don't free filedata memory here.
|
|
|
|
|
(get_file_header): Don't get section headers here..
|
|
|
|
|
(process_object): ..Read them here instead. Don't exit without
|
|
|
|
|
freeing filedata memory.
|
|
|
|
|
|
2021-06-10 00:02:54 +08:00
|
|
|
|
2021-06-09 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS: Remove Daniel Jacobwitz from the maintainers list.
|
|
|
|
|
|
2021-06-07 14:37:42 +08:00
|
|
|
|
2021-06-07 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_aranges): Add u suffix to constant.
|
|
|
|
|
|
2021-05-29 21:15:28 +08:00
|
|
|
|
2021-05-29 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* objdump (usage): Add missing \n.
|
|
|
|
|
|
2021-05-27 08:51:59 +08:00
|
|
|
|
2021-05-29 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (parse_args): Call dwarf_select_sections_all on
|
|
|
|
|
--debug-dump without optarg.
|
|
|
|
|
(usage): Associate -w and --debug-dump options closely.
|
|
|
|
|
Split up help message. Remove extraneous blank lines around
|
|
|
|
|
ctf help.
|
|
|
|
|
* objdump.c (usage): Similarly.
|
|
|
|
|
|
MIPS/opcodes: Do not use CP0 register names for control registers
The CP0 control register set has never been defined, however encodings
for the CFC0 and CTC0 instructions remained available for implementers
up until the MIPS32 ISA declared them invalid and causing the Reserved
Instruction exception[1]. Therefore we handle them for both assembly
and disassembly, however in the latter case the names of CP0 registers
from the regular set are incorrectly printed if named registers are
requested. This is because we do not define separate operand classes
for coprocessor regular and control registers respectively, which means
the disassembler has no way to tell the two cases apart. Consequently
nonsensical disassembly is produced like:
cfc0 v0,c0_random
Later the MIPSr5 ISA reused the encodings for XPA ASE MFHC0 and MTHC0
instructions[2] although it failed to document them in the relevant
opcode table until MIPSr6 only.
Correct the issue then by defining a new register class, OP_REG_CONTROL,
and corresponding operand codes, `g' and `y' for the two positions in
the machine instruction a control register operand can take. Adjust the
test cases affected accordingly.
While at it swap the regular MIPS opcode table "cfc0" and "ctc0" entries
with each other so that they come in the alphabetical order.
References:
[1] "MIPS32 Architecture For Programmers, Volume II: The MIPS32
Instruction Set", MIPS Technologies, Inc., Document Number: MD00086,
Revision 1.00, August 29, 2002, Table A-9 "MIPS32 COP0 Encoding of
rs Field", p. 242
[2] "MIPS Architecture For Programmers, Volume II-A: The MIPS32
Instruction Set", MIPS Technologies, Inc., Document Number: MD00086,
Revision 5.04, December 11, 2013, Section 3.2 "Alphabetical List of
Instructions", pp. 195, 216
include/
* opcode/mips.h: Document `g' and `y' operand codes.
(mips_reg_operand_type): Add OP_REG_CONTROL enumeration
constant.
gas/
* tc-mips.c (convert_reg_type) <OP_REG_CONTROL>: New case.
(macro) <M_TRUNCWS, M_TRUNCWD>: Use the `g' rather than `G'
operand code.
opcodes/
* mips-dis.c (print_reg) <OP_REG_COPRO>: Move control register
handling code over to...
<OP_REG_CONTROL>: ... this new case.
* mips-opc.c (decode_mips_operand) <'g', 'y'>: New cases.
(mips_builtin_opcodes): Update "cfc1", "ctc1", "cttc1", "cttc2",
"cfc0", "ctc0", "cfc2", "ctc2", "cfc3", and "ctc3" entries
replacing the `G' operand code with `g'. Update "cftc1" and
"cftc2" entries replacing the `E' operand code with `y'.
* micromips-opc.c (decode_micromips_operand) <'g'>: New case.
(micromips_opcodes): Update "cfc1", "cfc2", "ctc1", and "ctc2"
entries replacing the `G' operand code with `g'.
binutils/
* testsuite/binutils-all/mips/mips-xpa-virt-1.d: Correct CFC0
operand disassembly.
* testsuite/binutils-all/mips/mips-xpa-virt-3.d: Likewise.
2021-05-29 09:26:32 +08:00
|
|
|
|
2021-05-29 Maciej W. Rozycki <macro@orcam.me.uk>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/mips/mips-xpa-virt-1.d: Correct CFC0
|
|
|
|
|
operand disassembly.
|
|
|
|
|
* testsuite/binutils-all/mips/mips-xpa-virt-3.d: Likewise.
|
|
|
|
|
|
2021-05-29 09:26:32 +08:00
|
|
|
|
2021-05-29 Maciej W. Rozycki <macro@orcam.me.uk>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/mips/mips-xpa-virt-1.d: Use `mips:3000'
|
|
|
|
|
machine for disassembly.
|
|
|
|
|
* testsuite/binutils-all/mips/mips-xpa-virt-2.d: Likewise.
|
|
|
|
|
* testsuite/binutils-all/mips/mips-xpa-virt-3.d: Likewise.
|
|
|
|
|
* testsuite/binutils-all/mips/mips-xpa-virt-4.d: Likewise.
|
|
|
|
|
|
2021-05-29 00:34:10 +08:00
|
|
|
|
2021-05-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27905
|
|
|
|
|
* readelf.c (decode_x86_feature_2): Revert commit 50c95a739c9.
|
|
|
|
|
|
2021-05-27 07:51:18 +08:00
|
|
|
|
2021-05-27 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* readelf (usage): Order -w letters to match --debug-dump= and
|
|
|
|
|
move common '=' for --debug-dump out of brackets.
|
|
|
|
|
|
2021-05-27 03:13:13 +08:00
|
|
|
|
2021-05-26 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27905
|
|
|
|
|
* readelf.c (decode_x86_feature_2): Support
|
|
|
|
|
GNU_PROPERTY_X86_FEATURE_2_CODE16.
|
|
|
|
|
|
2021-05-23 10:16:36 +08:00
|
|
|
|
2021-05-23 Tiezhu Yang <yangtiezhu@loongson.cn>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_machine_name): Change Loongson Loongarch to
|
|
|
|
|
LoongArch.
|
|
|
|
|
|
2021-05-21 17:43:52 +08:00
|
|
|
|
2021-05-21 Luis Machado <luis.machado@linaro.org>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_note_type): Add missing NT_ARM_* entries.
|
|
|
|
|
|
2021-05-21 17:40:32 +08:00
|
|
|
|
2021-05-21 Luis Machado <luis.machado@linaro.org>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_note_type): Handle NT_MEMTAG note types.
|
|
|
|
|
|
2021-05-19 19:08:30 +08:00
|
|
|
|
2021-05-19 Eli Schwartz <eschwartz@archlinux.org>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (ENABLE_CHECKING): Define to 0 if not previously set.
|
|
|
|
|
|
2021-05-18 22:11:10 +08:00
|
|
|
|
2021-05-19 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27884
|
|
|
|
|
* dwarf.c (get_type_abbrev_from_form): Replace cu_offset_return
|
|
|
|
|
param with map_return, and return map for DW_FORM_ref_addr.
|
|
|
|
|
(get_type_signedness): Adjust calls to get_type_abbrev_from_form.
|
|
|
|
|
Pass returned cu map start and end to recursive call.
|
|
|
|
|
(read_and_display_attr_value): Similarly.
|
|
|
|
|
|
2021-05-18 22:09:35 +08:00
|
|
|
|
2021-05-19 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27879
|
|
|
|
|
* sysdump.c (getBARRAY): Sanity check size against max.
|
|
|
|
|
(getINT): Avoid UB shift left.
|
|
|
|
|
|
2021-05-15 14:10:46 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (process_cu_tu_index): Avoid pointer UB. Use _mul_overflow.
|
|
|
|
|
Delete dead code.
|
|
|
|
|
|
2021-05-15 14:07:07 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_gdb_index): Avoid pointer UB and overflow in
|
|
|
|
|
length calculations.
|
|
|
|
|
|
2021-05-15 13:59:47 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_names): Complain when header length is
|
|
|
|
|
too small. Avoid pointer UB. Sanity check augmentation string,
|
|
|
|
|
CU table, TU table and foreign TU table sizes.
|
|
|
|
|
|
2021-05-15 13:54:03 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_frames): Delete initial_length_size.
|
|
|
|
|
Avoid pointer UB. Constrain data reads to length given in header.
|
|
|
|
|
Sanity check cie header length. Only skip up to next FDE on
|
|
|
|
|
finding augmentation data too long.
|
|
|
|
|
|
2021-05-15 13:52:39 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (read_cie): Add more sanity checks to ensure data
|
|
|
|
|
pointer is not bumped past end.
|
|
|
|
|
|
2021-05-15 13:47:58 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_ranges): Delete initial_length_size.
|
|
|
|
|
Correct fallback size calculated on finding a reloc. Constrain
|
|
|
|
|
data reads to length given in header. Avoid pointer UB.
|
|
|
|
|
|
2021-05-15 13:47:16 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_rnglists_list): Avoid pointer UB.
|
|
|
|
|
|
2021-05-15 13:45:47 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_str_offsets): Constrain reads to length
|
|
|
|
|
given in header.
|
|
|
|
|
|
2021-05-15 13:43:55 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_aranges): Delete initial_length_size.
|
|
|
|
|
Use end_ranges to constrain data reads to header length. Avoid
|
|
|
|
|
pointer UB.
|
|
|
|
|
|
2021-05-15 13:40:44 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_loc_list): Avoid pointer UB. Correct check
|
|
|
|
|
before reading uleb length. Warn on excess length.
|
|
|
|
|
|
2021-05-15 13:39:20 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_macro): Print strings that might not
|
|
|
|
|
be zero terminated with %*s. Don't bump curr if unterminated.
|
|
|
|
|
|
2021-05-15 13:36:28 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (get_line_filename_and_dirname): Delete initial_length_size.
|
|
|
|
|
Simplify length sanity check, and check for too small lengths.
|
|
|
|
|
Constrain data reads to header length. Avoid pointer UB.
|
|
|
|
|
|
2021-05-15 13:31:51 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_macinfo): Print strings that might not
|
|
|
|
|
be zero terminated with %*s. Don't bump curr if unterminated.
|
|
|
|
|
|
2021-05-15 13:28:37 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_pubnames_worker): Delete initial_length_size.
|
|
|
|
|
Simplify length check. Constrain reads to length given by header.
|
|
|
|
|
|
2021-05-15 13:24:55 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_lines_decoded): Don't use strnlen when
|
|
|
|
|
we have already checked for NUL termination.
|
|
|
|
|
|
2021-05-15 13:18:48 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (read_debug_line_header): Delete initial_length_size.
|
|
|
|
|
Avoid pointer UB. Keep within length specified by header.
|
|
|
|
|
Delete dead code.
|
|
|
|
|
|
2021-05-15 13:09:11 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (process_debug_info): Always do the first CU length
|
|
|
|
|
scan for sanity checks. Remove initial_length_size var and
|
|
|
|
|
instead calculate end_cu. Use end_cu to limit data reads.
|
|
|
|
|
Delete now dead code checking length.
|
|
|
|
|
|
2021-05-15 13:07:42 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (SAFE_BYTE_GET_INTERNAL): Assert only when ENABLE_CHECKING.
|
|
|
|
|
|
2021-05-15 13:06:26 +08:00
|
|
|
|
2021-05-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* bucomm.h (_mul_overflow): Define.
|
|
|
|
|
* dwarf.c (get_encoded_value): Avoid pointer UB.
|
|
|
|
|
|
2021-05-13 21:16:36 +08:00
|
|
|
|
2021-05-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27861
|
|
|
|
|
* dwarf.c (display_debug_str_offsets): Sanity check dwarf5
|
|
|
|
|
header length.
|
|
|
|
|
|
2021-05-13 20:52:45 +08:00
|
|
|
|
2021-05-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27860
|
|
|
|
|
* dwarf.c (display_debug_frames): Sanity check cie_off before
|
|
|
|
|
attempting to read cie.
|
|
|
|
|
|
2021-05-12 15:57:34 +08:00
|
|
|
|
2021-05-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (process_extended_line_op): Don't bump data pointer past
|
|
|
|
|
end when strnlen doesn't find string terminator.
|
|
|
|
|
(decode_location_expression): Remove dead code.
|
|
|
|
|
(skip_attr_bytes): Remove const from end param. Ensure data
|
|
|
|
|
pointer doesn't pass end.
|
|
|
|
|
(get_type_signedness): Remove const from end param.
|
|
|
|
|
(read_and_display_attr_value): Ensure data pointer doesn't pass end.
|
|
|
|
|
(display_debug_lines_raw, display_debug_lines_decoded): Likewise.
|
|
|
|
|
(display_debug_pubnames_worker): Likewise.
|
|
|
|
|
(display_debug_pubnames_worker): Use SAFE_BYTE_GET_AND INC rather
|
|
|
|
|
than blindly incrementing data pointer.
|
|
|
|
|
(display_debug_addr, display_debug_str_offsets): Likewise. Don't
|
|
|
|
|
compare pointers, compare lengths.
|
|
|
|
|
|
2021-05-12 11:21:52 +08:00
|
|
|
|
2021-05-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (SAFE_BYTE_GET_INTERNAL): Define.
|
|
|
|
|
(SAFE_BYTE_GET, SAFE_BYTE_GET_AND_INC): Define using the above.
|
|
|
|
|
(SAFE_SIGNED_BYTE_GET, SAFE_SIGNED_BYTE_GET_AND_INC): Likewise.
|
|
|
|
|
(display_discr_list): Use SAFE_BYTE_GET_AND_INC rather than
|
|
|
|
|
SAFE_BYTE_GET followed by increment.
|
|
|
|
|
(process_debug_info): Likewise, and test bytes remaining before
|
|
|
|
|
incrementing section_begin rather than using pointer comparison.
|
|
|
|
|
(display_debug_names): Pass lvalue as SAFE_BYTE_GET PTR.
|
|
|
|
|
(process_cu_tu_index): Likewise for SAFE_BYTE_GET_AND_INC.
|
|
|
|
|
|
SAFE_BYTE_GET64
Functions dealing with lack of a 64-bit integer type can disappear now
that we require C99. Printing using dwarf_vmatoa is better too.
binutils/
* dwarf.c (dwarf_vmatoa64, SAFE_BYTE_GET64, add64): Delete.
(skip_attr_bytes): Replace use of SAFE_BYTE_GET64 with
SAFE_BYTE_GET_AND_INC.
(read_and_display_attr_value): Likewise. Print using dwarf_vmatoa.
(process_debug_info, process_cu_tu_index): Likewise.
* elfcomm.c (byte_put, byte_put_little_endian, byte_put_big_endian),
(byte_get, byte_get_little_endian, byte_get_big_endian),
(byte_get_signed): Make size param unsigned. Remove code dealing
with 4-byte elf_vma.
(byte_get_64): Delete.
* elfcomm.h (byte_put, byte_put_little_endian, byte_put_big_endian),
(byte_get, byte_get_little_endian, byte_get_big_endian),
(byte_get_signed): Update prototypes.
(byte_get_64): Delete.
gas/
* testsuite/gas/elf/dwarf-5-file0.d: Update.
* testsuite/gas/i386/dwarf5-line-1.d: Update.
2021-05-12 16:18:13 +08:00
|
|
|
|
2021-05-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (dwarf_vmatoa64, SAFE_BYTE_GET64, add64): Delete.
|
|
|
|
|
(skip_attr_bytes): Replace use of SAFE_BYTE_GET64 with
|
|
|
|
|
SAFE_BYTE_GET_AND_INC.
|
|
|
|
|
(read_and_display_attr_value): Likewise. Print using dwarf_vmatoa.
|
|
|
|
|
(process_debug_info, process_cu_tu_index): Likewise.
|
|
|
|
|
* elfcomm.c (byte_put, byte_put_little_endian, byte_put_big_endian),
|
|
|
|
|
(byte_get, byte_get_little_endian, byte_get_big_endian),
|
|
|
|
|
(byte_get_signed): Make size param unsigned. Remove code dealing
|
|
|
|
|
with 4-byte elf_vma.
|
|
|
|
|
(byte_get_64): Delete.
|
|
|
|
|
* elfcomm.h (byte_put, byte_put_little_endian, byte_put_big_endian),
|
|
|
|
|
(byte_get, byte_get_little_endian, byte_get_big_endian),
|
|
|
|
|
(byte_get_signed): Update prototypes.
|
|
|
|
|
(byte_get_64): Delete.
|
|
|
|
|
|
2021-05-11 16:27:04 +08:00
|
|
|
|
2021-05-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27836
|
|
|
|
|
* dwarf.c (display_debug_frames): Don't compare pointers derived
|
|
|
|
|
from user input. Test offset against bounds instead.
|
|
|
|
|
|
2021-05-12 13:41:43 +08:00
|
|
|
|
2021-05-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27853
|
|
|
|
|
* dwarf.c (display_formatted_table): Test for data >= end rather
|
|
|
|
|
than data == end.
|
|
|
|
|
(process_extended_line_op): Likewise.
|
|
|
|
|
(display_debug_lines_raw): Likewise.
|
|
|
|
|
(display_debug_lines_decoded): Likewise.
|
|
|
|
|
|
2021-05-12 07:21:22 +08:00
|
|
|
|
2021-05-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27849
|
|
|
|
|
* dwarf.c (fetch_indexed_string): Correct length sanity checks.
|
|
|
|
|
Sanity check section size for version and padding too. Correct
|
|
|
|
|
index sanity check. Handle multiple tables in .debug_str_offsets.
|
|
|
|
|
|
2021-05-11 22:12:24 +08:00
|
|
|
|
2021-05-11 Hans-Peter Nilsson <hp@axis.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (process_abbrev_set): Properly parenthesize before
|
|
|
|
|
casting to unsigned long.
|
|
|
|
|
|
2021-05-11 16:27:59 +08:00
|
|
|
|
2021-05-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27845
|
|
|
|
|
* dwarf.c (process_abbrev_set): Replace start and end parameters
|
|
|
|
|
with section, abbrev_base, abbrev_size, abbrev_offset. Update
|
|
|
|
|
all callers. Sanity check parameters correctly and emit warnings
|
|
|
|
|
here rather than..
|
|
|
|
|
(process_debug_info): ..here.
|
|
|
|
|
|
2021-05-10 18:28:15 +08:00
|
|
|
|
2021-05-10 Thomas Wolff <towo@towo.net>
|
|
|
|
|
|
|
|
|
|
PR 4356
|
|
|
|
|
PR 26865
|
|
|
|
|
PR 27594
|
|
|
|
|
* windres.c (quot): Revert previous delta. Do not use double
|
|
|
|
|
quotes when spaces are detected in options.
|
|
|
|
|
* doc/binutils.texi (windres): Remove suggestion that the
|
|
|
|
|
--preprocessor option can take arguments.
|
|
|
|
|
|
2021-05-10 08:26:43 +08:00
|
|
|
|
2021-05-10 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (SAFE_BYTE_GET): Check bounds by subtracting amount from
|
|
|
|
|
END rather than adding amount to PTR.
|
|
|
|
|
(SAFE_SIGNED_BYTE_GET, SAFE_BYTE_GET64): Likewise.
|
|
|
|
|
|
2021-05-09 10:58:18 +08:00
|
|
|
|
2021-05-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* objcopy.c (eq_string): Delete.
|
|
|
|
|
(create_symbol_htab): Use htab_eq_string.
|
|
|
|
|
|
2021-05-03 00:58:11 +08:00
|
|
|
|
2021-05-08 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* README-how-to-make-a-release: Update html & pdf entries.
|
|
|
|
|
|
2021-05-03 00:50:39 +08:00
|
|
|
|
2021-05-08 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* doc/Makefile.am (html-local, binutils/index.html): New targets.
|
|
|
|
|
* doc/Makefile.in: Regenerate.
|
|
|
|
|
|
2021-05-03 00:09:00 +08:00
|
|
|
|
2021-05-08 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* doc/Makefile.am (AM_MAKEINFOFLAGS): Add --no-split.
|
|
|
|
|
* doc/Makefile.in: Regenerate.
|
|
|
|
|
|
2021-05-07 22:24:14 +08:00
|
|
|
|
2021-05-07 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (no_processor_specific_unwind): New function.
|
|
|
|
|
(process_unwind): Use no_processor_specific_unwind for X86
|
|
|
|
|
targets.
|
|
|
|
|
|
2021-05-01 15:55:16 +08:00
|
|
|
|
2021-05-07 Michael Forney <mforney@mforney.org>
|
|
|
|
|
|
|
|
|
|
* dwarf.c: Don't omit second operand of '?' operator.
|
|
|
|
|
|
2021-04-30 19:28:39 +08:00
|
|
|
|
2021-04-30 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27796
|
|
|
|
|
* dwarf.c (load_debug_sup_file): Allocate memory for filename in
|
|
|
|
|
.debug_sup section.
|
|
|
|
|
|
2021-04-29 20:11:29 +08:00
|
|
|
|
2021-04-29 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27594
|
|
|
|
|
* doc/binutils.texi (windres): Correct the description of the
|
|
|
|
|
default value of the --preprocessor argument.
|
|
|
|
|
|
2021-04-27 22:19:41 +08:00
|
|
|
|
2021-04-27 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27779
|
|
|
|
|
* dwarf.c (parse_gnu_debuglink): Reject empty names.
|
|
|
|
|
(parse_gnu_debugaltlink): Likewise.
|
|
|
|
|
|
2021-04-22 19:28:50 +08:00
|
|
|
|
2021-04-22 Clément Chigot <clement.chigot@atos.net>
|
|
|
|
|
|
|
|
|
|
* od-xcoff.c (dump_xcoff32_symbols): Adapt to new
|
|
|
|
|
aux structures.
|
|
|
|
|
|
2021-04-21 22:33:13 +08:00
|
|
|
|
2021-04-21 Nick Lott <nick.lott@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27672
|
|
|
|
|
* readelf.c (sym_base): New variable.
|
|
|
|
|
(enum print_mode): Add more modes.
|
|
|
|
|
(print_vma): Add suport for new modes.
|
|
|
|
|
(options): Add sym-base.
|
|
|
|
|
(usage): Add sym-base.
|
|
|
|
|
(parse_args): Add support for --sym-base.
|
|
|
|
|
(print_dynamic_symbol_size): New function.
|
|
|
|
|
(print_dynamic_symbol): Use new function.
|
|
|
|
|
* doc/binutils.texi: Document the new feature.
|
|
|
|
|
* NEWS: Mention the new feature.
|
|
|
|
|
|
2021-04-21 17:34:32 +08:00
|
|
|
|
2021-04-21 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/mips/global-local-symtab-sort-n64t.d:
|
|
|
|
|
Adjust expected output to allow for named section symbols.
|
|
|
|
|
* testsuite/binutils-all/mips/global-local-symtab-sort-o32t.d:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/binutils-all/readelf.s-64: Likewise.
|
|
|
|
|
* testsuite/binutils-all/readelf.ss-64-unused: Likewise.
|
|
|
|
|
* testsuite/binutils-all/readelf.ss-tmips: Likewise.
|
|
|
|
|
* testsuite/binutils-all/readelf.ss-unused: Likewise.
|
|
|
|
|
|
|
|
|
|
2021-04-21 Luo Longjun <luolongjun@huawei.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (print_dynamic_symbol): Print the section name for
|
|
|
|
|
section symbols without a name of their own.
|
|
|
|
|
|
2021-04-20 15:18:02 +08:00
|
|
|
|
2021-04-20 Andreas Krebbel <krebbel@linux.ibm.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS: Remove Martin Schwidefsky as s390 maintainer and
|
|
|
|
|
add him to Past Maintainers.
|
|
|
|
|
Update my email address.
|
|
|
|
|
|
2021-04-20 00:38:39 +08:00
|
|
|
|
2021-04-19 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 21702
|
|
|
|
|
* arsup.c (ar_addmod): Enable plugin support, if available.
|
|
|
|
|
|
2021-04-19 16:41:04 +08:00
|
|
|
|
2021-04-19 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* rename.c: (get_stat_atime_ns): Add prototype.
|
|
|
|
|
(get_stat_mtime_ns): Add prototype.
|
|
|
|
|
|
2021-04-16 10:42:50 +08:00
|
|
|
|
2021-04-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27725
|
|
|
|
|
* rename.c (get_stat_atime, get_stat_mtime): Make static.
|
|
|
|
|
(get_stat_atime_ns, get_stat_mtime_ns): Likewise.
|
|
|
|
|
|
2021-04-15 22:37:28 +08:00
|
|
|
|
2021-04-15 Pekka Seppänen <pexu@sourceware.mail.kapsi.fi>
|
|
|
|
|
|
|
|
|
|
PR 27725
|
|
|
|
|
* rename.c (get_stat_atime_ns): Add ATTRIBUTE_UNUSED.
|
|
|
|
|
(get_stat_mtime_ns): Likewise.
|
|
|
|
|
|
2021-04-14 23:06:42 +08:00
|
|
|
|
2021-04-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27725
|
|
|
|
|
* configure.ac: Check for sys/time.h and utimensat. Use standard
|
|
|
|
|
checks for mkstemp and mkdtemp. Whitespace. Check for nanosecond
|
|
|
|
|
members of struct stat.
|
|
|
|
|
* rename.c: Prefer sys/time.h for utimes over utime.h for utime.
|
|
|
|
|
(STAT_TIMESPEC, STAT_TIMESPEC_NS): Define
|
|
|
|
|
(get_stat_atime_ns, get_stat_mtime_ns): New inline functions.
|
|
|
|
|
(get_stat_atime, get_stat_mtime): Likewise.
|
|
|
|
|
(set_times): Choose first available of utimensat, utimes, utime.
|
|
|
|
|
Use above inline functions to set timespec and timeval values.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* testsuite/binutils-all/objcopy.exp (objcopy_test): Add test of
|
|
|
|
|
file timestamp when --preserve-dates is used.
|
|
|
|
|
|
2021-04-15 00:03:13 +08:00
|
|
|
|
2021-04-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27456
|
|
|
|
|
* rename.c (smart_rename): When TO and FROM are equal, just set
|
|
|
|
|
file timestamp.
|
|
|
|
|
* objcopy.c (strip_main, copy_main): Always call smart_rename.
|
|
|
|
|
|
2021-04-14 20:30:59 +08:00
|
|
|
|
2021-04-14 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/27708
|
|
|
|
|
* testsuite/binutils-all/x86-64/pr27708.dump: New file.
|
|
|
|
|
* testsuite/binutils-all/x86-64/pr27708.exe.bz2: Likewise.
|
|
|
|
|
* testsuite/binutils-all/x86-64/x86-64.exp: Run binutils/27708
|
|
|
|
|
test.
|
|
|
|
|
|
2021-04-14 18:53:30 +08:00
|
|
|
|
2021-04-14 Mark Harmstone <mark@harmstone.com>
|
|
|
|
|
|
|
|
|
|
PR 27686
|
|
|
|
|
* resbin.c (bin_to_res_version): Ignore any trailing bytes at the
|
|
|
|
|
end of the structure.
|
|
|
|
|
|
2021-04-14 18:15:01 +08:00
|
|
|
|
2021-04-14 Frederic Cambus <fred@statdns.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_netbsd_elfcore_note_type): Remove unneeded #ifdef
|
|
|
|
|
checks for NT_NETBSDCORE_AUXV and NT_NETBSDCORE_LWPSTATUS.
|
|
|
|
|
|
2021-04-14 11:12:27 +08:00
|
|
|
|
2021-04-14 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27716
|
|
|
|
|
* objdump.c (show_line): Don't limit paths to PATH_MAX.
|
|
|
|
|
* readelf.c (struct filedata): Change program_interpreter from
|
|
|
|
|
a char array to a char pointer.
|
|
|
|
|
(process_program_headers): Sanity check PT_INTERP p_filesz.
|
|
|
|
|
Malloc program_interpreter using p_filesz and read directly from
|
|
|
|
|
file.
|
|
|
|
|
(process_dynamic_section): Check program_interpreter is non-NULL.
|
|
|
|
|
(free_filedata): New function, split out from..
|
|
|
|
|
(process_object): ..here.
|
|
|
|
|
(close_debug_file): Call free_filedata.
|
|
|
|
|
* sysdep.h: Don't include sys/param.h.
|
|
|
|
|
(PATH_MAX): Don't define.
|
|
|
|
|
* configure.ac: Don't check for sys/param.h.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2021-04-12 21:07:17 +08:00
|
|
|
|
2021-04-13 Frederic Cambus <fred@statdns.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_netbsd_elf_note): Remove now unneeded #ifdef
|
|
|
|
|
check for NT_NETBSD_PAX.
|
|
|
|
|
|
2021-04-12 17:03:45 +08:00
|
|
|
|
2021-04-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac (--enable-checking): Add support.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2021-04-06 17:33:35 +08:00
|
|
|
|
2021-04-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (struct objdump_disasm_info): Delete dynrelbuf and
|
|
|
|
|
dynrelcount.
|
|
|
|
|
(find_symbol_for_address): Adjust for dynrelbuf and dynrelcount move.
|
|
|
|
|
(disassemble_section, disassemble_data): Likewise.
|
|
|
|
|
|
2021-04-06 17:27:04 +08:00
|
|
|
|
2021-04-06 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (objdump_symbol_at_address): Return asymbol*.
|
|
|
|
|
|
2021-04-06 12:12:18 +08:00
|
|
|
|
2021-04-06 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention C99 requirement.
|
|
|
|
|
* README: Likewise. Modernise examples and "Reporting bugs".
|
|
|
|
|
|
C99 binutils configury
* configure.ac: Assume long long is available. Don't test for
strings.h, stdlib.h, limits.h, locale.h, or wchar.h. Check
inttypes.h, stdint.h, sys/stat.h and sys/types.h. Don't check for
strcoll, setlocale, setmode or location of time_t. Don't check
for fprintf, getenv, snprintf, strnlen, strstr or vsnprintf decls.
(AC_ISC_POSIX, AXC_HEADER_STRING, AC_FUNC_ALLOCA): Don't invoke.
* sysdep.h: Don't include alloca-conf.h, include config.h instead.
Test HAVE_SYS_TYPES_H and reorder includes. Include limits.h,
locale.h, string.h and stdlib.h unconditionally. Remove various
fallback declarations. Assume long long is available.
* addr2line.c: Don't test HAVE_SETLOCALE.
* ar.c: Likewise.
* coffdump.c: Likewise.
* dlltool.c: Likewise.
* dllwrap.c: Likewise.
* elfedit.c: Likewise.
* nm.c: Likewise.
* objcopy.c: Likewise.
* objdump.c: Likewise.
* readelf.c: Likewise.
* size.c: Likewise.
* srconv.c: Likewise.
* strings.c: Likewise.
* sysdump.c: Likewise.
* windmc.c: Likewise.
* windres.c: Likewise.
* bucomm.c: Don't test HAVE_TIME_T_IN_TIME_H or HAVE_TIME_T_IN_TYPES_H.
* dwarf.c: Include limits.h unconditionally. Assume long long
is available.
* nm.c: Don't test HAVE_STRCOLL.
* readelf.c: Don't test HAVE_WCHAR_H.
* strings.c: Assume long long is available.
* syslex.l: Include string.h unconditionally.
* aclocal.m4: Regenerate.
* config.in: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
2021-04-05 14:00:22 +08:00
|
|
|
|
2021-04-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Assume long long is available. Don't test for
|
|
|
|
|
strings.h, stdlib.h, limits.h, locale.h, or wchar.h. Check
|
|
|
|
|
inttypes.h, stdint.h, sys/stat.h and sys/types.h. Don't check for
|
|
|
|
|
strcoll, setlocale, setmode or location of time_t. Don't check
|
|
|
|
|
for fprintf, getenv, snprintf, strnlen, strstr or vsnprintf decls.
|
|
|
|
|
(AC_ISC_POSIX, AXC_HEADER_STRING, AC_FUNC_ALLOCA): Don't invoke.
|
|
|
|
|
* sysdep.h: Don't include alloca-conf.h, include config.h instead.
|
|
|
|
|
Test HAVE_SYS_TYPES_H and reorder includes. Include limits.h,
|
|
|
|
|
locale.h, string.h and stdlib.h unconditionally. Remove various
|
|
|
|
|
fallback declarations. Assume long long is available.
|
|
|
|
|
* addr2line.c: Don't test HAVE_SETLOCALE.
|
|
|
|
|
* ar.c: Likewise.
|
|
|
|
|
* coffdump.c: Likewise.
|
|
|
|
|
* dlltool.c: Likewise.
|
|
|
|
|
* dllwrap.c: Likewise.
|
|
|
|
|
* elfedit.c: Likewise.
|
|
|
|
|
* nm.c: Likewise.
|
|
|
|
|
* objcopy.c: Likewise.
|
|
|
|
|
* objdump.c: Likewise.
|
|
|
|
|
* readelf.c: Likewise.
|
|
|
|
|
* size.c: Likewise.
|
|
|
|
|
* srconv.c: Likewise.
|
|
|
|
|
* strings.c: Likewise.
|
|
|
|
|
* sysdump.c: Likewise.
|
|
|
|
|
* windmc.c: Likewise.
|
|
|
|
|
* windres.c: Likewise.
|
|
|
|
|
* bucomm.c: Don't test HAVE_TIME_T_IN_TIME_H or HAVE_TIME_T_IN_TYPES_H.
|
|
|
|
|
* dwarf.c: Include limits.h unconditionally. Assume long long
|
|
|
|
|
is available.
|
|
|
|
|
* nm.c: Don't test HAVE_STRCOLL.
|
|
|
|
|
* readelf.c: Don't test HAVE_WCHAR_H.
|
|
|
|
|
* strings.c: Assume long long is available.
|
|
|
|
|
* syslex.l: Include string.h unconditionally.
|
|
|
|
|
* aclocal.m4: Regenerate.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* doc/Makefile.in: Regenerate.
|
|
|
|
|
|
2021-03-22 21:56:16 +08:00
|
|
|
|
2021-04-01 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* elfcomm.h (strneq): Remove strneq and use startswith.
|
|
|
|
|
* readelf.c (ia64_process_unwind): Likewise.
|
|
|
|
|
(process_note): Likewise.
|
|
|
|
|
|
2021-03-18 22:16:54 +08:00
|
|
|
|
2021-04-01 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* dllwrap.c: Use startswith function.
|
|
|
|
|
* objcopy.c (is_dwo_section): Likewise.
|
|
|
|
|
(handle_remove_section_option): Likewise.
|
|
|
|
|
(copy_main): Likewise.
|
|
|
|
|
* objdump.c (is_significant_symbol_name): Likewise.
|
|
|
|
|
|
2021-03-22 19:12:36 +08:00
|
|
|
|
2021-04-01 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_lines_raw): Replace const_strneq with
|
|
|
|
|
startswith.
|
|
|
|
|
(display_debug_lines_decoded): Likewise.
|
|
|
|
|
(display_debug_links): Likewise.
|
|
|
|
|
* elfcomm.c (setup_archive): Likewise.
|
|
|
|
|
* elfcomm.h (const_strneq): Likewise.
|
|
|
|
|
* readelf.c (process_section_headers): Likewise.
|
|
|
|
|
(slurp_ia64_unwind_table): Likewise.
|
|
|
|
|
(slurp_hppa_unwind_table): Likewise.
|
|
|
|
|
(decode_arm_unwind): Likewise.
|
|
|
|
|
(display_debug_section): Likewise.
|
|
|
|
|
(process_note): Likewise.
|
|
|
|
|
|
Use bool in binutils
* sysdep.h (POISON_BFD_BOOLEAN): Define.
* addr2line.c, * ar.c, * arsup.c, * bfdtest2.c, * binemul.c,
* binemul.h, * bucomm.c, * bucomm.h, * budbg.h, * coffgrok.c,
* debug.c, * debug.h, * dlltool.c, * dwarf.c, * dwarf.h,
* elfedit.c, * emul_aix.c, * mclex.c, * nm.c, * objcopy.c,
* objdump.c, * od-macho.c, * prdbg.c, * rdcoff.c, * rddbg.c,
* readelf.c, * rename.c, * stabs.c, * strings.c, * windint.h,
* windmc.c, * windmc.h, * windres.c, * winduni.c,
* wrstabs.c: Replace bfd_boolean with bool, FALSE with false,
and TRUE with true throughout.
2021-03-31 08:09:37 +08:00
|
|
|
|
2021-03-31 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* sysdep.h (POISON_BFD_BOOLEAN): Define.
|
|
|
|
|
* addr2line.c, * ar.c, * arsup.c, * bfdtest2.c, * binemul.c,
|
|
|
|
|
* binemul.h, * bucomm.c, * bucomm.h, * budbg.h, * coffgrok.c,
|
|
|
|
|
* debug.c, * debug.h, * dlltool.c, * dwarf.c, * dwarf.h,
|
|
|
|
|
* elfedit.c, * emul_aix.c, * mclex.c, * nm.c, * objcopy.c,
|
|
|
|
|
* objdump.c, * od-macho.c, * prdbg.c, * rdcoff.c, * rddbg.c,
|
|
|
|
|
* readelf.c, * rename.c, * stabs.c, * strings.c, * windint.h,
|
|
|
|
|
* windmc.c, * windmc.h, * windres.c, * winduni.c,
|
|
|
|
|
* wrstabs.c: Replace bfd_boolean with bool, FALSE with false,
|
|
|
|
|
and TRUE with true throughout.
|
|
|
|
|
|
2021-03-31 07:37:02 +08:00
|
|
|
|
2021-03-31 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* coffdump.c: Include stdint.h in place of bfd_stdint.h.
|
|
|
|
|
* dwarf.c: Likewise.
|
|
|
|
|
|
2021-03-31 07:32:08 +08:00
|
|
|
|
2021-03-31 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* prdbg.c (pr_function_type): Replace LITSTTCPY with strcpy.
|
|
|
|
|
|
TRUE/FALSE simplification
There is really no need to write code like "foo != 0 ? TRUE : FALSE"
unless we had stupidly defined FALSE as something other than 0 or TRUE
as something other than 1. The simpler "foo != 0" does just as well.
Similarly "(condition == TRUE)" or "(condition == FALSE) can be
simplified to "(condition)" and "(!condition)" respectively.
I'll note that there is reason to use "integer_expression != 0" when
assigning a bfd_boolean rather than the simpler "integer_expression",
if you expect the variable to have 0 or 1 value. It's probably even a
good idea to not rely on implicit conversion if bfd_boolean were _Bool.
bfd/
* aoutx.h (aout_link_write_symbols): Don't cast boolean expression
to bfd_boolean.
* elf32-or1k.c (or1k_set_got_and_rela_sizes): Dont compare booleans
against FALSE.
* elf32-arc.c (name_for_global_symbol): Don't compare boolean to TRUE.
(is_reloc_PC_relative): Don't use "boolean_condition ? TRUE : FALSE".
(is_reloc_SDA_relative, is_reloc_for_GOT): Likewise.
(is_reloc_for_PLT, is_reloc_for_TLS): Likewise.
* elf32-arm.c (stm32l4xx_need_create_replacing_stub): Likewise.
* elf32-nds32.c (insert_nds32_elf_blank): Likewise.
* elf32-rx.c (rx_set_section_contents): Likewise.
* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
* elfxx-mips.c (_bfd_mips_elf_ignore_undef_symbol): Likewise.
* mach-o.c (bfd_mach_o_read_command): Likewise.
* targets.c (bfd_get_target_info): Likewise.
binutils/
* dlltool.c (main): Don't use "boolean_condition ? TRUE : FALSE".
* dwarf.c (read_and_display_attr_value): Likewise.
(display_debug_str_offsets): Likewise.
* objdump.c (dump_bfd): Likewise.
* readelf.c (dump_section_as_strings): Likewise.
(dump_section_as_bytes): Likewise.
gas/
* atof-generic.c (FALSE, TRUE): Don't define.
* config/obj-elf.h (FALSE, TRUE): Don't define.
* config/obj-som.h (FALSE, TRUE): Don't define.
* config/tc-hppa.h (FALSE, TRUE): Don't define.
* config/tc-pdp11.c (FALSE, TRUE): Don't define.
* config/tc-iq2000.h (obj_fix_adjustable): Delete.
* config/tc-m32r.h (TC_FIX_ADJUSTABLE): Delete.
* config/tc-mt.h (obj_fix_adjustable): Delete.
* config/tc-nds32.h (TC_FIX_ADJUSTABLE): Delete.
* config/tc-arc.c (parse_opcode_flags): Simplify boolean expression.
(relaxable_flag, relaxable_operand, assemble_insn): Likewise.
(tokenize_extregister): Likewise.
* config/tc-csky.c (parse_opcode, get_operand_value): Likewise.
(parse_operands_op, parse_operands, md_assemble): Likewise.
* config/tc-d10v.c (build_insn): Likewise.
* config/tc-score.c (s3_gen_insn_frag): Likewise.
* config/tc-score7.c (s7_gen_insn_frag, s7_relax_frag): Likewise.
* config/tc-tic6x.c (tic6x_update_features, md_assemble): Likewise.
* config/tc-z80.c (emit_byte): Likewise.
include/
* opcode/aarch64.h (alias_opcode_p): Simplify boolean expression.
(opcode_has_alias, pseudo_opcode_p, optional_operand_p): Likewise.
(opcode_has_special_coder): Likewise.
ld/
* emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Simplify
boolean expression.
* lexsup.c (parse_args): Likewise.
* pe-dll.c (pe_dll_id_target): Likewise.
opcodes/
* aarch64-opc.c (vector_qualifier_p): Simplify boolean expression.
(fp_qualifier_p, get_data_pattern): Likewise.
(aarch64_get_operand_modifier_from_value): Likewise.
(aarch64_extend_operator_p, aarch64_shift_operator_p): Likewise.
(operand_variant_qualifier_p): Likewise.
(qualifier_value_in_range_constraint_p): Likewise.
(aarch64_get_qualifier_esize): Likewise.
(aarch64_get_qualifier_nelem): Likewise.
(aarch64_get_qualifier_standard_value): Likewise.
(get_lower_bound, get_upper_bound): Likewise.
(aarch64_find_best_match, match_operands_qualifier): Likewise.
(aarch64_print_operand): Likewise.
* aarch64-opc.h (operand_has_inserter, operand_has_extractor): Likewise.
(operand_need_sign_extension, operand_need_shift_by_two): Likewise.
(operand_need_shift_by_four, operand_maybe_stack_pointer): Likewise.
* arm-dis.c (print_insn_mve, print_insn_thumb32): Likewise.
* tic6x-dis.c (tic6x_check_fetch_packet_header): Likewise.
(print_insn_tic6x): Likewise.
2021-03-29 07:22:56 +08:00
|
|
|
|
2021-03-29 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dlltool.c (main): Don't use "boolean_condition ? TRUE : FALSE".
|
|
|
|
|
* dwarf.c (read_and_display_attr_value): Likewise.
|
|
|
|
|
(display_debug_str_offsets): Likewise.
|
|
|
|
|
* objdump.c (dump_bfd): Likewise.
|
|
|
|
|
* readelf.c (dump_section_as_strings): Likewise.
|
|
|
|
|
(dump_section_as_bytes): Likewise.
|
|
|
|
|
|
2021-03-29 07:17:16 +08:00
|
|
|
|
2021-03-29 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (process_links): Use type int.
|
|
|
|
|
* readelf.c (request_dump): Don't increment do_dump, set it.
|
|
|
|
|
* windint.h (target_is_bigendian): Use type bfd_boolean.
|
|
|
|
|
* windmc.c (target_is_bigendian): Likewise.
|
|
|
|
|
* windres.c (target_is_bigendian): Likewise.
|
|
|
|
|
|
2021-03-19 18:50:26 +08:00
|
|
|
|
2021-03-22 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
2021-03-29 07:17:16 +08:00
|
|
|
|
* dlltool.c (scan_drectve_symbols): Replace usage of CONST_STRNEQ
|
|
|
|
|
with startswith.
|
2021-03-19 18:50:26 +08:00
|
|
|
|
* emul_aix.c (ar_emul_aix_parse_arg): Likewise.
|
|
|
|
|
* objcopy.c (is_mergeable_note_section): Likewise.
|
|
|
|
|
* objdump.c (dump_dwarf_section): Likewise.
|
|
|
|
|
* prdbg.c (pr_method_type): Likewise.
|
|
|
|
|
(pr_class_baseclass): Likewise.
|
|
|
|
|
(tg_class_baseclass): Likewise.
|
|
|
|
|
* readelf.c (process_lto_symbol_tables): Likewise.
|
|
|
|
|
* stabs.c (ULLHIGH): Likewise.
|
|
|
|
|
(parse_stab_argtypes): Likewise.
|
|
|
|
|
(stab_demangle_function_name): Likewise.
|
|
|
|
|
|
2021-03-19 20:58:31 +08:00
|
|
|
|
2021-03-19 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_machine_name): Add EM_INTELGT.
|
|
|
|
|
|
2021-03-18 22:01:25 +08:00
|
|
|
|
2021-03-18 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27478
|
|
|
|
|
* readelf.c (dump_section_as_strings): Mention separate filename.
|
|
|
|
|
(dump_section_as_bytes): Likewise.
|
|
|
|
|
(dump_section_as_ctf): Likewise.
|
|
|
|
|
(initialise_dumkps_byname): Only issue a warning for missing
|
|
|
|
|
sections if processing the main file.
|
|
|
|
|
(process_section_contents): Only issue a warning for unsumped
|
|
|
|
|
section numbers in the main file.
|
|
|
|
|
(initialise_dump_sects): New function. Contains code extracted
|
|
|
|
|
from ...
|
|
|
|
|
(process_object): ... here. Also call initialise_dump_sects for
|
|
|
|
|
separate files.
|
|
|
|
|
|
2021-03-17 02:01:58 +08:00
|
|
|
|
2021-03-16 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27534
|
|
|
|
|
* readelf.c (display_debug_section): Also retain .debug_addr
|
|
|
|
|
sections.
|
|
|
|
|
|
2021-03-17 00:39:46 +08:00
|
|
|
|
2021-03-16 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27533
|
|
|
|
|
* readelf.c (process_section_contents): Only dump debug
|
|
|
|
|
information for separate files unless process_links is enabled.
|
|
|
|
|
(process_object): Always call process_section_contents for
|
|
|
|
|
separate info files.
|
|
|
|
|
|
2021-03-15 18:55:49 +08:00
|
|
|
|
2021-03-15 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27487
|
|
|
|
|
* nm.c (FORMAT_JUST_SYMBOLS): Define.
|
|
|
|
|
(struct optput_fns): Add entry for FORMAT_JUST_SYMBOLS.
|
|
|
|
|
(long_options): Add just-symbols.
|
|
|
|
|
(set_output_format): Add support for just-symbols.
|
|
|
|
|
(get_print_format): Likewise.
|
|
|
|
|
(do_not_print_object_filename): New function.
|
|
|
|
|
(do_not_print_archive_filename): New function.
|
|
|
|
|
(do_not_print_archive_member): New function.
|
|
|
|
|
(do_not_print_symbol_filename): New function.
|
|
|
|
|
(just_print_symbol_name): New function.
|
|
|
|
|
(main): Handle --just-symbols.
|
|
|
|
|
* NEWS: Mention the new feature.
|
|
|
|
|
* doc/binutils.texi: Document the new feature.
|
|
|
|
|
|
2021-03-11 18:08:18 +08:00
|
|
|
|
2021-03-12 Clément Chigot <clement.chigot@atos.net>
|
|
|
|
|
|
|
|
|
|
* od-xcoff.c: Replace RTB by TRL entry.
|
|
|
|
|
|
2020-11-27 22:04:16 +08:00
|
|
|
|
2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
|
|
|
|
|
Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_note_type): Handle NT_RISCV_CSR.
|
|
|
|
|
|
bfd/binutils: support for gdb target descriptions in the core file
This commit lays the ground work for allowing GDB to write its target
description into a generated core file.
The goal of this work is to allow a user to connect to a remote
target, capture a core file from within GDB, then pass the executable
and core file to another user and have the user be able to examine the
state of the machine without needing to connect to a running target.
Different remote targets can have different register sets and this
information is communicated from the target to GDB in the target
description.
It is possible for a user to extract the target description from GDB
and pass this along with the core file so that when the core file is
used the target description can be fed back into GDB, however this is
not a great user experience.
It would be nicer, I think, if GDB could write the target description
directly into the core file, and then make use of this description
when loading a core file.
This commit performs the binutils/bfd side of this task, adding the
boiler plate functions to access the target description from within a
core file note, and reserving a new number for a note containing the
target description. Later commits will extend GDB to make use of
this.
The new note is given the name 'GDB' and a type NT_GDB_TDESC. This
should hopefully protect us if there's ever a reuse of the number
assigned to NT_GDB_TDESC by some other core file producer. It should
also, hopefully, make it clearer to users that this note carries GDB
specific information.
bfd/ChangeLog:
* elf-bfd.h (elfcore_write_gdb_tdesc): Declare new function.
* elf.c (elfcore_grok_gdb_tdesc): New function.
(elfcore_grok_note): Handle NT_GDB_TDESC.
(elfcore_write_gdb_tdesc): New function.
(elfcore_write_register_note): Handle NT_GDB_TDESC.
binutils/ChangeLog:
* readelf.c (get_note_type): Handle NT_GDB_TDESC.
include/ChangeLog:
* elf/common.h (NT_GDB_TDESC): Define.
2020-11-27 23:41:37 +08:00
|
|
|
|
2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
|
|
|
|
|
Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_note_type): Handle NT_GDB_TDESC.
|
|
|
|
|
|
2021-03-05 20:56:24 +08:00
|
|
|
|
2021-03-05 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27387
|
|
|
|
|
* dwarf.c (display_debug_macro): Handle the displaying of
|
|
|
|
|
DW_MACRO_define_strp and DW_MACRO_undef_strp in v4
|
|
|
|
|
.debug_macro.dwo sections.
|
|
|
|
|
|
2021-03-04 18:41:22 +08:00
|
|
|
|
2021-03-04 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27478
|
|
|
|
|
* objdump.c (process_links): New variable.
|
|
|
|
|
(usage): Add --process-links.
|
|
|
|
|
(long_options): Likewise.
|
|
|
|
|
(dump_bfd): Stop processing once the bfd has been loaded unless
|
|
|
|
|
this is the main file or process_links has been enabled.
|
|
|
|
|
(main): Handle the process-links option.
|
|
|
|
|
* readelf.c (process_links): New variable.
|
|
|
|
|
(struct filedata): Add is_separate field.
|
|
|
|
|
(options): Add --process-links.
|
|
|
|
|
(usage): Likewise.
|
|
|
|
|
(parse_args): Likewise.
|
|
|
|
|
(process_file_header): Include the filename when dumping
|
|
|
|
|
information for separate debuginfo files.
|
|
|
|
|
(process_program_headers): Likewise.
|
|
|
|
|
(process_section_headers): Likewise.
|
|
|
|
|
(process_section_groups): Likewise.
|
|
|
|
|
(process_relocs): Likewise.
|
|
|
|
|
(process_dynamic_section): Likewise.
|
|
|
|
|
(process_version_sections): Likewise.
|
|
|
|
|
(display_lto_symtab): Likewise.
|
|
|
|
|
(process_symbol_table): Likewise.
|
|
|
|
|
(process_syminfo): Likewise.
|
|
|
|
|
(initialise_dumps_by_name): Likewise.
|
|
|
|
|
(process_section_contents): Likewise.
|
|
|
|
|
(process_notes_at): Likewise.
|
|
|
|
|
(process_notes): Likewise.
|
|
|
|
|
(open_file): Add is_separate parameter. Use to initialise the
|
|
|
|
|
is_separate field in the filedata structure.
|
|
|
|
|
(open_deug): Update call to open_file.
|
|
|
|
|
(process_object): Add processing of the contents of separate
|
|
|
|
|
debuginfo files, gated by the process_links variable.
|
|
|
|
|
(process_archive): Update call to open_file.
|
|
|
|
|
(process_file): Initialise the is_separate field in the filedata
|
|
|
|
|
structure.
|
|
|
|
|
* dwarf.c (load_separate_debug_info_file): Only report the
|
|
|
|
|
loading of a separate file if debug links are being dumped.
|
|
|
|
|
* objcopy.c (keep_section_symbols): New variable.
|
|
|
|
|
(enum command_line_switch): Add OPTION_KEEP_SYMBOLS.
|
|
|
|
|
(strip_options): Add keep-section-symbols.
|
|
|
|
|
(copy_options): Likewise.
|
|
|
|
|
(copy_usage): Likewise.
|
|
|
|
|
(strip_usage): Likewise.
|
|
|
|
|
(copy_object): Keep section symbols if requested by command line
|
|
|
|
|
option.
|
|
|
|
|
(strip_main): Handle --keep-section-symbols.
|
|
|
|
|
(copy_main): Likewise.
|
|
|
|
|
* doc/binutils.texi: Document the new options.
|
|
|
|
|
* NEWS: Mention the new features.
|
|
|
|
|
* testsuite/binutils-all/compress.exp (test_gnu_debuglink):
|
|
|
|
|
Update options passed to objdump. Use diff rather than cmp to
|
|
|
|
|
compare the dumped data.
|
|
|
|
|
* testsuite/binutils-all/objdump.WK2: Update regexp.
|
|
|
|
|
* testsuite/binutils-all/objdump.WK3: Update regexp.
|
|
|
|
|
* testsuite/binutils-all/objdump.exp: Use --process-links
|
|
|
|
|
instead of --dwarf=follow-links.
|
|
|
|
|
* testsuite/binutils-all/readelf.exp (readelf_test): Include
|
|
|
|
|
readelf's output in the log when the test fails.
|
|
|
|
|
Add the -P option to the -wKis test.
|
|
|
|
|
* testsuite/binutils-all/readelf.wKis: Update expected output.
|
|
|
|
|
|
2021-03-03 12:45:23 +08:00
|
|
|
|
2021-03-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27493
|
|
|
|
|
* objcopy.c (filter_symbols): Apply --weaken to undefined symbols.
|
|
|
|
|
* NEWS: Mention feature.
|
|
|
|
|
|
2021-03-01 21:34:34 +08:00
|
|
|
|
2021-03-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/27486
|
|
|
|
|
* dwarf.c (load_separate_debug_info): Issue warning only if
|
|
|
|
|
do_debug_links is set.
|
|
|
|
|
* testsuite/binutils-all/compress.exp: Run objdump and readelf
|
|
|
|
|
with missing debug file.
|
|
|
|
|
|
2021-02-27 13:09:05 +08:00
|
|
|
|
2021-03-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27128
|
|
|
|
|
* doc/binutils.texi: Add nm --with-symbol-versions and
|
|
|
|
|
--without-symbol-versions documentation.
|
|
|
|
|
* nm.c (with_symbol_versions): New variable.
|
|
|
|
|
(enum long_option_values): Delete OPTION_WITH_SYMBOL_VERSIONS.
|
|
|
|
|
(long_options): Make --with-symbol-versions entry twiddle the flag.
|
|
|
|
|
Add --without-symbol-versions.
|
|
|
|
|
(print_symname): Strip version when !with_symbol_versions. Add
|
|
|
|
|
dynamic version info under control of with_symbol_versions.
|
|
|
|
|
(main): Remove OPTION_WITH_SYMBOL_VERSIONS case.
|
|
|
|
|
|
2021-02-27 01:25:45 +08:00
|
|
|
|
2021-02-26 Fangrui Song <maskray@google.com>
|
|
|
|
|
|
|
|
|
|
PR 27408
|
|
|
|
|
* readelf.c (quiet): New option flag.
|
|
|
|
|
(enum long_option_values): New enum to hold long option value.
|
|
|
|
|
(long_options): Add --quiet.
|
|
|
|
|
(usage): Mention --quiet.
|
|
|
|
|
(display_rel_file): If quiet is enabled, suppress "no symbols".
|
|
|
|
|
(main): Handle the new option.
|
|
|
|
|
* NEWS: Mention --quiet.
|
|
|
|
|
* docs/binutils.texi: Document --quiet.
|
|
|
|
|
|
2021-02-26 23:52:39 +08:00
|
|
|
|
2021-02-26 Tom de Vries <tdevries@suse.de>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_addr): Handle dwarf-5 .debug_addr bits.
|
|
|
|
|
|
2021-02-26 21:30:10 +08:00
|
|
|
|
2021-02-26 Tom de Vries <tdevries@suse.de>
|
|
|
|
|
|
|
|
|
|
PR 27390
|
|
|
|
|
* dwarf.c: (skip_attr_bytes): Add support for DW_FORM_str* and
|
|
|
|
|
DW_FORM_addrx*.
|
|
|
|
|
(read_and_display_attr_value): Likewise.
|
|
|
|
|
|
2021-02-26 01:50:44 +08:00
|
|
|
|
2021-02-25 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (get_type_abbrev_from_form): Accept but ignore sup
|
|
|
|
|
forms.
|
|
|
|
|
(read_and_display_attr_value): Handle sup forms.
|
|
|
|
|
(display_debug_sup): New function. Displays the contents of a
|
|
|
|
|
.debug_sup section.
|
|
|
|
|
(load_debug_sup_file): New function. Loads the contents of a file
|
|
|
|
|
referenced by a .debug_sup section.
|
|
|
|
|
(check_for_and_load_links): Call load_debug_sup_file.
|
|
|
|
|
(debug_displays): Add entry for .debug_sup.
|
|
|
|
|
* dwarf.h (enum dwarf_section_display_enum): Add debug_sup.
|
|
|
|
|
* readelf.c (process_section_headers): Add support for debug_sup.
|
|
|
|
|
* doc/debug.options.texi: Note that the =links option will display
|
|
|
|
|
the contents of .debug_sup sections.
|
|
|
|
|
* NEWS: Mention the new support.
|
|
|
|
|
|
2021-02-25 07:16:02 +08:00
|
|
|
|
2021-02-25 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27456
|
|
|
|
|
* rename.c (simple_copy): Mark target_stat ATTRIBUTE_UNUSED.
|
|
|
|
|
|
2021-02-24 22:14:45 +08:00
|
|
|
|
2021-02-24 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27285
|
|
|
|
|
* od-elf32_avr.c (elf32_avr_get_memory_usage): Check for overflows
|
|
|
|
|
when adding together the section sizes.
|
|
|
|
|
|
2021-02-24 18:08:56 +08:00
|
|
|
|
2021-02-24 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objcopy.c (merge_gnu_build_notes): Remove support for v1/v2 GNU
|
|
|
|
|
build notes.
|
|
|
|
|
* readelf.c (print_gnu_build_attribute_description): Likewise.
|
|
|
|
|
|
2021-02-23 09:40:58 +08:00
|
|
|
|
2021-02-24 Alan Modra <amodra@gmail.com>
|
|
|
|
|
Siddhesh Poyarekar <siddhesh@gotplt.org>
|
|
|
|
|
|
|
|
|
|
PR 27456
|
|
|
|
|
* bucomm.h (smart_rename): Update prototype.
|
|
|
|
|
* rename.c (smart_rename): Add fromfd and preserve_dates params.
|
|
|
|
|
Pass fromfd and target_stat to simple_copy. Call set_times
|
|
|
|
|
when preserve_dates.
|
|
|
|
|
(simple_copy): Accept fromfd rather than from filename. Add
|
|
|
|
|
target_stat param. Rewind fromfd rather than opening. Open
|
|
|
|
|
"to" file without O_CREAT. Try to preserve S_ISUID and S_ISGID.
|
|
|
|
|
* ar.c (write_archive): Rename ofd to tmpfd. Dup tmpfd before
|
|
|
|
|
closing output temp file, and pass tmpfd to smart_rename.
|
|
|
|
|
* arsup.c (temp_fd): Rename from real_fd.
|
|
|
|
|
(ar_save): Dup temp_fd and pass to smart_rename.
|
|
|
|
|
* objcopy.c (strip_main, copy_main): Likewise, and pass
|
|
|
|
|
preserve_dates.
|
|
|
|
|
|
2021-02-23 07:07:39 +08:00
|
|
|
|
2021-02-24 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27456
|
|
|
|
|
* rename.c: Tidy throughout.
|
|
|
|
|
(smart_rename): Always copy. Remove windows specific code.
|
|
|
|
|
|
2021-02-20 13:12:22 +08:00
|
|
|
|
2021-02-20 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/binutils-common.exp: Whitespace fixes throughout.
|
|
|
|
|
(run_dump_test): Fail if expecting errors from a file like we do
|
|
|
|
|
for error strings, if no error is seen.
|
|
|
|
|
|
2021-02-18 11:19:42 +08:00
|
|
|
|
2021-02-19 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/readelf.exp (pr26548): Run for 32-bit too.
|
|
|
|
|
|
2021-02-19 10:35:33 +08:00
|
|
|
|
2021-02-19 Siddhesh Poyarekar <siddhesh@gotplt.org>
|
|
|
|
|
|
|
|
|
|
* ar.c (write_archive): Remove TARGET_STAT. Adjust call to
|
|
|
|
|
SMART_RENAME.
|
|
|
|
|
* arsup.c (ar_save): Likewise.
|
|
|
|
|
* objcopy (strip_main): Don't copy TMPFD. Don't set times on
|
|
|
|
|
temporary file and adjust call to SMART_RENAME.
|
|
|
|
|
(copy_main): Likewise.
|
|
|
|
|
* rename.c [!S_ISLNK]: Remove definitions.
|
|
|
|
|
(try_preserve_permissions): Remove function.
|
|
|
|
|
(smart_rename): Remove FD, PRESERVE_DATES arguments. Use
|
|
|
|
|
rename system call only if TO does not exist.
|
|
|
|
|
* bucomm.h (smart_rename): Adjust declaration.
|
|
|
|
|
|
2021-02-18 19:43:26 +08:00
|
|
|
|
2021-02-18 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objcopy.c (merge_gnu_build_notes): Handle notes with a start
|
|
|
|
|
address that is higher than the end address.
|
|
|
|
|
|
read_leb128 overflow checking
There is a tiny error left in dwarf.c:read_leb128 after Nick fixed the
signed overflow problem in code I wrote. It's to do with sleb128
values that have unnecessary excess bytes. For example, -1 is
represented as 0x7f, the most efficient encoding, but also as
0xff,0x7f or 0xff,0xff,0x7f and so on. None of these sequences
overflow any size signed value, but read_leb128 will report an
overflow given enough excess bytes. This patch fixes that problem,
and since the proper test for signed values with excess bytes can
easily be adapted to also test a sleb byte with just some bits that
overflow the result, I changed the code to not use signed right
shifts. (The C standard ISO/IEC 9899:1999 6.5.7 says signed right
shifts of negative values have an implementation defined value. A
long time ago I even used a C compiler for a certain microprocessor
that always did unsigned right shifts. Mind you, it is very unlikely
to be compiling binutils with such a compiler.)
bfd/
* wasm-module.c: Guard include of limits.h.
(CHAR_BIT): Provide backup define.
(wasm_read_leb128): Use CHAR_BIT to size "result" in bits.
Correct signed overflow checking.
opcodes/
* wasm32-dis.c: Include limits.h.
(CHAR_BIT): Provide backup define.
(wasm_read_leb128): Use CHAR_BIT to size "result" in bits.
Correct signed overflow checking.
binutils/
* dwarf.c: Include limits.h.
(CHAR_BIT): Provide backup define.
(read_leb128): Use CHAR_BIT to size "result" in bits. Correct
signed overflow checking.
* testsuite/binutils-all/pr26548.s,
* testsuite/binutils-all/pr26548.d,
* testsuite/binutils-all/pr26548e.d: New tests.
* testsuite/binutils-all/readelf.exp: Run them.
(readelf_test): Drop unused "xfails" parameter. Update all uses.
2021-02-16 21:16:40 +08:00
|
|
|
|
2021-02-17 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c: Include limits.h.
|
|
|
|
|
(CHAR_BIT): Provide backup define.
|
|
|
|
|
(read_leb128): Use CHAR_BIT to size "result" in bits. Correct
|
|
|
|
|
signed overflow checking.
|
|
|
|
|
* testsuite/binutils-all/pr26548.s,
|
|
|
|
|
* testsuite/binutils-all/pr26548.d,
|
|
|
|
|
* testsuite/binutils-all/pr26548e.d: New tests.
|
|
|
|
|
* testsuite/binutils-all/readelf.exp: Run them.
|
|
|
|
|
(readelf_test): Drop unused "xfails" parameter. Update all uses.
|
|
|
|
|
|
2021-02-16 18:26:00 +08:00
|
|
|
|
2021-02-16 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (process_debug_info): Initialize "dwo_id".
|
|
|
|
|
|
2021-02-15 09:34:11 +08:00
|
|
|
|
2021-02-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (load_specific_debug_section): Don't call
|
|
|
|
|
bfd_cache_section_contents. Rearrange so that
|
|
|
|
|
bfd_get_full_section_contents is not called on path where
|
|
|
|
|
bfd_simple_get_relocated_section_contents is called.
|
|
|
|
|
Don't set section->user_data.
|
|
|
|
|
(free_debug_section): Always free section->start. Don't twiddle
|
|
|
|
|
section flags.
|
|
|
|
|
* readelf.c (load_specific_debug_section): Don't set user_data.
|
|
|
|
|
* dwarf.h (struct dwarf_section): Remove use_data field.
|
|
|
|
|
* dwarf.c (NO_ABBREVS, ABBREV): Adjust to suit.
|
|
|
|
|
|
2021-02-15 07:18:50 +08:00
|
|
|
|
2021-02-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/compress.exp: Remove nds32 xfails.
|
|
|
|
|
* testsuite/binutils-all/objdump.exp: Likewise.
|
|
|
|
|
|
2021-02-14 14:10:01 +08:00
|
|
|
|
2021-02-14 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (slurp_symtab): Don't add an extra entry for NULL
|
|
|
|
|
to the symbol array.
|
|
|
|
|
(slurp_dynamic_symtab): Likewise.
|
|
|
|
|
(dump_bfd): Formatting. Copy terminating NULL from extra_syms.
|
|
|
|
|
|
2021-02-14 14:07:10 +08:00
|
|
|
|
2021-02-14 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* doc/Makefile.in: Regenerate.
|
|
|
|
|
|
2021-02-07 08:24:29 +08:00
|
|
|
|
2021-02-13 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* aclocal.m4: Regenerate.
|
|
|
|
|
|
2021-02-12 22:52:22 +08:00
|
|
|
|
2021-02-12 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac (follow-debug-links): Add option to enable or
|
|
|
|
|
disable the following of debug links by default. Set the
|
|
|
|
|
default for the option to be 'follow'.
|
|
|
|
|
* dwarf.c (do_follow_links): Initialise with DEFAULT_FOR_FOLLOW_LINKS.
|
|
|
|
|
(dwarf_select_sections_by_names): Add no-follow-links option.
|
|
|
|
|
(dwarf_select_sections_by_letter): Add 'N' option.
|
|
|
|
|
* objdump.c (usage): Add conditional text describing the
|
|
|
|
|
follow links option.
|
|
|
|
|
(slurp_symtab): Ensure that there is a NULL entry at the end
|
|
|
|
|
of the symbol table.
|
|
|
|
|
(slurp_dynamic_symtab): Likewise.
|
|
|
|
|
(dump_bfd): When extending the symbol table, ensure that there
|
|
|
|
|
is still a NULL entry at the end.
|
|
|
|
|
* readelf.c (usage): Add conditional text describing the
|
|
|
|
|
follow links option.
|
|
|
|
|
* doc/binutils.texi: Update documentation for objcopy and
|
|
|
|
|
readelf.
|
|
|
|
|
* doc/debug.options.texi: Update documentation of the
|
|
|
|
|
follow-links option.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* testsuite/binutils-all/compress.exp: Add the -WN option to
|
|
|
|
|
objdump command lines that are not expecting to follow links.
|
|
|
|
|
* testsuite/binutils-all/readelf.exp: Add the
|
|
|
|
|
--debug-dump=no-follow-links option to tests that are not
|
|
|
|
|
expecting to follow debug links.
|
|
|
|
|
* NEWS: Mention the new behaviour.
|
|
|
|
|
|
2021-02-12 14:35:12 +08:00
|
|
|
|
2021-02-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/objcopy.exp: Report "unsupported" when
|
|
|
|
|
gas or ld fails to build a testcase rather than "unresolved".
|
|
|
|
|
Report "fail" when readelf returns an error status rather than
|
|
|
|
|
"unresolved".
|
|
|
|
|
* testsuite/binutils-all/ar.exp: Likewise.
|
|
|
|
|
* testsuite/binutils-all/compress.exp: Likewise.
|
|
|
|
|
* testsuite/binutils-all/readelf.exp: Likewise.
|
|
|
|
|
|
2021-02-12 14:04:28 +08:00
|
|
|
|
2021-02-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/pr25662.s: Replace "a" with "aaa" and
|
|
|
|
|
"c" with "ccc" labels.
|
|
|
|
|
|
2021-02-12 11:43:03 +08:00
|
|
|
|
2021-02-12 Tom de Vries <tdevries@suse.de>
|
|
|
|
|
|
|
|
|
|
* dwarf.h (debug_info): Fix typo in comment.
|
|
|
|
|
|
2021-02-12 11:43:03 +08:00
|
|
|
|
2021-02-12 Tom de Vries <tdevries@suse.de>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_str_offsets): Handle multiple sets of
|
|
|
|
|
entries.
|
|
|
|
|
|
2021-02-12 11:43:03 +08:00
|
|
|
|
2021-02-12 Tom de Vries <tdevries@suse.de>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (process_debug_info): Print DWO ID.
|
|
|
|
|
|
2021-02-11 14:26:42 +08:00
|
|
|
|
2021-02-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27290
|
|
|
|
|
PR 27293
|
|
|
|
|
PR 27295
|
|
|
|
|
* od-elf32_avr.c (elf32_avr_get_note_section_contents): Formatting.
|
|
|
|
|
Use bfd_malloc_and_get_section.
|
|
|
|
|
(elf32_avr_get_note_desc): Formatting. Return descsz. Sanity
|
|
|
|
|
check namesz. Return NULL if descsz is too small. Ensure
|
|
|
|
|
string table is terminated.
|
|
|
|
|
(elf32_avr_get_device_info): Formatting. Add note_size param.
|
|
|
|
|
Sanity check note.
|
|
|
|
|
(elf32_avr_dump_mem_usage): Adjust to suit.
|
|
|
|
|
|
2021-02-11 00:26:50 +08:00
|
|
|
|
2021-02-10 Tom de Vries <tdevries@suse.de>
|
|
|
|
|
|
|
|
|
|
PR binutils/27391
|
|
|
|
|
* dwarf.c (load_dwo_file): Handle case that name is absolute path.
|
|
|
|
|
|
2021-02-10 19:30:46 +08:00
|
|
|
|
2021-02-10 Tom de Vries <tdevries@suse.de>
|
|
|
|
|
|
|
|
|
|
PR binutils/27371
|
|
|
|
|
* dwarf.c (display_debug_ranges): Filter range lists according to
|
|
|
|
|
section.
|
|
|
|
|
|
2021-02-09 22:37:24 +08:00
|
|
|
|
2021-02-09 Tom de Vries <tdevries@suse.de>
|
|
|
|
|
|
|
|
|
|
PR binutils/27370
|
|
|
|
|
* dwarf.c (get_type_abbrev_from_form): Handle DW_FORM_ref_sig8.
|
|
|
|
|
|
2021-02-09 21:27:28 +08:00
|
|
|
|
2021-02-09 Tom de Vries <tdevries@suse.de>
|
|
|
|
|
|
|
|
|
|
PR binutils/27386
|
|
|
|
|
* dwarf.c (process_debug_info): Handling DW_UT_skeleton and
|
|
|
|
|
DW_UT_split_compile.
|
|
|
|
|
|
2021-02-08 18:36:17 +08:00
|
|
|
|
2021-02-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/binutils-common.exp (supports_gnu_osabi): Remove
|
|
|
|
|
symbianelf.
|
|
|
|
|
|
2021-02-07 10:53:34 +08:00
|
|
|
|
2021-02-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* unwind-ia64.c (unw_print_xyreg): Don't leave output buffer
|
|
|
|
|
uninitialised on invalid input.
|
|
|
|
|
|
2021-02-05 20:03:08 +08:00
|
|
|
|
2021-02-06 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27349
|
|
|
|
|
* rename.c (smart_rename): Test for existence and type of output
|
|
|
|
|
file with lstat.
|
|
|
|
|
|
2021-02-05 19:15:50 +08:00
|
|
|
|
2021-02-05 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS: Remove Richard Henderson as the ALPHA maintainer.
|
|
|
|
|
|
2021-02-05 15:05:58 +08:00
|
|
|
|
2021-02-05 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
PR 27252
|
|
|
|
|
* elfedit.c (check_file):
|
|
|
|
|
* bucomm.c (get_file_size): Fix typos in comments.
|
|
|
|
|
|
2021-02-05 10:29:16 +08:00
|
|
|
|
2021-02-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27345
|
|
|
|
|
* arsup.c (ar_save): Use stat rather than lstat.
|
|
|
|
|
|
2021-01-31 23:34:41 +08:00
|
|
|
|
2021-02-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27270
|
|
|
|
|
PR 27284
|
|
|
|
|
PR 26945
|
|
|
|
|
* ar.c: Don't include libbfd.h.
|
|
|
|
|
(write_archive): Replace xmalloc+strcpy with xstrdup. Use
|
|
|
|
|
bfd_stat rather than fstat on iostream. Move stat and fd tests
|
|
|
|
|
outside of _WIN32 ifdef. Delete skip_stat variable.
|
|
|
|
|
* arsup.c (temp_name, real_ofd): New static variables.
|
|
|
|
|
(ar_open): Use make_tempname and bfd_fdopenw.
|
|
|
|
|
(ar_save): Adjust to suit ar_open changes. Move stat output
|
|
|
|
|
of _WIN32 ifdef.
|
|
|
|
|
* objcopy.c: Don't include libbfd.h.
|
|
|
|
|
(copy_file): Use bfd_stat.
|
|
|
|
|
|
2021-02-02 21:14:48 +08:00
|
|
|
|
2021-02-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/27281
|
|
|
|
|
* readelf.c (process_section_headers): Add 'R' and 'D' to
|
|
|
|
|
"Key to Flags:".
|
|
|
|
|
* testsuite/binutils-all/retain1a.d: Updated.
|
|
|
|
|
|
2021-01-30 21:27:10 +08:00
|
|
|
|
2021-01-30 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* README-how-to-make-a-release: Small updates after the 2.35.2
|
|
|
|
|
release.
|
|
|
|
|
|
2021-01-28 22:57:33 +08:00
|
|
|
|
2021-01-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
PR 4356
|
|
|
|
|
* windres.c (quot): Use double quotes to protect strings on
|
|
|
|
|
Windows platforms.
|
|
|
|
|
|
2021-01-28 21:32:05 +08:00
|
|
|
|
2021-01-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
PR 27252
|
|
|
|
|
* bucomm.c (get_file_size): Add code to handle /dev/null on
|
|
|
|
|
Windows systems.
|
|
|
|
|
* elfedit.c (check_file): Likewise.
|
|
|
|
|
|
2021-01-27 18:39:22 +08:00
|
|
|
|
2021-01-27 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objcopy.c (copy_main): Remove conditional control of the calls
|
|
|
|
|
to free, simplifying the code and making it easier to detect
|
|
|
|
|
typos.
|
|
|
|
|
|
2021-01-26 17:55:34 +08:00
|
|
|
|
2021-01-26 Frederic Cambus <fred@statdns.com>
|
|
|
|
|
|
|
|
|
|
* objcopy.c (copy_main): Fix a double free happening when both
|
|
|
|
|
--localize-symbols and --globalize-symbols options are invoked
|
|
|
|
|
together.
|
|
|
|
|
|
2021-01-24 19:53:57 +08:00
|
|
|
|
2021-01-24 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* README-how-to-make-a-release: Minor updates after the 2.36 release.
|
|
|
|
|
|
2021-01-16 07:15:09 +08:00
|
|
|
|
2021-01-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (uncompress_section_contents): Tidy inflateEnd result test.
|
|
|
|
|
|
2021-01-15 13:32:52 +08:00
|
|
|
|
2021-01-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 26539
|
|
|
|
|
* readelf.c (uncompress_section_contents): Always call inflateEnd.
|
|
|
|
|
|
2021-01-15 03:36:11 +08:00
|
|
|
|
2021-01-14 Alexandre Oliva <oliva@gnu.org>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS: Update my email address.
|
|
|
|
|
|
2021-01-14 20:55:25 +08:00
|
|
|
|
2021-01-14 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/sv.po: Updated Swedish translation.
|
|
|
|
|
|
2021-01-13 16:43:23 +08:00
|
|
|
|
2021-01-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* doc/Makefile.in: Regenerate.
|
|
|
|
|
|
2021-01-13 18:55:46 +08:00
|
|
|
|
2021-01-13 Zebediah Figura <z.figura12@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27037
|
|
|
|
|
* dlltool.c (i386_trampoline): Adjust %rsp immediately on entry
|
|
|
|
|
and before exit.
|
|
|
|
|
(i386_x64_trampoline): Add SEH annotations.
|
|
|
|
|
(struct mac): Add how_seh field.
|
|
|
|
|
(make_delay_head): If how_set field is true add SEh instructions.
|
|
|
|
|
|
2021-01-12 21:45:28 +08:00
|
|
|
|
2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/26792
|
|
|
|
|
* configure.ac: Use GNU_MAKE_JOBSERVER.
|
|
|
|
|
* aclocal.m4: Regenerated.
|
|
|
|
|
* configure: Likewise.
|
|
|
|
|
|
2021-01-12 21:18:50 +08:00
|
|
|
|
2021-01-12 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/fr.po: Updated French translation.
|
|
|
|
|
|
2021-01-12 08:29:31 +08:00
|
|
|
|
2021-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27173
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2021-01-11 20:55:33 +08:00
|
|
|
|
2021-01-11 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/pt.po: Updated Portuguese translation.
|
|
|
|
|
* po/sr.po: Updated Serbian translation.
|
|
|
|
|
* po/uk.po: Updated Ukranian translation.
|
|
|
|
|
|
2021-01-09 22:47:58 +08:00
|
|
|
|
2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2021-01-09 19:01:01 +08:00
|
|
|
|
2021-01-09 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* po/binutils.pot: Regenerate.
|
|
|
|
|
|
2021-01-09 18:40:28 +08:00
|
|
|
|
2021-01-09 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* 2.36 release branch crated.
|
2021-01-09 19:01:01 +08:00
|
|
|
|
* README-how-to-make-a-release: Add note about updating Makefiles
|
|
|
|
|
and libtool files.
|
|
|
|
|
* BRANCHES: Add binutils-2.36-branch.
|
2021-01-09 18:40:28 +08:00
|
|
|
|
|
2021-01-09 08:33:29 +08:00
|
|
|
|
2021-01-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2021-01-08 00:47:36 +08:00
|
|
|
|
2021-01-07 Samuel Thibault <samuel.thibault@gnu.org>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2021-01-07 22:42:00 +08:00
|
|
|
|
2021-01-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR 27109
|
|
|
|
|
* objcopy.c (copy_object): Handle section symbols for
|
|
|
|
|
non-relocatable inputs.
|
|
|
|
|
* testsuite/binutils-all/readelf.exp (readelf_test): Check
|
|
|
|
|
is_elf_unused_section_symbols.
|
|
|
|
|
* testsuite/binutils-all/readelf.s-64: Updated.
|
|
|
|
|
* testsuite/binutils-all/readelf.ss: Likewise.
|
|
|
|
|
* testsuite/binutils-all/readelf.ss-64: Likewise.
|
|
|
|
|
* testsuite/binutils-all/readelf.s-64-unused: New file.
|
|
|
|
|
* testsuite/binutils-all/readelf.ss-64-unused: Likewise.
|
|
|
|
|
* testsuite/binutils-all/readelf.ss-unused: Likewise.
|
|
|
|
|
* testsuite/lib/binutils-common.exp
|
|
|
|
|
(is_elf_unused_section_symbols): New proc.
|
|
|
|
|
|
2021-01-02 19:48:09 +08:00
|
|
|
|
2021-01-06 Reuben Thomas <rrt@sc3d.org>
|
|
|
|
|
|
|
|
|
|
* binutils/readelf.c: Correct grammar in comment.
|
|
|
|
|
|
2021-01-01 11:51:52 +08:00
|
|
|
|
2021-01-01 Nicolas Boulenguez <nicolas@debian.org>
|
|
|
|
|
|
|
|
|
|
* coffgrok.c (do_type): Correct spelling of auxiliary in errors.
|
|
|
|
|
* doc/binutils.texi: Correct grammar.
|
|
|
|
|
* readelf.c (process_version_sections): Correct spelling of auxiliary
|
|
|
|
|
in warning.
|
|
|
|
|
* testsuite/binutils-all/vax/objdump.exp: Comment grammar fix.
|
|
|
|
|
|
2021-01-01 06:58:58 +08:00
|
|
|
|
2021-01-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2021-01-01 06:47:13 +08:00
|
|
|
|
For older changes see ChangeLog-2020
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
2021-01-01 06:47:13 +08:00
|
|
|
|
Copyright (C) 2021 Free Software Foundation, Inc.
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
|
|
|
|
End:
|