From f13e58f9b120791c7585f60ab126ed922a319cd1 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Wed, 30 Apr 2025 14:25:28 -0300 Subject: [PATCH] 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. --- sysdeps/unix/sysv/linux/riscv/setcontext.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) -- 2.47.2