glibc/sysdeps
Hsiangkai Wang 117e8b341c
riscv: Resolve symbols directly for symbols with STO_RISCV_VARIANT_CC.
In some cases, we do not want to go through the resolver for function
calls. For example, functions with vector arguments will use vector
registers to pass arguments. In the resolver, we do not save/restore the
vector argument registers for lazy binding efficiency. To avoid ruining
the vector arguments, functions with vector arguments will not go
through the resolver.

To achieve the goal, we will annotate the function symbols with
STO_RISCV_VARIANT_CC flag and add DT_RISCV_VARIANT_CC tag in the dynamic
section. In the first pass on PLT relocations, we do not set up to call
_dl_runtime_resolve. Instead, we resolve the functions directly.

Signed-off-by: Hsiangkai Wang <kai.wang@sifive.com>
Signed-off-by: Vincent Chen <vincent.chen@sifive.com>
Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Link: https://inbox.sourceware.org/libc-alpha/20230314162512.35802-1-kito.cheng@sifive.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-04-28 07:02:42 -07:00
..
aarch64
alpha
arc
arm
csky
generic elf: Stop including tls.h in ldsodefs.h 2023-04-10 23:26:28 +02:00
gnu
hppa hppa: Update struct __pthread_rwlock_arch_t comment. 2023-04-05 18:54:47 +00:00
htl htl: move pthread_self info libc. 2023-04-05 01:26:36 +02:00
hurd
i386 math: Remove the error handling wrapper from fmod and fmodf 2023-04-03 16:45:27 -03:00
ia64
ieee754 math: Improve fmod(f) performance 2023-04-17 13:03:10 +01:00
loongarch
m68k math: Remove the error handling wrapper from fmod and fmodf 2023-04-03 16:45:27 -03:00
mach Fix Hurd getcwd build with GCC >= 13 2023-04-27 01:27:28 +02:00
microblaze
mips
nios2
nptl Created tunable to force small pages on stack allocation. 2023-04-20 13:54:24 -03:00
or1k
posix
powerpc powerpc: Disable stack protector in early static initialization 2023-04-03 17:42:08 -03:00
pthread Use O_CLOEXEC in more places (BZ #15722) 2023-04-22 13:50:14 +02:00
riscv riscv: Resolve symbols directly for symbols with STO_RISCV_VARIANT_CC. 2023-04-28 07:02:42 -07:00
s390
sh
sparc
unix if_index: Remove unneeded alloca.h include 2023-04-26 08:06:49 -04:00
wordsize-32
wordsize-64
x86 <sys/platform/x86.h>: Add PREFETCHI support 2023-04-05 14:46:10 -07:00
x86_64 hurd: Implement prefer_map_32bit_exec tunable 2023-04-24 22:48:35 +02:00