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.

Reply via email to