aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/loongarch/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2024-05-21LoongArch: Fix tst-gnu2-tls2 compiler errormengqinggang1-0/+2
Add -mno-lsx to tst-gnu2-tlsmod*.c if gcc support -mno-lsx. Add escape character '\' in vector support test function.
2024-05-15LoongArch: Add support for TLS Descriptorsmengqinggang1-4/+30
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.
2024-04-24LoongArch: Add glibc.cpu.hwcap support.caiyinyu1-0/+12
The current IFUNC selection is always using the most recent features which are available via AT_HWCAP. But in some scenarios it is useful to adjust this selection. The environment variable: GLIBC_TUNABLES=glibc.cpu.hwcaps=-xxx,yyy,zzz,.... can be used to enable HWCAP feature yyy, disable HWCAP feature xxx, where the feature name is case-sensitive and has to match the ones used in sysdeps/loongarch/cpu-tunables.c. Signed-off-by: caiyinyu <caiyinyu@loongson.cn>
2023-09-21Revert "LoongArch: Add glibc.cpu.hwcap support."caiyinyu1-4/+0
This reverts commit a53451559dc9cce765ea5bcbb92c4007e058e92b.
2023-09-19LoongArch: Add glibc.cpu.hwcap support.caiyinyu1-0/+4
Key Points: 1. On lasx & lsx platforms, We must use _dl_runtime_{profile, resolve}_{lsx, lasx} to save vector registers. 2. Via "tunables", users can choose str/mem_{lasx,lsx,unaligned} functions with `export GLIBC_TUNABLES=glibc.cpu.hwcaps=LASX,...`. Note: glibc.cpu.hwcaps doesn't affect _dl_runtime_{profile, resolve}_{lsx, lasx} selection. Usage Notes: 1. Only valid inputs: LASX, LSX, UAL. Case-sensitive, comma-separated, no spaces. 2. Example: `export GLIBC_TUNABLES=glibc.cpu.hwcaps=LASX,UAL` turns on LASX & UAL. Unmentioned features turn off. With default ifunc: lasx > lsx > unaligned > aligned > generic, effect is: lasx > unaligned > aligned > generic; lsx off. 3. Incorrect GLIBC_TUNABLES settings will show error messages. For example: On lsx platforms, you cannot enable lasx features. If you do that, you will get error messages. 4. Valid input examples: - GLIBC_TUNABLES=glibc.cpu.hwcaps=LASX: lasx > aligned > generic. - GLIBC_TUNABLES=glibc.cpu.hwcaps=LSX,UAL: lsx > unaligned > aligned > generic. - GLIBC_TUNABLES=glibc.cpu.hwcaps=LASX,UAL,LASX,UAL,LSX,LASX,UAL: Repetitions allowed but not recommended. Results in: lasx > lsx > unaligned > aligned > generic.
2023-06-13LoongArch: Add support for dl_runtime_profilecaiyinyu1-0/+4
This commit can fix the FAIL item: elf/tst-sprof-basic.
2022-12-07LoongArch: Use medium cmodel build libc_nonshared.a.Chenghua Xu1-0/+6
This patch is used to fix address out-of-bounds error when building Chrome.
2022-09-01LoongArch: Add soft float support.caiyinyu1-8/+0
2022-07-26LoongArch: Build Infrastructurecaiyinyu1-0/+15