From: Adhemerval Zanella Date: Wed, 30 Apr 2025 17:25:28 +0000 (-0300) Subject: riscv: Fix --enable-ubsan build failure on riscv X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f13e58f9b120791c7585f60ab126ed922a319cd1;p=thirdparty%2Fglibc.git riscv: Fix --enable-ubsan build failure on riscv With ubsan enable, libc.so fails to build with: [...]linkobj/libc_pic.a(setcontext.os): in function `__start_context': [...]sysdeps/unix/sysv/linux/riscv/setcontext.S:111:(.text+0xc0): relocation truncated to fit: R_RISCV_JAL against symbol `__GI_exit' defined in .text section in [...]/linkobj/libc_pic.a(exit.os) Using 'call' instead of 'j' works regardless whether UBSAN. --- diff --git a/sysdeps/unix/sysv/linux/riscv/setcontext.S b/sysdeps/unix/sysv/linux/riscv/setcontext.S index a2de57b537..11dd46ea17 100644 --- a/sysdeps/unix/sysv/linux/riscv/setcontext.S +++ b/sysdeps/unix/sysv/linux/riscv/setcontext.S @@ -110,6 +110,6 @@ LEAF (__start_context) mv a0, s2 beqz s2, 1f jal HIDDEN_JUMPTARGET (__setcontext) -1: j HIDDEN_JUMPTARGET (exit) +1: call HIDDEN_JUMPTARGET (exit) END (__start_context)