LoongArch: Add support for TLS Descriptors
commit1dbf2bef7934cee9829d875f11968d6ff1fee77f
authormengqinggang <mengqinggang@loongson.cn>
Wed, 8 May 2024 02:06:15 +0000 (8 10:06 +0800)
committercaiyinyu <caiyinyu@loongson.cn>
Wed, 15 May 2024 02:31:53 +0000 (15 10:31 +0800)
treed9e2a0c544e5a7468bfc5149613155f2d2d4efdf
parentf942a732d37a96217ef828116ebe64a644db18d7
LoongArch: Add support for TLS Descriptors

This is mostly based on AArch64 and RISC-V implementation.

Add R_LARCH_TLS_DESC32 and R_LARCH_TLS_DESC64 relocations.

For _dl_tlsdesc_dynamic function slow path, temporarily save and restore
all vector registers.
16 files changed:
config.h.in
elf/elf.h
sysdeps/loongarch/Makefile
sysdeps/loongarch/configure
sysdeps/loongarch/configure.ac
sysdeps/loongarch/dl-machine.h
sysdeps/loongarch/dl-tls.h
sysdeps/loongarch/dl-tlsdesc.S [new file with mode: 0644]
sysdeps/loongarch/dl-tlsdesc.h [new file with mode: 0644]
sysdeps/loongarch/linkmap.h
sysdeps/loongarch/preconfigure
sysdeps/loongarch/sys/asm.h
sysdeps/loongarch/sys/regdef.h
sysdeps/loongarch/tlsdesc.c [copied from sysdeps/loongarch/linkmap.h with 55% similarity]
sysdeps/loongarch/tlsdesc.sym [new file with mode: 0644]
sysdeps/loongarch/tst-gnu2-tls2.h [new file with mode: 0644]