diff options
author | Nelson Chu <nelson.chu@sifive.com> | 2020-08-26 01:19:13 -0700 |
---|---|---|
committer | Nelson Chu <nelson.chu@sifive.com> | 2020-08-28 09:37:35 +0800 |
commit | 3b1450b38c644f99aa2e211747b428b9f8d15cca (patch) | |
tree | a75075ca5c25bb1bbe1b2e3a5138f6cb0d8f3280 /gdb/gdb_regex.c | |
parent | f2f08254b11c2248dc3fd9440b2bad29c74357e4 (diff) | |
download | gdb-3b1450b38c644f99aa2e211747b428b9f8d15cca.zip gdb-3b1450b38c644f99aa2e211747b428b9f8d15cca.tar.gz gdb-3b1450b38c644f99aa2e211747b428b9f8d15cca.tar.bz2 |
RISC-V: Treat R_RISCV_CALL and R_RISCV_CALL_PLT as the same in check_relocs.
In fact, we can treate these two relocation as the same one in the
riscv_elf_check_relocs. I have heard that RISC-V lld had made this
improvement, and so had GNU AARCH64, they only need R_AARCH64_CALL26
for calls rather than two seperate relocations.
Beside, the following PLT issue for RISC-V 32-bit glibc seems to be
fixed by applying at least this patch.
<https://sourceware.org/pipermail/libc-alpha/2020-August/117214.html>
I have ran the toolchain regression, and everything seems fine for now.
bfd/
* elfnn-riscv.c (riscv_elf_check_relocs): Treat R_RISCV_CALL
and R_RISCV_CALL_PLT as the same in the riscv_elf_check_relocs.
(riscv_elf_relocate_section): Remove the R_RISCV_CALL for the
unresolved reloc checks.
ld/
testsuite/ld-riscv-elf/lib-nopic-01a.s: Use R_RISCV_JAL rather
than R_RISCV_CALL.
testsuite/ld-riscv-elf/lib-nopic-01b.d: Likewise.
testsuite/ld-riscv-elf/lib-nopic-01b.s: Likewise.
Diffstat (limited to 'gdb/gdb_regex.c')
0 files changed, 0 insertions, 0 deletions