Projects
openEuler:24.03:SP1:Everything:64G
glibc
_service:tar_scm:0005-LoongArch-Fix-tst-gnu2-tl...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:0005-LoongArch-Fix-tst-gnu2-tls2-compiler-error.patch of Package glibc
From 479cf47724e06c1020d5806c90abfdb353e832c8 Mon Sep 17 00:00:00 2001 From: mengqinggang <mengqinggang@loongson.cn> Date: Mon, 20 May 2024 17:05:12 +0800 Subject: [PATCH 05/15] LoongArch: Fix tst-gnu2-tls2 compiler error Add -mno-lsx to tst-gnu2-tlsmod*.c if gcc support -mno-lsx. Add escape character '\' in vector support test function. --- sysdeps/loongarch/Makefile | 2 ++ sysdeps/loongarch/configure | 3 +++ sysdeps/loongarch/configure.ac | 5 +++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sysdeps/loongarch/Makefile b/sysdeps/loongarch/Makefile index a4ee915e..b00c090f 100644 --- a/sysdeps/loongarch/Makefile +++ b/sysdeps/loongarch/Makefile @@ -35,10 +35,12 @@ sysdep-dl-routines += \ # Disable the compiler from using LSX for TLS descriptor tests, or storing into # 16B TLS variable may clobber FP/vector registers and prevent us from checking # their contents. +ifeq (yes,$(loongarch-vec-com)) CFLAGS-tst-gnu2-tls2mod0.c += -mno-lsx CFLAGS-tst-gnu2-tls2mod1.c += -mno-lsx CFLAGS-tst-gnu2-tls2mod2.c += -mno-lsx endif +endif # LoongArch's assembler also needs to know about PIC as it changes the # definition of some assembler macros. diff --git a/sysdeps/loongarch/configure b/sysdeps/loongarch/configure index a133821f..73cf3b95 100644 --- a/sysdeps/loongarch/configure +++ b/sysdeps/loongarch/configure @@ -165,3 +165,6 @@ then printf "%s\n" "#define HAVE_LOONGARCH_VEC_COM 1" >>confdefs.h fi +config_vars="$config_vars +loongarch-vec-com = $libc_cv_loongarch_vec_com" + diff --git a/sysdeps/loongarch/configure.ac b/sysdeps/loongarch/configure.ac index 9b1cf26e..878c5d64 100644 --- a/sysdeps/loongarch/configure.ac +++ b/sysdeps/loongarch/configure.ac @@ -83,8 +83,8 @@ AC_CACHE_CHECK([for vector support in compiler], AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ void foo (void) { - asm volatile ("vldi $vr0, 1" ::: "$vr0"); - asm volatile ("xvldi $xr0, 1" ::: "$xr0"); + asm volatile ("vldi \$vr0, 1" ::: "\$vr0"); + asm volatile ("xvldi \$xr0, 1" ::: "\$xr0"); } ]])], [libc_cv_loongarch_vec_com=yes], @@ -93,3 +93,4 @@ if test "$libc_cv_loongarch_vec_com" = yes ; then AC_DEFINE(HAVE_LOONGARCH_VEC_COM) fi +LIBC_CONFIG_VAR([loongarch-vec-com], [$libc_cv_loongarch_vec_com]) -- 2.43.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2