https://sourceware.org/bugzilla/show_bug.cgi?id=27566
Fangrui Song <i at maskray dot me> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |i at maskray dot me
--- Comment #11 from Fangrui Song <i at maskray dot me> ---
(In reply to lifang_xia from comment #9)
> Hi we get this error a again.....
> -------------
> .text
>
> hello:
> .rept 6000
> lla a0, ARCHOR0
> .endr
>
>
> .section .rodata
> .set ARCHOR0, . + 4598
> .fill 100, 4, 0x12345678
>
> .data
> .align 3
> world:
> .rept 860
> .long 0x1000
> .endr
> -------------
> build command:
>
> binutils/build/gas/as-new -o 1.o 1.s -march=rv32gc -mabi=ilp32d
> binutils/build/ld/ld-new -o 1 1.o -e hello -m elf32lriscv
>
> we can get the error message:
>
> 1.o: in function `hello':
> (.text+0x0): relocation truncated to fit: R_RISCV_GPREL_I against `ARCHOR0'
> ---------------------------------
> It looks like the max alignment should include page size if the symbol is
> not defined in the same section of GP.
>
> Any idea about this?
This error still reproduces with GNU ld 2.43. lld can handle it correctly.
This is might be BFD riscv's linker relaxation with `.set ARCHOR0, . + 4598`
--
You are receiving this mail because:
You are on the CC list for the bug.