Signed-off-by: Khem Raj <[email protected]> --- ...e-__HAVE_FLOAT128-for-Clang-and-use-.patch | 87 +++++++++++++++++++ meta/recipes-core/glibc/glibc_2.41.bb | 1 + 2 files changed, 88 insertions(+) create mode 100644 meta/recipes-core/glibc/glibc/0001-Revert-x86-Define-__HAVE_FLOAT128-for-Clang-and-use-.patch
diff --git a/meta/recipes-core/glibc/glibc/0001-Revert-x86-Define-__HAVE_FLOAT128-for-Clang-and-use-.patch b/meta/recipes-core/glibc/glibc/0001-Revert-x86-Define-__HAVE_FLOAT128-for-Clang-and-use-.patch new file mode 100644 index 00000000000..88823cb95bc --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0001-Revert-x86-Define-__HAVE_FLOAT128-for-Clang-and-use-.patch @@ -0,0 +1,87 @@ +From b662179d7c679e423b8595e0509253688544a4fd Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Thu, 26 Dec 2024 18:59:26 -0800 +Subject: [PATCH] Revert "x86: Define __HAVE_FLOAT128 for Clang and use + __builtin_*f128 code path" + +This reverts commit d773aff467840f5ed305e40c180466e90bd88183. + +Upstream-Status: Pending +Signed-off-by: Khem Raj <[email protected]> +--- + sysdeps/x86/bits/floatn.h | 24 ++++++++---------------- + 1 file changed, 8 insertions(+), 16 deletions(-) + +diff --git a/sysdeps/x86/bits/floatn.h b/sysdeps/x86/bits/floatn.h +index ba030d270a..e661abaea4 100644 +--- a/sysdeps/x86/bits/floatn.h ++++ b/sysdeps/x86/bits/floatn.h +@@ -28,8 +28,7 @@ + support, for x86_64 and x86. */ + #if (defined __x86_64__ \ + ? __GNUC_PREREQ (4, 3) \ +- : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) \ +- || __glibc_clang_prereq (3, 4) ++ : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) + # define __HAVE_FLOAT128 1 + #else + # define __HAVE_FLOAT128 0 +@@ -59,9 +58,7 @@ + /* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ + # if __HAVE_FLOAT128 +-# if !__GNUC_PREREQ (7, 0) \ +- || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \ +- || defined __clang__ ++# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) + /* The literal suffix f128 exists only since GCC 7.0. */ + # define __f128(x) x##q + # else +@@ -71,9 +68,7 @@ + + /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ + # if __HAVE_FLOAT128 +-# if !__GNUC_PREREQ (7, 0) \ +- || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \ +- || defined __clang__ ++# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) + /* Add a typedef for older GCC compilers which don't natively support + _Complex _Float128. */ + typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); +@@ -87,14 +82,12 @@ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); + # if __HAVE_FLOAT128 + + /* The type _Float128 exists only since GCC 7.0. */ +-# if !__GNUC_PREREQ (7, 0) \ +- || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \ +- || __glibc_clang_prereq (3, 4) ++# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) + typedef __float128 _Float128; + # endif + +-/* __builtin_huge_valf128 doesn't exist before GCC 7.0 nor Clang 7.0. */ +-# if !__GNUC_PREREQ (7, 0) && !__glibc_clang_prereq (7, 0) ++/* __builtin_huge_valf128 doesn't exist before GCC 7.0. */ ++# if !__GNUC_PREREQ (7, 0) + # define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ()) + # endif + +@@ -103,7 +96,7 @@ typedef __float128 _Float128; + Converting a narrower sNaN to _Float128 produces a quiet NaN, so + attempts to use _Float128 sNaNs will not work properly with older + compilers. */ +-# if !__GNUC_PREREQ (7, 0) && !defined __clang__ ++# if !__GNUC_PREREQ (7, 0) + # define __builtin_copysignf128 __builtin_copysignq + # define __builtin_fabsf128 __builtin_fabsq + # define __builtin_inff128() ((_Float128) __builtin_inf ()) +@@ -114,8 +107,7 @@ typedef __float128 _Float128; + /* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*, + e.g.: __builtin_signbitf128, before GCC 6. However, there has never + been a __builtin_signbitf128 in GCC and the type-generic builtin is +- only available since GCC 6. signbit is expanded to __builtin_signbit +- after Clang 3.3. */ ++ only available since GCC 6. */ + # if !__GNUC_PREREQ (6, 0) + # define __builtin_signbitf128 __signbitf128 + # endif diff --git a/meta/recipes-core/glibc/glibc_2.41.bb b/meta/recipes-core/glibc/glibc_2.41.bb index 7f2576692d6..70afc78a55c 100644 --- a/meta/recipes-core/glibc/glibc_2.41.bb +++ b/meta/recipes-core/glibc/glibc_2.41.bb @@ -54,6 +54,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \ file://0023-tests-Skip-2-qemu-tests-that-can-hang-in-oe-selftest.patch \ file://0024-features.h-Bump-__GLIBC_MINOR__-to-next-release-on-m.patch \ + file://0001-Revert-x86-Define-__HAVE_FLOAT128-for-Clang-and-use-.patch \ " S = "${WORKDIR}/git" B = "${WORKDIR}/build-${TARGET_SYS}"
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#209508): https://lists.openembedded.org/g/openembedded-core/message/209508 Mute This Topic: https://lists.openembedded.org/mt/110491482/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
