mirror of
https://github.com/gentoo-mirror/gentoo-zh.git
synced 2025-04-19 07:48:56 -04:00
sys-libs: drop glibc
This commit is contained in:
parent
59de40885c
commit
f6811dcc34
@ -1,5 +0,0 @@
|
||||
DIST gcc-multilib-bootstrap-20201208.tar.xz 5528452 BLAKE2B 16699a6e4df5b2f28a21776ae9e3728b26a9ea251f5580aa5349545ad7c9f6145b9cb6a12ca8f5f96b9cb2a3c70b7e66ca702e4c6f083ac00408e0a20a69e613 SHA512 a243f505e17d0a7e144e8713c077582412f61d6cf7f79baa846de4fb77f5e0f27e11c9a785e14624e04ac52287b32164e7995323aa11caef59113ac438254347
|
||||
DIST glibc-2.35-patches-3.tar.xz 29992 BLAKE2B aaf615d7cd2c2a00b47f3470ce92c080ffd0e7d768bf724d7e3a9ea50f161a550d9ff3c3c0734e3b00afec67d471aa04b74e050b738bf6e669720a646dab89cb SHA512 203726f333fe1d1db41c81c46cf997bdbe02409a38c4e9f8e9274512d121ad1f9412391828af8b129879e9104c58ca0a1b6f7427abfc32a161f33bd48fa44179
|
||||
DIST glibc-2.35.tar.xz 18165952 BLAKE2B 623c728884f070cd87ffeb9203f74206197c52405ac9bc44f3dd519a3468b8e8ae2536c883e5d17d94417dbd1e91775de2e674314e4ff7424f9720026d6b7063 SHA512 e7336ce27561be5d7c217832a1136fb327e057bd8d3f92925b35c97e3e9f9e486948b5a1e03e5e4090772ef06437a074d10b82e68f17f1ad8f22077ee39e1b66
|
||||
DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238
|
||||
DIST locale-gen-2.22.tar.gz 7971 BLAKE2B 2dc66fa69bf51799d0c34459b654fba6998b80a7e322e9b670036c967e269ad921f50195e6e34c4a83c1f0bad191fd5aa3f37defb82271b73acbca07b7e49d08 SHA512 9798b10dbbc792345a7b7a121dec5f4bba9839a8aec010f01a09f3402fd5bf2376f79e03a6a19bc357010db780037a8811c381136ce19be1f1370374906dff38
|
@ -1,165 +0,0 @@
|
||||
From 4a079fa5e1325cf2bebaeddec27a3b890f2cd390 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 2 Dec 2021 18:47:39 +0800
|
||||
Subject: [PATCH 01/19] Disable float128 support for x86_64 x86
|
||||
|
||||
---
|
||||
sysdeps/generic/math-use-builtins-copysign.h | 2 +-
|
||||
sysdeps/i386/Implies | 1 -
|
||||
sysdeps/x86/bits/floatn.h | 4 ++--
|
||||
sysdeps/x86/fpu/Makefile | 3 ---
|
||||
sysdeps/x86/fpu/fenv_private.h | 16 ----------------
|
||||
sysdeps/x86/fpu/math-barriers.h | 17 ++++-------------
|
||||
sysdeps/x86_64/Implies | 1 -
|
||||
7 files changed, 7 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/generic/math-use-builtins-copysign.h b/sysdeps/generic/math-use-builtins-copysign.h
|
||||
index b774931f43..a0b4ff6940 100644
|
||||
--- a/sysdeps/generic/math-use-builtins-copysign.h
|
||||
+++ b/sysdeps/generic/math-use-builtins-copysign.h
|
||||
@@ -1,7 +1,7 @@
|
||||
/* Generic implementations for float and double always use the builtin. */
|
||||
#define USE_COPYSIGNL_BUILTIN 1
|
||||
#if __GNUC_PREREQ (7, 0)
|
||||
-# define USE_COPYSIGNF128_BUILTIN 1
|
||||
+# define USE_COPYSIGNF128_BUILTIN 0
|
||||
#else
|
||||
# define USE_COPYSIGNF128_BUILTIN 0
|
||||
#endif
|
||||
diff --git a/sysdeps/i386/Implies b/sysdeps/i386/Implies
|
||||
index 76cb207173..20b2dffc29 100644
|
||||
--- a/sysdeps/i386/Implies
|
||||
+++ b/sysdeps/i386/Implies
|
||||
@@ -1,6 +1,5 @@
|
||||
x86
|
||||
wordsize-32
|
||||
-ieee754/float128
|
||||
ieee754/ldbl-96
|
||||
ieee754/dbl-64
|
||||
ieee754/flt-32
|
||||
diff --git a/sysdeps/x86/bits/floatn.h b/sysdeps/x86/bits/floatn.h
|
||||
index f0c51716a9..5ef30206f7 100644
|
||||
--- a/sysdeps/x86/bits/floatn.h
|
||||
+++ b/sysdeps/x86/bits/floatn.h
|
||||
@@ -29,7 +29,7 @@
|
||||
#if (defined __x86_64__ \
|
||||
? __GNUC_PREREQ (4, 3) \
|
||||
: (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4)))
|
||||
-# define __HAVE_FLOAT128 1
|
||||
+# define __HAVE_FLOAT128 0
|
||||
#else
|
||||
# define __HAVE_FLOAT128 0
|
||||
#endif
|
||||
@@ -37,7 +37,7 @@
|
||||
/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
|
||||
from the default float, double and long double types in this glibc. */
|
||||
#if __HAVE_FLOAT128
|
||||
-# define __HAVE_DISTINCT_FLOAT128 1
|
||||
+# define __HAVE_DISTINCT_FLOAT128 0
|
||||
#else
|
||||
# define __HAVE_DISTINCT_FLOAT128 0
|
||||
#endif
|
||||
diff --git a/sysdeps/x86/fpu/Makefile b/sysdeps/x86/fpu/Makefile
|
||||
index 600e42c3db..a8047a4504 100644
|
||||
--- a/sysdeps/x86/fpu/Makefile
|
||||
+++ b/sysdeps/x86/fpu/Makefile
|
||||
@@ -1,7 +1,4 @@
|
||||
ifeq ($(subdir),math)
|
||||
-# sqrtf128 requires soft-fp.
|
||||
-CPPFLAGS += -I../soft-fp
|
||||
-
|
||||
libm-support += powl_helper
|
||||
tests += test-fenv-sse test-fenv-clear-sse test-fenv-x87 test-fenv-sse-2 \
|
||||
test-flt-eval-method-387 test-flt-eval-method-sse
|
||||
diff --git a/sysdeps/x86/fpu/fenv_private.h b/sysdeps/x86/fpu/fenv_private.h
|
||||
index 4b081e015b..2831632c79 100644
|
||||
--- a/sysdeps/x86/fpu/fenv_private.h
|
||||
+++ b/sysdeps/x86/fpu/fenv_private.h
|
||||
@@ -1,7 +1,6 @@
|
||||
#ifndef X86_FENV_PRIVATE_H
|
||||
#define X86_FENV_PRIVATE_H 1
|
||||
|
||||
-#include <bits/floatn.h>
|
||||
#include <fenv.h>
|
||||
#include <fpu_control.h>
|
||||
|
||||
@@ -293,21 +292,6 @@ libc_feresetround_387 (fenv_t *e)
|
||||
# define libc_feholdsetround_53bit libc_feholdsetround_387_53bit
|
||||
#endif
|
||||
|
||||
-#ifdef __x86_64__
|
||||
-/* The SSE rounding mode is used by soft-fp (libgcc and glibc) on
|
||||
- x86_64, so that must be set for float128 computations. */
|
||||
-# define SET_RESTORE_ROUNDF128(RM) \
|
||||
- SET_RESTORE_ROUND_GENERIC (RM, libc_feholdsetround_sse, libc_feresetround_sse)
|
||||
-# define libc_feholdexcept_setroundf128 libc_feholdexcept_setround_sse
|
||||
-# define libc_feupdateenv_testf128 libc_feupdateenv_test_sse
|
||||
-#else
|
||||
-/* The 387 rounding mode is used by soft-fp for 32-bit, but whether
|
||||
- 387 or SSE exceptions are used depends on whether libgcc was built
|
||||
- for SSE math, which is not known when glibc is being built. */
|
||||
-# define libc_feholdexcept_setroundf128 default_libc_feholdexcept_setround
|
||||
-# define libc_feupdateenv_testf128 default_libc_feupdateenv_test
|
||||
-#endif
|
||||
-
|
||||
/* We have support for rounding mode context. */
|
||||
#define HAVE_RM_CTX 1
|
||||
|
||||
diff --git a/sysdeps/x86/fpu/math-barriers.h b/sysdeps/x86/fpu/math-barriers.h
|
||||
index 4d2d4d1a1a..179d716ac3 100644
|
||||
--- a/sysdeps/x86/fpu/math-barriers.h
|
||||
+++ b/sysdeps/x86/fpu/math-barriers.h
|
||||
@@ -22,16 +22,14 @@
|
||||
#ifdef __SSE2_MATH__
|
||||
# define math_opt_barrier(x) \
|
||||
({ __typeof(x) __x; \
|
||||
- if (sizeof (x) <= sizeof (double) \
|
||||
- || __builtin_types_compatible_p (__typeof (x), _Float128)) \
|
||||
+ if (sizeof (x) <= sizeof (double)) \
|
||||
__asm ("" : "=x" (__x) : "0" (x)); \
|
||||
else \
|
||||
__asm ("" : "=t" (__x) : "0" (x)); \
|
||||
__x; })
|
||||
# define math_force_eval(x) \
|
||||
do { \
|
||||
- if (sizeof (x) <= sizeof (double) \
|
||||
- || __builtin_types_compatible_p (__typeof (x), _Float128)) \
|
||||
+ if (sizeof (x) <= sizeof (double)) \
|
||||
__asm __volatile ("" : : "x" (x)); \
|
||||
else \
|
||||
__asm __volatile ("" : : "f" (x)); \
|
||||
@@ -39,19 +37,12 @@
|
||||
#else
|
||||
# define math_opt_barrier(x) \
|
||||
({ __typeof (x) __x; \
|
||||
- if (__builtin_types_compatible_p (__typeof (x), _Float128)) \
|
||||
- { \
|
||||
- __x = (x); \
|
||||
- __asm ("" : "+m" (__x)); \
|
||||
- } \
|
||||
- else \
|
||||
- __asm ("" : "=t" (__x) : "0" (x)); \
|
||||
+ __asm ("" : "=t" (__x) : "0" (x)); \
|
||||
__x; })
|
||||
# define math_force_eval(x) \
|
||||
do { \
|
||||
__typeof (x) __x = (x); \
|
||||
- if (sizeof (x) <= sizeof (double) \
|
||||
- || __builtin_types_compatible_p (__typeof (x), _Float128)) \
|
||||
+ if (sizeof (x) <= sizeof (double)) \
|
||||
__asm __volatile ("" : : "m" (__x)); \
|
||||
else \
|
||||
__asm __volatile ("" : : "f" (__x)); \
|
||||
diff --git a/sysdeps/x86_64/Implies b/sysdeps/x86_64/Implies
|
||||
index c458625d72..67a9ea92a5 100644
|
||||
--- a/sysdeps/x86_64/Implies
|
||||
+++ b/sysdeps/x86_64/Implies
|
||||
@@ -1,5 +1,4 @@
|
||||
x86
|
||||
-ieee754/float128
|
||||
ieee754/ldbl-96
|
||||
ieee754/dbl-64
|
||||
ieee754/flt-32
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,57 +0,0 @@
|
||||
From d0a25e78aa4dd36f2aa06a60cc6006c6c3a541cb Mon Sep 17 00:00:00 2001
|
||||
From: Fangrui Song <maskray@google.com>
|
||||
Date: Sat, 25 Sep 2021 22:03:08 -0700
|
||||
Subject: [PATCH 02/19] configure: remove overly restrictive check for clang
|
||||
|
||||
---
|
||||
configure | 4 ++--
|
||||
configure.ac | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 2f9adca064..aeace6459a 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -5266,7 +5266,7 @@ int
|
||||
main ()
|
||||
{
|
||||
|
||||
-#if !defined __GNUC__ || __GNUC__ < 6 || (__GNUC__ == 6 && __GNUC_MINOR__ < 2)
|
||||
+#if (__GNUC__ < 6 || (__GNUC__ == 6 && __GNUC_MINOR__ < 2)) && !defined __clang__
|
||||
#error insufficient compiler
|
||||
#endif
|
||||
;
|
||||
@@ -6400,7 +6400,7 @@ else
|
||||
extern char *strstr (const char *, const char *) __asm ("my_strstr");
|
||||
char *foo (const char *a, const char *b)
|
||||
{
|
||||
- return __builtin_strstr (a, b);
|
||||
+ return strstr (a, b);
|
||||
}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -O3 -S conftest.c -o - | grep -F "my_strstr" > /dev/null'
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7eb4239359..4aed952f2b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1047,7 +1047,7 @@ AC_CHECK_PROG_VER(BISON, bison, --version,
|
||||
|
||||
AC_CACHE_CHECK([if $CC is sufficient to build libc], libc_cv_compiler_ok, [
|
||||
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[]], [[
|
||||
-#if !defined __GNUC__ || __GNUC__ < 6 || (__GNUC__ == 6 && __GNUC_MINOR__ < 2)
|
||||
+#if (__GNUC__ < 6 || (__GNUC__ == 6 && __GNUC_MINOR__ < 2)) && !defined __clang__
|
||||
#error insufficient compiler
|
||||
#endif]])],
|
||||
[libc_cv_compiler_ok=yes],
|
||||
@@ -1549,7 +1549,7 @@ cat > conftest.c <<\EOF
|
||||
extern char *strstr (const char *, const char *) __asm ("my_strstr");
|
||||
char *foo (const char *a, const char *b)
|
||||
{
|
||||
- return __builtin_strstr (a, b);
|
||||
+ return strstr (a, b);
|
||||
}
|
||||
EOF
|
||||
dnl
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,48 +0,0 @@
|
||||
From 754b0e03ee2400e5c0ae3e03a5148661fd252130 Mon Sep 17 00:00:00 2001
|
||||
From: Stan Shebs <stanshebs@google.com>
|
||||
Date: Fri, 19 Jan 2018 09:31:04 -0800
|
||||
Subject: [PATCH 03/19] Skip undefined va_arg_pack
|
||||
|
||||
---
|
||||
misc/sys/cdefs.h | 5 +++++
|
||||
sysdeps/generic/ldsodefs.h | 4 ++++
|
||||
2 files changed, 9 insertions(+)
|
||||
|
||||
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
|
||||
index ab57d4a065..34dbacbb1a 100644
|
||||
--- a/misc/sys/cdefs.h
|
||||
+++ b/misc/sys/cdefs.h
|
||||
@@ -463,9 +463,14 @@
|
||||
/* GCC 4.3 and above allow passing all anonymous arguments of an
|
||||
__extern_always_inline function to some other vararg function. */
|
||||
#if __GNUC_PREREQ (4,3)
|
||||
+#if defined(__clang__)
|
||||
+# define __va_arg_pack() __VA_ARGS__
|
||||
+# define __va_arg_pack_len() 0
|
||||
+#else
|
||||
# define __va_arg_pack() __builtin_va_arg_pack ()
|
||||
# define __va_arg_pack_len() __builtin_va_arg_pack_len ()
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
/* It is possible to compile containing GCC extensions even if GCC is
|
||||
run in pedantic mode if the uses are carefully marked using the
|
||||
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
|
||||
index c26860430c..e30680e5e9 100644
|
||||
--- a/sysdeps/generic/ldsodefs.h
|
||||
+++ b/sysdeps/generic/ldsodefs.h
|
||||
@@ -831,7 +831,11 @@ _dl_dprintf (int fd, const char *fmt, ...)
|
||||
{
|
||||
/* Use local declaration to avoid includign <stdio.h>. */
|
||||
extern int __dprintf(int fd, const char *format, ...) attribute_hidden;
|
||||
+#if defined(__clang__)
|
||||
+ __dprintf (fd, fmt);
|
||||
+#else
|
||||
__dprintf (fd, fmt, __builtin_va_arg_pack ());
|
||||
+#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,60 +0,0 @@
|
||||
From 60fbf233d344bd4801d20c0475c9b5323325dfb0 Mon Sep 17 00:00:00 2001
|
||||
From: Fangrui Song <maskray@google.com>
|
||||
Date: Sun, 22 Aug 2021 22:36:44 -0700
|
||||
Subject: [PATCH 04/19] not-cancel.h: Move hidden_proto before first use
|
||||
|
||||
This fixes `error: cannot apply asm label to function after its first use`
|
||||
for Clang.
|
||||
---
|
||||
sysdeps/unix/sysv/linux/not-cancel.h | 30 ++++++++++++++--------------
|
||||
1 file changed, 15 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/unix/sysv/linux/not-cancel.h b/sysdeps/unix/sysv/linux/not-cancel.h
|
||||
index 82798df4b4..7d34d3b66b 100644
|
||||
--- a/sysdeps/unix/sysv/linux/not-cancel.h
|
||||
+++ b/sysdeps/unix/sysv/linux/not-cancel.h
|
||||
@@ -51,6 +51,21 @@ __typeof (__write) __write_nocancel;
|
||||
/* Uncancelable close. */
|
||||
__typeof (__close) __close_nocancel;
|
||||
|
||||
+/* Uncancelable fcntl. */
|
||||
+__typeof (__fcntl) __fcntl64_nocancel;
|
||||
+
|
||||
+#if IS_IN (libc) || IS_IN (rtld)
|
||||
+hidden_proto (__open_nocancel)
|
||||
+hidden_proto (__open64_nocancel)
|
||||
+hidden_proto (__openat_nocancel)
|
||||
+hidden_proto (__openat64_nocancel)
|
||||
+hidden_proto (__read_nocancel)
|
||||
+hidden_proto (__pread64_nocancel)
|
||||
+hidden_proto (__write_nocancel)
|
||||
+hidden_proto (__close_nocancel)
|
||||
+hidden_proto (__fcntl64_nocancel)
|
||||
+#endif
|
||||
+
|
||||
/* Non cancellable close syscall that does not also set errno in case of
|
||||
failure. */
|
||||
static inline void
|
||||
@@ -67,19 +82,4 @@ __writev_nocancel_nostatus (int fd, const struct iovec *iov, int iovcnt)
|
||||
INTERNAL_SYSCALL_CALL (writev, fd, iov, iovcnt);
|
||||
}
|
||||
|
||||
-/* Uncancelable fcntl. */
|
||||
-__typeof (__fcntl) __fcntl64_nocancel;
|
||||
-
|
||||
-#if IS_IN (libc) || IS_IN (rtld)
|
||||
-hidden_proto (__open_nocancel)
|
||||
-hidden_proto (__open64_nocancel)
|
||||
-hidden_proto (__openat_nocancel)
|
||||
-hidden_proto (__openat64_nocancel)
|
||||
-hidden_proto (__read_nocancel)
|
||||
-hidden_proto (__pread64_nocancel)
|
||||
-hidden_proto (__write_nocancel)
|
||||
-hidden_proto (__close_nocancel)
|
||||
-hidden_proto (__fcntl64_nocancel)
|
||||
-#endif
|
||||
-
|
||||
#endif /* NOT_CANCEL_H */
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 2efaa75a5daddbaf84f3c7e8d545a02894eb0364 Mon Sep 17 00:00:00 2001
|
||||
From: Fangrui Song <maskray@google.com>
|
||||
Date: Sat, 25 Sep 2021 18:50:02 -0700
|
||||
Subject: [PATCH 05/19] libc-symbols.h: Work around asm label issues with
|
||||
#pragma redefine_extname
|
||||
|
||||
Using asm labels can lead to `error: cannot apply asm label to function after its first use`
|
||||
in many places. `#pragma redefine_extname` has the same behavior with an asm label, but avoids the error.
|
||||
|
||||
The symbol will not be properly renamed to a non-default version symbol.
|
||||
---
|
||||
include/libc-symbols.h | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
|
||||
index d41ecf4384..8a5a9ff0b3 100644
|
||||
--- a/include/libc-symbols.h
|
||||
+++ b/include/libc-symbols.h
|
||||
@@ -534,9 +534,19 @@ for linking")
|
||||
__hidden_proto (name, , __GI_##name, ##attrs)
|
||||
# define hidden_tls_proto(name, attrs...) \
|
||||
__hidden_proto (name, __thread, __GI_##name, ##attrs)
|
||||
-# define __hidden_proto(name, thread, internal, attrs...) \
|
||||
+# ifdef __clang__
|
||||
+# define __hidden_proto(name, thread, internal, attrs...) \
|
||||
+ extern thread __typeof (name) name \
|
||||
+ __hidden_proto_hiddenattr (attrs); \
|
||||
+ _Pragma (__redefine(name, internal))
|
||||
+/* Note that this macro does not use __hidden_asmname, since it produces a string. */
|
||||
+# define __redefine(name, internal) __stringize(redefine_extname name internal)
|
||||
+# define __stringize(X) #X
|
||||
+# else
|
||||
+# define __hidden_proto(name, thread, internal, attrs...) \
|
||||
extern thread __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
|
||||
__hidden_proto_hiddenattr (attrs);
|
||||
+# endif
|
||||
# define __hidden_asmname(name) \
|
||||
__hidden_asmname1 (__USER_LABEL_PREFIX__, name)
|
||||
# define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name)
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,34 +0,0 @@
|
||||
From cc0b0cf4cceb29e1adddf9a171c9409010bee3c9 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Wed, 9 Feb 2022 14:20:22 +0800
|
||||
Subject: [PATCH] x86: fix __arch_exchange_and_add_body
|
||||
|
||||
---
|
||||
sysdeps/x86/atomic-machine.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h
|
||||
index f24f1c7..c431f86 100644
|
||||
--- a/sysdeps/x86/atomic-machine.h
|
||||
+++ b/sysdeps/x86/atomic-machine.h
|
||||
@@ -165,7 +165,7 @@
|
||||
else if (__HAVE_64B_ATOMICS) \
|
||||
__asm __volatile ("xchgq %q0, %1" \
|
||||
: "=r" (result), "=m" (*mem) \
|
||||
- : "0" ((int64_t) cast_to_integer (newvalue)), \
|
||||
+ : "0" (cast_to_integer (newvalue)), \
|
||||
"m" (*mem)); \
|
||||
else \
|
||||
{ \
|
||||
@@ -196,7 +196,7 @@
|
||||
else if (__HAVE_64B_ATOMICS) \
|
||||
__asm __volatile (lock "xaddq %q0, %1" \
|
||||
: "=r" (__result), "=m" (*mem) \
|
||||
- : "0" ((int64_t) cast_to_integer (__addval)), \
|
||||
+ : "0" (cast_to_integer (__addval)), \
|
||||
"m" (*mem), \
|
||||
"i" (offsetof (tcbhead_t, multiple_threads))); \
|
||||
else \
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,39 +0,0 @@
|
||||
From 505644022aa52d304a39f889301868f098e08678 Mon Sep 17 00:00:00 2001
|
||||
From: Fangrui Song <maskray@google.com>
|
||||
Date: Sun, 26 Sep 2021 00:15:23 -0700
|
||||
Subject: [PATCH 07/19] configure: Check -fno-tree-loop-distribute-patterns
|
||||
|
||||
---
|
||||
configure | 2 +-
|
||||
configure.ac | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index aeace6459a..bac533649b 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6484,7 +6484,7 @@ __attribute__ ((__optimize__ ("-fno-tree-loop-distribute-patterns")))
|
||||
foo (void) {}
|
||||
EOF
|
||||
libc_cv_cc_loop_to_function=no
|
||||
-if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c'
|
||||
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Werror -c conftest.c'
|
||||
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 4aed952f2b..a730a6f136 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1596,7 +1596,7 @@ __attribute__ ((__optimize__ ("-fno-tree-loop-distribute-patterns")))
|
||||
foo (void) {}
|
||||
EOF
|
||||
libc_cv_cc_loop_to_function=no
|
||||
-if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c])
|
||||
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Werror -c conftest.c])
|
||||
then
|
||||
libc_cv_cc_loop_to_function=yes
|
||||
fi
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 954bbeb3ab0dea87041e08220ea2b1b34301149a Mon Sep 17 00:00:00 2001
|
||||
From: Fangrui Song <maskray@google.com>
|
||||
Date: Thu, 7 Oct 2021 18:16:04 -0700
|
||||
Subject: [PATCH 08/19] Disable __USE_EXTERN_INLINES for clang
|
||||
|
||||
---
|
||||
include/features.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/features.h b/include/features.h
|
||||
index d974eabfaf..11cbbf512a 100644
|
||||
--- a/include/features.h
|
||||
+++ b/include/features.h
|
||||
@@ -500,7 +500,7 @@
|
||||
/* Decide whether we can define 'extern inline' functions in headers. */
|
||||
#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \
|
||||
&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \
|
||||
- && defined __extern_inline
|
||||
+ && defined __extern_inline && !defined __clang__
|
||||
# define __USE_EXTERN_INLINES 1
|
||||
#endif
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,526 +0,0 @@
|
||||
From d91d6cf6bdb06ed1e7a415d5e1799ce1e130f3d1 Mon Sep 17 00:00:00 2001
|
||||
From: Fangrui Song <maskray@google.com>
|
||||
Date: Sun, 10 Oct 2021 16:06:14 -0700
|
||||
Subject: [PATCH 09/19] stdlib/longlong.h: Remove incorrect lvalue to rvalue
|
||||
conversion from asm output constraints
|
||||
|
||||
An output constraint takes a lvalue. While GCC happily strips the
|
||||
incorrect lvalue to rvalue conversion, Clang rejects the code by
|
||||
default:
|
||||
|
||||
error: invalid use of a cast in a inline asm context requiring an lvalue: remove the cast or build with -fheinous-gnu-extensions
|
||||
---
|
||||
stdlib/longlong.h | 186 +++++++++++++++++++++++-----------------------
|
||||
1 file changed, 93 insertions(+), 93 deletions(-)
|
||||
|
||||
diff --git a/stdlib/longlong.h b/stdlib/longlong.h
|
||||
index ed22486d8a..722cba7a60 100644
|
||||
--- a/stdlib/longlong.h
|
||||
+++ b/stdlib/longlong.h
|
||||
@@ -194,8 +194,8 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype);
|
||||
#if defined (__arc__) && W_TYPE_SIZE == 32
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("add.f %1, %4, %5\n\tadc %0, %2, %3" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "%r" ((USItype) (ah)), \
|
||||
"rICal" ((USItype) (bh)), \
|
||||
"%r" ((USItype) (al)), \
|
||||
@@ -203,8 +203,8 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype);
|
||||
: "cc")
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("sub.f %1, %4, %5\n\tsbc %0, %2, %3" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "r" ((USItype) (ah)), \
|
||||
"rICal" ((USItype) (bh)), \
|
||||
"r" ((USItype) (al)), \
|
||||
@@ -230,16 +230,16 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype);
|
||||
&& W_TYPE_SIZE == 32
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("adds %1, %4, %5\n\tadc %0, %2, %3" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "%r" ((USItype) (ah)), \
|
||||
"rI" ((USItype) (bh)), \
|
||||
"%r" ((USItype) (al)), \
|
||||
"rI" ((USItype) (bl)) __CLOBBER_CC)
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("subs %1, %4, %5\n\tsbc %0, %2, %3" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "r" ((USItype) (ah)), \
|
||||
"rI" ((USItype) (bh)), \
|
||||
"r" ((USItype) (al)), \
|
||||
@@ -262,8 +262,8 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype);
|
||||
" addcs %0, %0, #65536\n" \
|
||||
" adds %1, %1, %3, lsl #16\n" \
|
||||
" adc %0, %0, %3, lsr #16" \
|
||||
- : "=&r" ((USItype) (xh)), \
|
||||
- "=r" ((USItype) (xl)), \
|
||||
+ : "=&r" (xh), \
|
||||
+ "=r" (xl), \
|
||||
"=&r" (__t0), "=&r" (__t1), "=r" (__t2) \
|
||||
: "r" ((USItype) (a)), \
|
||||
"r" ((USItype) (b)) __CLOBBER_CC ); \
|
||||
@@ -348,16 +348,16 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#if defined (__hppa) && W_TYPE_SIZE == 32
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("add %4,%5,%1\n\taddc %2,%3,%0" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "%rM" ((USItype) (ah)), \
|
||||
"rM" ((USItype) (bh)), \
|
||||
"%rM" ((USItype) (al)), \
|
||||
"rM" ((USItype) (bl)))
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("sub %4,%5,%1\n\tsubb %2,%3,%0" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "rM" ((USItype) (ah)), \
|
||||
"rM" ((USItype) (bh)), \
|
||||
"rM" ((USItype) (al)), \
|
||||
@@ -456,30 +456,30 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("add{l} {%5,%1|%1,%5}\n\tadc{l} {%3,%0|%0,%3}" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "%0" ((USItype) (ah)), \
|
||||
"g" ((USItype) (bh)), \
|
||||
"%1" ((USItype) (al)), \
|
||||
"g" ((USItype) (bl)))
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("sub{l} {%5,%1|%1,%5}\n\tsbb{l} {%3,%0|%0,%3}" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "0" ((USItype) (ah)), \
|
||||
"g" ((USItype) (bh)), \
|
||||
"1" ((USItype) (al)), \
|
||||
"g" ((USItype) (bl)))
|
||||
#define umul_ppmm(w1, w0, u, v) \
|
||||
__asm__ ("mul{l} %3" \
|
||||
- : "=a" ((USItype) (w0)), \
|
||||
- "=d" ((USItype) (w1)) \
|
||||
+ : "=a" (w0), \
|
||||
+ "=d" (w1) \
|
||||
: "%0" ((USItype) (u)), \
|
||||
"rm" ((USItype) (v)))
|
||||
#define udiv_qrnnd(q, r, n1, n0, dv) \
|
||||
__asm__ ("div{l} %4" \
|
||||
- : "=a" ((USItype) (q)), \
|
||||
- "=d" ((USItype) (r)) \
|
||||
+ : "=a" (q), \
|
||||
+ "=d" (r) \
|
||||
: "0" ((USItype) (n0)), \
|
||||
"1" ((USItype) (n1)), \
|
||||
"rm" ((USItype) (dv)))
|
||||
@@ -492,30 +492,30 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#if defined (__x86_64__) && W_TYPE_SIZE == 64
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("add{q} {%5,%1|%1,%5}\n\tadc{q} {%3,%0|%0,%3}" \
|
||||
- : "=r" ((UDItype) (sh)), \
|
||||
- "=&r" ((UDItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "%0" ((UDItype) (ah)), \
|
||||
"rme" ((UDItype) (bh)), \
|
||||
"%1" ((UDItype) (al)), \
|
||||
"rme" ((UDItype) (bl)))
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("sub{q} {%5,%1|%1,%5}\n\tsbb{q} {%3,%0|%0,%3}" \
|
||||
- : "=r" ((UDItype) (sh)), \
|
||||
- "=&r" ((UDItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "0" ((UDItype) (ah)), \
|
||||
"rme" ((UDItype) (bh)), \
|
||||
"1" ((UDItype) (al)), \
|
||||
"rme" ((UDItype) (bl)))
|
||||
#define umul_ppmm(w1, w0, u, v) \
|
||||
__asm__ ("mul{q} %3" \
|
||||
- : "=a" ((UDItype) (w0)), \
|
||||
- "=d" ((UDItype) (w1)) \
|
||||
+ : "=a" (w0), \
|
||||
+ "=d" (w1) \
|
||||
: "%0" ((UDItype) (u)), \
|
||||
"rm" ((UDItype) (v)))
|
||||
#define udiv_qrnnd(q, r, n1, n0, dv) \
|
||||
__asm__ ("div{q} %4" \
|
||||
- : "=a" ((UDItype) (q)), \
|
||||
- "=d" ((UDItype) (r)) \
|
||||
+ : "=a" (q), \
|
||||
+ "=d" (r) \
|
||||
: "0" ((UDItype) (n0)), \
|
||||
"1" ((UDItype) (n1)), \
|
||||
"rm" ((UDItype) (dv)))
|
||||
@@ -597,8 +597,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
/* The cmp clears the condition bit. */ \
|
||||
__asm__ ("cmp %0,%0\n\taddx %1,%5\n\taddx %0,%3" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "0" ((USItype) (ah)), \
|
||||
"r" ((USItype) (bh)), \
|
||||
"1" ((USItype) (al)), \
|
||||
@@ -607,8 +607,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
/* The cmp clears the condition bit. */ \
|
||||
__asm__ ("cmp %0,%0\n\tsubx %1,%5\n\tsubx %0,%3" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "0" ((USItype) (ah)), \
|
||||
"r" ((USItype) (bh)), \
|
||||
"1" ((USItype) (al)), \
|
||||
@@ -619,16 +619,16 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#if defined (__mc68000__) && W_TYPE_SIZE == 32
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("add%.l %5,%1\n\taddx%.l %3,%0" \
|
||||
- : "=d" ((USItype) (sh)), \
|
||||
- "=&d" ((USItype) (sl)) \
|
||||
+ : "=d" (sh), \
|
||||
+ "=&d" (sl) \
|
||||
: "%0" ((USItype) (ah)), \
|
||||
"d" ((USItype) (bh)), \
|
||||
"%1" ((USItype) (al)), \
|
||||
"g" ((USItype) (bl)))
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("sub%.l %5,%1\n\tsubx%.l %3,%0" \
|
||||
- : "=d" ((USItype) (sh)), \
|
||||
- "=&d" ((USItype) (sl)) \
|
||||
+ : "=d" (sh), \
|
||||
+ "=&d" (sl) \
|
||||
: "0" ((USItype) (ah)), \
|
||||
"d" ((USItype) (bh)), \
|
||||
"1" ((USItype) (al)), \
|
||||
@@ -638,23 +638,23 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#if (defined (__mc68020__) && !defined (__mc68060__))
|
||||
#define umul_ppmm(w1, w0, u, v) \
|
||||
__asm__ ("mulu%.l %3,%1:%0" \
|
||||
- : "=d" ((USItype) (w0)), \
|
||||
- "=d" ((USItype) (w1)) \
|
||||
+ : "=d" (w0), \
|
||||
+ "=d" (w1) \
|
||||
: "%0" ((USItype) (u)), \
|
||||
"dmi" ((USItype) (v)))
|
||||
#define UMUL_TIME 45
|
||||
#define udiv_qrnnd(q, r, n1, n0, d) \
|
||||
__asm__ ("divu%.l %4,%1:%0" \
|
||||
- : "=d" ((USItype) (q)), \
|
||||
- "=d" ((USItype) (r)) \
|
||||
+ : "=d" (q), \
|
||||
+ "=d" (r) \
|
||||
: "0" ((USItype) (n0)), \
|
||||
"1" ((USItype) (n1)), \
|
||||
"dmi" ((USItype) (d)))
|
||||
#define UDIV_TIME 90
|
||||
#define sdiv_qrnnd(q, r, n1, n0, d) \
|
||||
__asm__ ("divs%.l %4,%1:%0" \
|
||||
- : "=d" ((USItype) (q)), \
|
||||
- "=d" ((USItype) (r)) \
|
||||
+ : "=d" (q), \
|
||||
+ "=d" (r) \
|
||||
: "0" ((USItype) (n0)), \
|
||||
"1" ((USItype) (n1)), \
|
||||
"dmi" ((USItype) (d)))
|
||||
@@ -688,8 +688,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
" move%.l %/d2,%1\n" \
|
||||
" add%.l %/d1,%/d0\n" \
|
||||
" move%.l %/d0,%0" \
|
||||
- : "=g" ((USItype) (xh)), \
|
||||
- "=g" ((USItype) (xl)) \
|
||||
+ : "=g" (xh)), \
|
||||
+ "=g" (xl) \
|
||||
: "g" ((USItype) (a)), \
|
||||
"g" ((USItype) (b)) \
|
||||
: "d0", "d1", "d2", "d3", "d4")
|
||||
@@ -724,8 +724,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
" move%.l %/d2,%1\n" \
|
||||
" add%.l %/d1,%/d0\n" \
|
||||
" move%.l %/d0,%0" \
|
||||
- : "=g" ((USItype) (xh)), \
|
||||
- "=g" ((USItype) (xl)) \
|
||||
+ : "=g" (xh)), \
|
||||
+ "=g" (xl) \
|
||||
: "g" ((USItype) (a)), \
|
||||
"g" ((USItype) (b)) \
|
||||
: "d0", "d1", "d2", "d3", "d4")
|
||||
@@ -739,7 +739,7 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#if defined (__mc68020__) && !defined (__mcpu32__)
|
||||
#define count_leading_zeros(count, x) \
|
||||
__asm__ ("bfffo %1{%b2:%b2},%0" \
|
||||
- : "=d" ((USItype) (count)) \
|
||||
+ : "=d" (count) \
|
||||
: "od" ((USItype) (x)), "n" (0))
|
||||
/* Some ColdFire architectures have a ff1 instruction supported via
|
||||
__builtin_clz. */
|
||||
@@ -752,16 +752,16 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#if defined (__m88000__) && W_TYPE_SIZE == 32
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("addu.co %1,%r4,%r5\n\taddu.ci %0,%r2,%r3" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "%rJ" ((USItype) (ah)), \
|
||||
"rJ" ((USItype) (bh)), \
|
||||
"%rJ" ((USItype) (al)), \
|
||||
"rJ" ((USItype) (bl)))
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("subu.co %1,%r4,%r5\n\tsubu.ci %0,%r2,%r3" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "rJ" ((USItype) (ah)), \
|
||||
"rJ" ((USItype) (bh)), \
|
||||
"rJ" ((USItype) (al)), \
|
||||
@@ -988,16 +988,16 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#if defined (__ibm032__) /* RT/ROMP */ && W_TYPE_SIZE == 32
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("a %1,%5\n\tae %0,%3" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "%0" ((USItype) (ah)), \
|
||||
"r" ((USItype) (bh)), \
|
||||
"%1" ((USItype) (al)), \
|
||||
"r" ((USItype) (bl)))
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("s %1,%5\n\tse %0,%3" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "0" ((USItype) (ah)), \
|
||||
"r" ((USItype) (bh)), \
|
||||
"1" ((USItype) (al)), \
|
||||
@@ -1026,8 +1026,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
" m r2,%3\n" \
|
||||
" cas %0,r2,r0\n" \
|
||||
" mfs r10,%1" \
|
||||
- : "=r" ((USItype) (ph)), \
|
||||
- "=r" ((USItype) (pl)) \
|
||||
+ : "=r" (ph), \
|
||||
+ "=r" (pl) \
|
||||
: "%r" (__m0), \
|
||||
"r" (__m1) \
|
||||
: "r2"); \
|
||||
@@ -1040,12 +1040,12 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
do { \
|
||||
if ((x) >= 0x10000) \
|
||||
__asm__ ("clz %0,%1" \
|
||||
- : "=r" ((USItype) (count)) \
|
||||
+ : "=r" (count) \
|
||||
: "r" ((USItype) (x) >> 16)); \
|
||||
else \
|
||||
{ \
|
||||
__asm__ ("clz %0,%1" \
|
||||
- : "=r" ((USItype) (count)) \
|
||||
+ : "=r" (count) \
|
||||
: "r" ((USItype) (x))); \
|
||||
(count) += 16; \
|
||||
} \
|
||||
@@ -1107,8 +1107,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#define umul_ppmm(w1, w0, u, v) \
|
||||
__asm__ ( \
|
||||
"dmulu.l %2,%3\n\tsts%M1 macl,%1\n\tsts%M0 mach,%0" \
|
||||
- : "=r<" ((USItype)(w1)), \
|
||||
- "=r<" ((USItype)(w0)) \
|
||||
+ : "=r<" (w1), \
|
||||
+ "=r<" (w0) \
|
||||
: "r" ((USItype)(u)), \
|
||||
"r" ((USItype)(v)) \
|
||||
: "macl", "mach")
|
||||
@@ -1179,8 +1179,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
&& W_TYPE_SIZE == 32
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("addcc %r4,%5,%1\n\taddx %r2,%3,%0" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "%rJ" ((USItype) (ah)), \
|
||||
"rI" ((USItype) (bh)), \
|
||||
"%rJ" ((USItype) (al)), \
|
||||
@@ -1188,8 +1188,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
__CLOBBER_CC)
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("subcc %r4,%5,%1\n\tsubx %r2,%3,%0" \
|
||||
- : "=r" ((USItype) (sh)), \
|
||||
- "=&r" ((USItype) (sl)) \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl) \
|
||||
: "rJ" ((USItype) (ah)), \
|
||||
"rI" ((USItype) (bh)), \
|
||||
"rJ" ((USItype) (al)), \
|
||||
@@ -1201,7 +1201,7 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
register USItype __g1 asm ("g1"); \
|
||||
__asm__ ("umul\t%2,%3,%1\n\t" \
|
||||
"srlx\t%1, 32, %0" \
|
||||
- : "=r" ((USItype) (w1)), \
|
||||
+ : "=r" (w1), \
|
||||
"=r" (__g1) \
|
||||
: "r" ((USItype) (u)), \
|
||||
"r" ((USItype) (v))); \
|
||||
@@ -1212,8 +1212,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
"udiv\t%3,%4,%0\n\t" \
|
||||
"umul\t%0,%4,%1\n\t" \
|
||||
"sub\t%3,%1,%1" \
|
||||
- : "=&r" ((USItype) (__q)), \
|
||||
- "=&r" ((USItype) (__r)) \
|
||||
+ : "=&r" (__q), \
|
||||
+ "=&r" (__r) \
|
||||
: "r" ((USItype) (__n1)), \
|
||||
"r" ((USItype) (__n0)), \
|
||||
"r" ((USItype) (__d)))
|
||||
@@ -1221,14 +1221,14 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#if defined (__sparc_v8__)
|
||||
#define umul_ppmm(w1, w0, u, v) \
|
||||
__asm__ ("umul %2,%3,%1;rd %%y,%0" \
|
||||
- : "=r" ((USItype) (w1)), \
|
||||
- "=r" ((USItype) (w0)) \
|
||||
+ : "=r" (w1), \
|
||||
+ "=r" (w0) \
|
||||
: "r" ((USItype) (u)), \
|
||||
"r" ((USItype) (v)))
|
||||
#define udiv_qrnnd(__q, __r, __n1, __n0, __d) \
|
||||
__asm__ ("mov %2,%%y;nop;nop;nop;udiv %3,%4,%0;umul %0,%4,%1;sub %3,%1,%1"\
|
||||
- : "=&r" ((USItype) (__q)), \
|
||||
- "=&r" ((USItype) (__r)) \
|
||||
+ : "=&r" (__q), \
|
||||
+ "=&r" (__r) \
|
||||
: "r" ((USItype) (__n1)), \
|
||||
"r" ((USItype) (__n0)), \
|
||||
"r" ((USItype) (__d)))
|
||||
@@ -1238,8 +1238,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
instructions scan (ffs from high bit) and divscc. */
|
||||
#define umul_ppmm(w1, w0, u, v) \
|
||||
__asm__ ("umul %2,%3,%1;rd %%y,%0" \
|
||||
- : "=r" ((USItype) (w1)), \
|
||||
- "=r" ((USItype) (w0)) \
|
||||
+ : "=r" (w1), \
|
||||
+ "=r" (w0) \
|
||||
: "r" ((USItype) (u)), \
|
||||
"r" ((USItype) (v)))
|
||||
#define udiv_qrnnd(q, r, n1, n0, d) \
|
||||
@@ -1282,8 +1282,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
" bl,a 1f\n" \
|
||||
" add %1,%4,%1\n" \
|
||||
"1: ! End of inline udiv_qrnnd" \
|
||||
- : "=r" ((USItype) (q)), \
|
||||
- "=r" ((USItype) (r)) \
|
||||
+ : "=r" (q), \
|
||||
+ "=r" (r) \
|
||||
: "r" ((USItype) (n1)), \
|
||||
"r" ((USItype) (n0)), \
|
||||
"rI" ((USItype) (d)) \
|
||||
@@ -1292,7 +1292,7 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#define count_leading_zeros(count, x) \
|
||||
do { \
|
||||
__asm__ ("scan %1,1,%0" \
|
||||
- : "=r" ((USItype) (count)) \
|
||||
+ : "=r" (count) \
|
||||
: "r" ((USItype) (x))); \
|
||||
} while (0)
|
||||
/* Early sparclites return 63 for an argument of 0, but they warn that future
|
||||
@@ -1342,8 +1342,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
" mulscc %%g1,0,%%g1\n" \
|
||||
" add %%g1,%%o5,%0\n" \
|
||||
" rd %%y,%1" \
|
||||
- : "=r" ((USItype) (w1)), \
|
||||
- "=r" ((USItype) (w0)) \
|
||||
+ : "=r" (w1), \
|
||||
+ "=r" (w0) \
|
||||
: "%rI" ((USItype) (u)), \
|
||||
"r" ((USItype) (v)) \
|
||||
: "g1", "o5" __AND_CLOBBER_CC)
|
||||
@@ -1375,8 +1375,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
" sub %1,%2,%1\n" \
|
||||
"3: xnor %0,0,%0\n" \
|
||||
" ! End of inline udiv_qrnnd" \
|
||||
- : "=&r" ((USItype) (__q)), \
|
||||
- "=&r" ((USItype) (__r)) \
|
||||
+ : "=&r" (__q), \
|
||||
+ "=&r" (__r) \
|
||||
: "r" ((USItype) (__d)), \
|
||||
"1" ((USItype) (__n1)), \
|
||||
"0" ((USItype) (__n0)) : "g1" __AND_CLOBBER_CC)
|
||||
@@ -1395,8 +1395,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
"add\t%r3,%4,%0\n\t" \
|
||||
"movcs\t%%xcc, 1, %2\n\t" \
|
||||
"add\t%0, %2, %0" \
|
||||
- : "=r" ((UDItype)(sh)), \
|
||||
- "=&r" ((UDItype)(sl)), \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl), \
|
||||
"+r" (__carry) \
|
||||
: "%rJ" ((UDItype)(ah)), \
|
||||
"rI" ((UDItype)(bh)), \
|
||||
@@ -1412,8 +1412,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
"sub\t%r3,%4,%0\n\t" \
|
||||
"movcs\t%%xcc, 1, %2\n\t" \
|
||||
"sub\t%0, %2, %0" \
|
||||
- : "=r" ((UDItype)(sh)), \
|
||||
- "=&r" ((UDItype)(sl)), \
|
||||
+ : "=r" (sh), \
|
||||
+ "=&r" (sl), \
|
||||
"+r" (__carry) \
|
||||
: "%rJ" ((UDItype)(ah)), \
|
||||
"rI" ((UDItype)(bh)), \
|
||||
@@ -1447,8 +1447,8 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
"sllx %3,32,%3\n\t" \
|
||||
"add %1,%3,%1\n\t" \
|
||||
"add %5,%2,%0" \
|
||||
- : "=r" ((UDItype)(wh)), \
|
||||
- "=&r" ((UDItype)(wl)), \
|
||||
+ : "=r" (wh), \
|
||||
+ "=&r" (wl), \
|
||||
"=&r" (tmp1), "=&r" (tmp2), "=&r" (tmp3), "=&r" (tmp4) \
|
||||
: "r" ((UDItype)(u)), \
|
||||
"r" ((UDItype)(v)) \
|
||||
@@ -1461,16 +1461,16 @@ extern UDItype __umulsidi3 (USItype, USItype);
|
||||
#if defined (__vax__) && W_TYPE_SIZE == 32
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("addl2 %5,%1\n\tadwc %3,%0" \
|
||||
- : "=g" ((USItype) (sh)), \
|
||||
- "=&g" ((USItype) (sl)) \
|
||||
+ : "=g" (sh)), \
|
||||
+ "=&g" (sl) \
|
||||
: "%0" ((USItype) (ah)), \
|
||||
"g" ((USItype) (bh)), \
|
||||
"%1" ((USItype) (al)), \
|
||||
"g" ((USItype) (bl)))
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("subl2 %5,%1\n\tsbwc %3,%0" \
|
||||
- : "=g" ((USItype) (sh)), \
|
||||
- "=&g" ((USItype) (sl)) \
|
||||
+ : "=g" (sh)), \
|
||||
+ "=&g" (sl) \
|
||||
: "0" ((USItype) (ah)), \
|
||||
"g" ((USItype) (bh)), \
|
||||
"1" ((USItype) (al)), \
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,36 +0,0 @@
|
||||
From b75401fff60096ac7db97e32f9b2b21a34d0a8bb Mon Sep 17 00:00:00 2001
|
||||
From: Fangrui Song <maskray@google.com>
|
||||
Date: Wed, 3 Nov 2021 22:12:47 -0700
|
||||
Subject: [PATCH 10/19] x86_64: Remove -msse2avx
|
||||
|
||||
Clang does not recognize this option.
|
||||
---
|
||||
sysdeps/x86_64/fpu/multiarch/Makefile | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile
|
||||
index ec796277a5..1932cb3863 100644
|
||||
--- a/sysdeps/x86_64/fpu/multiarch/Makefile
|
||||
+++ b/sysdeps/x86_64/fpu/multiarch/Makefile
|
||||
@@ -50,12 +50,12 @@ CFLAGS-s_tan-fma4.c = -mfma4
|
||||
libm-sysdep_routines += e_exp-avx e_log-avx s_atan-avx \
|
||||
e_atan2-avx s_sin-avx s_tan-avx
|
||||
|
||||
-CFLAGS-e_atan2-avx.c = -msse2avx -DSSE2AVX
|
||||
-CFLAGS-e_exp-avx.c = -msse2avx -DSSE2AVX
|
||||
-CFLAGS-e_log-avx.c = -msse2avx -DSSE2AVX
|
||||
-CFLAGS-s_atan-avx.c = -msse2avx -DSSE2AVX
|
||||
-CFLAGS-s_sin-avx.c = -msse2avx -DSSE2AVX
|
||||
-CFLAGS-s_tan-avx.c = -msse2avx -DSSE2AVX
|
||||
+CFLAGS-e_atan2-avx.c = -DSSE2AVX
|
||||
+CFLAGS-e_exp-avx.c = -DSSE2AVX
|
||||
+CFLAGS-e_log-avx.c = -DSSE2AVX
|
||||
+CFLAGS-s_atan-avx.c = -DSSE2AVX
|
||||
+CFLAGS-s_sin-avx.c = -DSSE2AVX
|
||||
+CFLAGS-s_tan-avx.c = -DSSE2AVX
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),mathvec)
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,35 +0,0 @@
|
||||
From 365740bf8dc417f279a36672f05627cbd5dc431c Mon Sep 17 00:00:00 2001
|
||||
From: Fangrui Song <maskray@google.com>
|
||||
Date: Wed, 3 Nov 2021 22:14:22 -0700
|
||||
Subject: [PATCH 11/19] nptl/pthread_create.c hack: Work around aliasing an asm
|
||||
label
|
||||
|
||||
---
|
||||
nptl/pthread_create.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c
|
||||
index bad9eeb52f..6c42edf133 100644
|
||||
--- a/nptl/pthread_create.c
|
||||
+++ b/nptl/pthread_create.c
|
||||
@@ -45,13 +45,13 @@
|
||||
|
||||
/* Globally enabled events. */
|
||||
td_thr_events_t __nptl_threads_events;
|
||||
-libc_hidden_proto (__nptl_threads_events)
|
||||
-libc_hidden_data_def (__nptl_threads_events)
|
||||
+// libc_hidden_proto (__nptl_threads_events)
|
||||
+// libc_hidden_data_def (__nptl_threads_events)
|
||||
|
||||
/* Pointer to descriptor with the last event. */
|
||||
struct pthread *__nptl_last_event;
|
||||
-libc_hidden_proto (__nptl_last_event)
|
||||
-libc_hidden_data_def (__nptl_last_event)
|
||||
+// libc_hidden_proto (__nptl_last_event)
|
||||
+// libc_hidden_data_def (__nptl_last_event)
|
||||
|
||||
#ifdef SHARED
|
||||
/* This variable is used to access _rtld_global from libthread_db. If
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 2b34350565c11ccc49936a018f3cf3f9f7f95eb3 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Sat, 4 Dec 2021 01:38:44 +0800
|
||||
Subject: [PATCH 12/19] fix clang doesn'n inline it
|
||||
|
||||
---
|
||||
sysdeps/nptl/gai_misc.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sysdeps/nptl/gai_misc.h b/sysdeps/nptl/gai_misc.h
|
||||
index 261e24dae6..277d9142ce 100644
|
||||
--- a/sysdeps/nptl/gai_misc.h
|
||||
+++ b/sysdeps/nptl/gai_misc.h
|
||||
@@ -86,7 +86,7 @@ __gai_start_notify_thread (void)
|
||||
assert_perror (sigerr);
|
||||
}
|
||||
|
||||
-extern inline int
|
||||
+extern inline int __attribute__ ((always_inline))
|
||||
__gai_create_helper_thread (pthread_t *threadp, void *(*tf) (void *),
|
||||
void *arg)
|
||||
{
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,28 +0,0 @@
|
||||
From ee2036f57309d821c876e27b08a0c6c3c1ec6486 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 2 Dec 2021 18:58:05 +0800
|
||||
Subject: [PATCH 13/19] fix llvm assembler could not assemble tfloat
|
||||
|
||||
---
|
||||
sysdeps/x86_64/fpu/s_log1pl.S | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/sysdeps/x86_64/fpu/s_log1pl.S b/sysdeps/x86_64/fpu/s_log1pl.S
|
||||
index 8219f6fbcc..6662a76308 100644
|
||||
--- a/sysdeps/x86_64/fpu/s_log1pl.S
|
||||
+++ b/sysdeps/x86_64/fpu/s_log1pl.S
|
||||
@@ -14,7 +14,11 @@ RCSID("$NetBSD: s_log1p.S,v 1.7 1995/05/09 00:10:58 jtc Exp $")
|
||||
-1 + sqrt(2) / 2 <= x <= 1 - sqrt(2) / 2
|
||||
0.29 is a safe value.
|
||||
*/
|
||||
+#ifdef __clang__
|
||||
+limit: .byte 0xe1, 0x7a, 0x14, 0xae, 0x47, 0xe1, 0x7a, 0x94, 0xfd, 0x3f
|
||||
+#else
|
||||
limit: .tfloat 0.29
|
||||
+#endif
|
||||
/* Please note: we use a double value here. Since 1.0 has
|
||||
an exact representation this does not effect the accuracy
|
||||
but it helps to optimize the code. */
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,39 +0,0 @@
|
||||
From cf1441bedf652b586e0d5781dbffb2c8fa007a81 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 2 Dec 2021 18:56:47 +0800
|
||||
Subject: [PATCH 14/19] fix clang find cxx headers
|
||||
|
||||
---
|
||||
configure | 16 ++++++++++++++--
|
||||
1 file changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index bac533649b..8d513a68ef 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -5559,8 +5559,20 @@ if test -n "$CXX"; then
|
||||
echo "#include <$1>" | $CXX -M -MP -x c++ - 2>/dev/null \
|
||||
| sed -n "\,$1:,{s/:\$//;p}"
|
||||
}
|
||||
- CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)"
|
||||
- CXX_CMATH_HEADER="$(find_cxx_header cmath)"
|
||||
+ clang_find_cxx_header () {
|
||||
+ echo "#include <$1>" | $CXX -M -MP -x c++ - 2>/dev/null \
|
||||
+ | awk '/^-.o/ {print $2}'
|
||||
+ }
|
||||
+ case $CC in
|
||||
+ *clang*)
|
||||
+ CXX_CSTDLIB_HEADER="$(clang_find_cxx_header cstdlib)"
|
||||
+ CXX_CMATH_HEADER="$(clang_find_cxx_header cmath)"
|
||||
+ ;;
|
||||
+ *gcc*)
|
||||
+ CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)"
|
||||
+ CXX_CMATH_HEADER="$(find_cxx_header cmath)"
|
||||
+ ;;
|
||||
+ esac
|
||||
CXX_BITS_STD_ABS_H="$(find_cxx_header bits/std_abs.h)"
|
||||
fi
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,70 +0,0 @@
|
||||
From d0c8222321cb317624a15227bc44147681fb22db Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 2 Dec 2021 18:58:52 +0800
|
||||
Subject: [PATCH 15/19] work around compiler rt for glibc
|
||||
|
||||
---
|
||||
Makeconfig | 27 ++++++++++++++++++---------
|
||||
1 file changed, 18 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/Makeconfig b/Makeconfig
|
||||
index 3fa2f13003..ee9f5f8763 100644
|
||||
--- a/Makeconfig
|
||||
+++ b/Makeconfig
|
||||
@@ -661,35 +661,44 @@ else
|
||||
endif
|
||||
libgcc_eh := -Wl,--as-needed -lgcc_s $(libunwind) -Wl,--no-as-needed
|
||||
gnulib-arch =
|
||||
-gnulib = -lgcc $(gnulib-arch)
|
||||
+#gnulib = -lgcc $(gnulib-arch)
|
||||
+arch = $(shell $(CC) -dumpmachine | awk -F '-' '{print $$1}')
|
||||
+gnulib = `$(CC) -print-libgcc-file-name` $(gnulib-arch)
|
||||
gnulib-tests := -lgcc $(libgcc_eh)
|
||||
static-gnulib-arch =
|
||||
# By default, elf/static-stubs.o, instead of -lgcc_eh, is used to
|
||||
# statically link programs. When --disable-shared is used, we use
|
||||
# -lgcc_eh since elf/static-stubs.o isn't sufficient.
|
||||
ifeq (yes,$(build-shared))
|
||||
-static-gnulib = -lgcc $(static-gnulib-arch)
|
||||
+static-gnulib = `$(CC) -print-libgcc-file-name` $(static-gnulib-arch)
|
||||
else
|
||||
static-gnulib = -lgcc -lgcc_eh $(static-gnulib-arch)
|
||||
endif
|
||||
static-gnulib-tests := -lgcc -lgcc_eh $(libunwind)
|
||||
-libc.so-gnulib := -lgcc
|
||||
+#libc.so-gnulib := -lgcc
|
||||
+libc.so-gnulib := `$(CC) -print-libgcc-file-name`
|
||||
endif
|
||||
+preinit = $(addprefix $(csu-objpfx),crti.o)
|
||||
+postinit = $(addprefix $(csu-objpfx),crtn.o)
|
||||
-+prector = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbegin.o`
|
||||
-+postctor = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
|
||||
+#+prector = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbegin.o`
|
||||
++prector = `$(CC) $(sysdep-LDFLAGS) --print-file-name=clang_rt.crtbegin-$(arch).o`
|
||||
+#+postctor = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
|
||||
++postctor = `$(CC) $(sysdep-LDFLAGS) -print-file-name=clang_rt.crtend-$(arch).o`
|
||||
# Variants of the two previous definitions for linking PIE programs.
|
||||
-+prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o`
|
||||
-+postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
|
||||
+#+prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o`
|
||||
+#+postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
|
||||
++prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=clang_rt.crtbegin-$(arch).o`
|
||||
++postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=clang_rt.crtend-$(arch).o`
|
||||
# Variants of the two previous definitions for statically linking programs.
|
||||
ifeq (yes,$(enable-static-pie))
|
||||
# Static PIE must use PIE variants.
|
||||
+prectorT = $(+prectorS)
|
||||
+postctorT = $(+postctorS)
|
||||
else
|
||||
-+prectorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginT.o`
|
||||
-+postctorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
|
||||
+#+prectorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginT.o`
|
||||
++prectorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=clang_rt.crtbegin-$(arch).o`
|
||||
+#+postctorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
|
||||
++postctorT = `$(CC) $(sysdep-LDFLAGS) -print-file-name=clang_rt.crtend-$(arch).o`
|
||||
endif
|
||||
csu-objpfx = $(common-objpfx)csu/
|
||||
elf-objpfx = $(common-objpfx)elf/
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 46dd63479472ecaaa3b64b71e06c1a381195a488 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 2 Dec 2021 18:59:39 +0800
|
||||
Subject: [PATCH 16/19] work around use compiler-rt for glibc elf
|
||||
|
||||
---
|
||||
elf/Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/elf/Makefile b/elf/Makefile
|
||||
index 4723c159cb..7561d9d839 100644
|
||||
--- a/elf/Makefile
|
||||
+++ b/elf/Makefile
|
||||
@@ -609,7 +609,7 @@ $(objpfx)librtld.map: $(objpfx)dl-allobjs.os $(common-objpfx)libc_pic.a
|
||||
echo ".globl $$symbol"; \
|
||||
echo "$$symbol:"; \
|
||||
done | $(CC) -o $@T.o $(ASFLAGS) -c -x assembler -
|
||||
- $(reloc-link) -o $@.o $@T.o '-Wl,-(' $^ -lgcc '-Wl,-)' -Wl,-Map,$@T
|
||||
+ $(reloc-link) -o $@.o $@T.o '-Wl,-(' $^ `$(CC) -print-libgcc-file-name` '-Wl,-)' -Wl,-Map,$@T
|
||||
rm -f %@T.o $@.o
|
||||
mv -f $@T $@
|
||||
|
||||
@@ -639,7 +639,7 @@ $(objpfx)rtld-libc.a: $(objpfx)librtld.mk FORCE
|
||||
$(MAKE) -f $< -f rtld-Rules
|
||||
|
||||
$(objpfx)librtld.os: $(objpfx)dl-allobjs.os $(objpfx)rtld-libc.a
|
||||
- $(LINK.o) -nostdlib -nostartfiles -r -o $@ '-Wl,-(' $^ -lgcc '-Wl,-)' \
|
||||
+ $(LINK.o) -nostdlib -nostartfiles -r -o $@ '-Wl,-(' $^ `$(CC) -print-libgcc-file-name` '-Wl,-)' \
|
||||
-Wl,-Map,$@.map
|
||||
|
||||
generated += librtld.map librtld.mk rtld-libc.a librtld.os.map
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,26 +0,0 @@
|
||||
From f10257247a5e095a5211ee42bf971906e91d682d Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 2 Dec 2021 19:00:25 +0800
|
||||
Subject: [PATCH 17/19] work around libc++ for glibc test program
|
||||
|
||||
---
|
||||
support/Makefile | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/support/Makefile b/support/Makefile
|
||||
index 984ec02dfe..ae362064d2 100644
|
||||
--- a/support/Makefile
|
||||
+++ b/support/Makefile
|
||||
@@ -238,7 +238,8 @@ ifeq (,$(CXX))
|
||||
LINKS_DSO_PROGRAM = links-dso-program-c
|
||||
else
|
||||
LINKS_DSO_PROGRAM = links-dso-program
|
||||
-LDLIBS-links-dso-program = -lstdc++ -lgcc -lgcc_s $(libunwind)
|
||||
+#LDLIBS-links-dso-program = -lstdc++ -lgcc -lgcc_s $(libunwind)
|
||||
+LDLIBS-links-dso-program = -lc++ $(libunwind)
|
||||
endif
|
||||
|
||||
ifeq (yes,$(have-selinux))
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 8f69a823a3700361f48f0dc7aebbf740a69e663d Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Sat, 4 Dec 2021 07:37:19 +0800
|
||||
Subject: [PATCH 18/19] elf/rtld.c make _rtld_global alias weak clang treat
|
||||
it as a strong symbol
|
||||
|
||||
---
|
||||
elf/rtld.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/elf/rtld.c b/elf/rtld.c
|
||||
index 847141e21d..5b9bf9b393 100644
|
||||
--- a/elf/rtld.c
|
||||
+++ b/elf/rtld.c
|
||||
@@ -346,7 +346,7 @@ struct rtld_global _rtld_global =
|
||||
declaration. So spell out what strong_alias does plus add the
|
||||
visibility attribute. */
|
||||
extern struct rtld_global _rtld_local
|
||||
- __attribute__ ((alias ("_rtld_global"), visibility ("hidden")));
|
||||
+ __attribute__ ((weak, alias ("_rtld_global"), visibility ("hidden")));
|
||||
|
||||
|
||||
/* This variable is similar to _rtld_local, but all values are
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,15 +0,0 @@
|
||||
diff --git a/Makerules b/Makerules
|
||||
index 8db0ca1296..7a12c4e8ae 100644
|
||||
--- a/Makerules
|
||||
+++ b/Makerules
|
||||
@@ -1164,8 +1164,8 @@ $(inst_includedir)/%.h: $(common-objpfx)%.h $(+force)
|
||||
$(do-install)
|
||||
$(inst_includedir)/%.h: %.h $(+force)
|
||||
$(do-install)
|
||||
-$(inst_includedir)/%.h: $(..)include/%.h $(+force)
|
||||
- $(do-install)
|
||||
+#$(inst_includedir)/%.h: $(..)include/%.h $(+force)
|
||||
+# $(do-install)
|
||||
headers-nonh := $(filter-out %.h,$(headers))
|
||||
ifdef headers-nonh
|
||||
$(addprefix $(inst_includedir)/,$(headers-nonh)): $(inst_includedir)/%: \
|
@ -1,33 +0,0 @@
|
||||
diff --git a/misc/unwind-link.c b/misc/unwind-link.c
|
||||
index ad3d02bf32..2631167756 100644
|
||||
--- a/misc/unwind-link.c
|
||||
+++ b/misc/unwind-link.c
|
||||
@@ -71,8 +71,8 @@ __libc_unwind_link_get (void)
|
||||
local.ptr___frame_state_for
|
||||
= __libc_dlsym (local_libgcc_handle, "__frame_state_for");
|
||||
#endif
|
||||
- local.ptr_personality
|
||||
- = __libc_dlsym (local_libgcc_handle, "__gcc_personality_v0");
|
||||
+ //local.ptr_personality
|
||||
+ // = __libc_dlsym (local_libgcc_handle, "__gcc_personality_v0");
|
||||
UNWIND_LINK_EXTRA_INIT
|
||||
|
||||
/* If a symbol is missing, libgcc_s has somehow been corrupted. */
|
||||
@@ -83,7 +83,7 @@ __libc_unwind_link_get (void)
|
||||
assert (local.ptr__Unwind_GetIP != NULL);
|
||||
#endif
|
||||
assert (local.ptr__Unwind_Resume != NULL);
|
||||
- assert (local.ptr_personality != NULL);
|
||||
+ //assert (local.ptr_personality != NULL);
|
||||
|
||||
#ifdef PTR_MANGLE
|
||||
PTR_MANGLE (local.ptr__Unwind_Backtrace);
|
||||
@@ -96,7 +96,7 @@ __libc_unwind_link_get (void)
|
||||
# if UNWIND_LINK_FRAME_STATE_FOR
|
||||
PTR_MANGLE (local.ptr___frame_state_for);
|
||||
# endif
|
||||
- PTR_MANGLE (local.ptr_personality);
|
||||
+ //PTR_MANGLE (local.ptr_personality);
|
||||
#endif
|
||||
|
||||
__libc_lock_lock (lock);
|
@ -1,37 +0,0 @@
|
||||
From 9a6813b95124a136a19cf6b6d95b05c000f6ce93 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 01:16:06 +0800
|
||||
Subject: [PATCH] i386: remove -Wa,-mtune=i686
|
||||
|
||||
---
|
||||
sysdeps/i386/i686/Makefile | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/i386/i686/Makefile b/sysdeps/i386/i686/Makefile
|
||||
index 3110427..94bdf56 100644
|
||||
--- a/sysdeps/i386/i686/Makefile
|
||||
+++ b/sysdeps/i386/i686/Makefile
|
||||
@@ -1,12 +1,12 @@
|
||||
# So that we can test __m128's alignment
|
||||
stack-align-test-flags += -msse
|
||||
|
||||
-CFLAGS-.o += -Wa,-mtune=i686
|
||||
-CFLAGS-.os += -Wa,-mtune=i686
|
||||
-CFLAGS-.op += -Wa,-mtune=i686
|
||||
-CFLAGS-.oS += -Wa,-mtune=i686
|
||||
+#CFLAGS-.o += -Wa,-mtune=i686
|
||||
+#CFLAGS-.os += -Wa,-mtune=i686
|
||||
+#CFLAGS-.op += -Wa,-mtune=i686
|
||||
+#CFLAGS-.oS += -Wa,-mtune=i686
|
||||
|
||||
-ASFLAGS-.o += -Wa,-mtune=i686
|
||||
-ASFLAGS-.os += -Wa,-mtune=i686
|
||||
-ASFLAGS-.op += -Wa,-mtune=i686
|
||||
-ASFLAGS-.oS += -Wa,-mtune=i686
|
||||
+#ASFLAGS-.o += -Wa,-mtune=i686
|
||||
+#ASFLAGS-.os += -Wa,-mtune=i686
|
||||
+#ASFLAGS-.op += -Wa,-mtune=i686
|
||||
+#ASFLAGS-.oS += -Wa,-mtune=i686
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,115 +0,0 @@
|
||||
From 263f3166c7a387219a2ace5b17e31227f9b4c93e Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 01:24:05 +0800
|
||||
Subject: [PATCH] i386: replace movzx to movzbl
|
||||
|
||||
---
|
||||
sysdeps/i386/i686/multiarch/strcmp-ssse3.S | 36 +++++++++++-----------
|
||||
1 file changed, 18 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
|
||||
index ac5096f..3435691 100644
|
||||
--- a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
|
||||
+++ b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
|
||||
@@ -2141,8 +2141,8 @@ L(less16bytes):
|
||||
jbe L(eq)
|
||||
#endif
|
||||
|
||||
- movzx 7(%eax), %ecx
|
||||
- movzx 7(%edx), %eax
|
||||
+ movzbl 7(%eax), %ecx
|
||||
+ movzbl 7(%edx), %eax
|
||||
#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
|
||||
# ifdef PIC
|
||||
movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx
|
||||
@@ -2161,8 +2161,8 @@ L(Byte0):
|
||||
cmp $0, REM
|
||||
jbe L(eq)
|
||||
#endif
|
||||
- movzx (%eax), %ecx
|
||||
- movzx (%edx), %eax
|
||||
+ movzbl (%eax), %ecx
|
||||
+ movzbl (%edx), %eax
|
||||
|
||||
#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
|
||||
# ifdef PIC
|
||||
@@ -2182,8 +2182,8 @@ L(Byte1):
|
||||
cmp $1, REM
|
||||
jbe L(eq)
|
||||
#endif
|
||||
- movzx 1(%eax), %ecx
|
||||
- movzx 1(%edx), %eax
|
||||
+ movzbl 1(%eax), %ecx
|
||||
+ movzbl 1(%edx), %eax
|
||||
|
||||
#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
|
||||
# ifdef PIC
|
||||
@@ -2203,8 +2203,8 @@ L(Byte2):
|
||||
cmp $2, REM
|
||||
jbe L(eq)
|
||||
#endif
|
||||
- movzx 2(%eax), %ecx
|
||||
- movzx 2(%edx), %eax
|
||||
+ movzbl 2(%eax), %ecx
|
||||
+ movzbl 2(%edx), %eax
|
||||
|
||||
#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
|
||||
# ifdef PIC
|
||||
@@ -2224,8 +2224,8 @@ L(Byte3):
|
||||
cmp $3, REM
|
||||
jbe L(eq)
|
||||
#endif
|
||||
- movzx 3(%eax), %ecx
|
||||
- movzx 3(%edx), %eax
|
||||
+ movzbl 3(%eax), %ecx
|
||||
+ movzbl 3(%edx), %eax
|
||||
|
||||
#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
|
||||
# ifdef PIC
|
||||
@@ -2245,8 +2245,8 @@ L(Byte4):
|
||||
cmp $4, REM
|
||||
jbe L(eq)
|
||||
#endif
|
||||
- movzx 4(%eax), %ecx
|
||||
- movzx 4(%edx), %eax
|
||||
+ movzbl 4(%eax), %ecx
|
||||
+ movzbl 4(%edx), %eax
|
||||
|
||||
#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
|
||||
# ifdef PIC
|
||||
@@ -2266,8 +2266,8 @@ L(Byte5):
|
||||
cmp $5, REM
|
||||
jbe L(eq)
|
||||
#endif
|
||||
- movzx 5(%eax), %ecx
|
||||
- movzx 5(%edx), %eax
|
||||
+ movzbl 5(%eax), %ecx
|
||||
+ movzbl 5(%edx), %eax
|
||||
|
||||
#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
|
||||
# ifdef PIC
|
||||
@@ -2287,8 +2287,8 @@ L(Byte6):
|
||||
cmp $6, REM
|
||||
jbe L(eq)
|
||||
#endif
|
||||
- movzx 6(%eax), %ecx
|
||||
- movzx 6(%edx), %eax
|
||||
+ movzbl 6(%eax), %ecx
|
||||
+ movzbl 6(%edx), %eax
|
||||
|
||||
#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
|
||||
# ifdef PIC
|
||||
@@ -2337,8 +2337,8 @@ L(2next_8_bytes):
|
||||
cmp $7, REM
|
||||
jbe L(eq)
|
||||
#endif
|
||||
- movzx 7(%eax), %ecx
|
||||
- movzx 7(%edx), %eax
|
||||
+ movzbl 7(%eax), %ecx
|
||||
+ movzbl 7(%edx), %eax
|
||||
|
||||
#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
|
||||
# ifdef PIC
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,46 +0,0 @@
|
||||
From c91f6b0d1fb1c4284b34fc35bf27cd3686ce1ca2 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 10:54:15 +0800
|
||||
Subject: [PATCH] i386/wsclen-sse2: replace cmp to cmpl
|
||||
|
||||
---
|
||||
sysdeps/i386/i686/multiarch/wcslen-sse2.S | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/i386/i686/multiarch/wcslen-sse2.S b/sysdeps/i386/i686/multiarch/wcslen-sse2.S
|
||||
index 5337286..d49a7ce 100644
|
||||
--- a/sysdeps/i386/i686/multiarch/wcslen-sse2.S
|
||||
+++ b/sysdeps/i386/i686/multiarch/wcslen-sse2.S
|
||||
@@ -24,21 +24,21 @@
|
||||
ENTRY (__wcslen_sse2)
|
||||
mov STR(%esp), %edx
|
||||
|
||||
- cmp $0, (%edx)
|
||||
+ cmpl $0, (%edx)
|
||||
jz L(exit_tail0)
|
||||
- cmp $0, 4(%edx)
|
||||
+ cmpl $0, 4(%edx)
|
||||
jz L(exit_tail1)
|
||||
- cmp $0, 8(%edx)
|
||||
+ cmpl $0, 8(%edx)
|
||||
jz L(exit_tail2)
|
||||
- cmp $0, 12(%edx)
|
||||
+ cmpl $0, 12(%edx)
|
||||
jz L(exit_tail3)
|
||||
- cmp $0, 16(%edx)
|
||||
+ cmpl $0, 16(%edx)
|
||||
jz L(exit_tail4)
|
||||
- cmp $0, 20(%edx)
|
||||
+ cmpl $0, 20(%edx)
|
||||
jz L(exit_tail5)
|
||||
- cmp $0, 24(%edx)
|
||||
+ cmpl $0, 24(%edx)
|
||||
jz L(exit_tail6)
|
||||
- cmp $0, 28(%edx)
|
||||
+ cmpl $0, 28(%edx)
|
||||
jz L(exit_tail7)
|
||||
|
||||
pxor %xmm0, %xmm0
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,46 +0,0 @@
|
||||
From 00ab90576d78a1b7ad1d5922e1e62595491bc675 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 11:00:59 +0800
|
||||
Subject: [PATCH] i386/wsccpy-sse2: replace cmp to cmpl
|
||||
|
||||
---
|
||||
sysdeps/i386/i686/multiarch/wcscpy-ssse3.S | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S b/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
|
||||
index 601e0f0..c2de882 100644
|
||||
--- a/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
|
||||
+++ b/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
|
||||
@@ -41,13 +41,13 @@ ENTRY (__wcscpy_ssse3)
|
||||
mov STR1(%esp), %edx
|
||||
mov STR2(%esp), %ecx
|
||||
|
||||
- cmp $0, (%ecx)
|
||||
+ cmpl $0, (%ecx)
|
||||
jz L(ExitTail4)
|
||||
- cmp $0, 4(%ecx)
|
||||
+ cmpl $0, 4(%ecx)
|
||||
jz L(ExitTail8)
|
||||
- cmp $0, 8(%ecx)
|
||||
+ cmpl $0, 8(%ecx)
|
||||
jz L(ExitTail12)
|
||||
- cmp $0, 12(%ecx)
|
||||
+ cmpl $0, 12(%ecx)
|
||||
jz L(ExitTail16)
|
||||
|
||||
PUSH (%edi)
|
||||
@@ -79,9 +79,9 @@ ENTRY (__wcscpy_ssse3)
|
||||
mov $0, %esi
|
||||
|
||||
jz L(Align16Both)
|
||||
- cmp $4, %eax
|
||||
+ cmpl $4, %eax
|
||||
je L(Shl4)
|
||||
- cmp $8, %eax
|
||||
+ cmpl $8, %eax
|
||||
je L(Shl8)
|
||||
jmp L(Shl12)
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 7be23c0c20df0a83f06049f990bc19cd6bd7277e Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 11:16:33 +0800
|
||||
Subject: [PATCH] i386/e_atanhl: assemble tfloat
|
||||
|
||||
---
|
||||
sysdeps/i386/fpu/e_atanhl.S | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/sysdeps/i386/fpu/e_atanhl.S b/sysdeps/i386/fpu/e_atanhl.S
|
||||
index 1f6eb7c..8f93dcf 100644
|
||||
--- a/sysdeps/i386/fpu/e_atanhl.S
|
||||
+++ b/sysdeps/i386/fpu/e_atanhl.S
|
||||
@@ -39,7 +39,11 @@ limit: .double 0.29
|
||||
ASM_SIZE_DIRECTIVE(limit)
|
||||
.align ALIGNARG(4)
|
||||
.type ln2_2,@object
|
||||
+#ifdef __clang__
|
||||
+ln2_2: .byte 0xac, 0x79, 0xcf, 0xd1, 0xf7, 0x17, 0x72, 0xb1, 0xfd, 0x3f
|
||||
+#else
|
||||
ln2_2: .tfloat 0.3465735902799726547086160
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(ln2_2)
|
||||
|
||||
#ifdef PIC
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 7deb20f8ad3b0af94234ef1c8f8d39526100f436 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 11:43:17 +0800
|
||||
Subject: [PATCH] i386/e_logl: replace fld to flds
|
||||
|
||||
---
|
||||
sysdeps/i386/i686/fpu/e_logl.S | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/i386/i686/fpu/e_logl.S b/sysdeps/i386/i686/fpu/e_logl.S
|
||||
index 63183ac..db2112a 100644
|
||||
--- a/sysdeps/i386/i686/fpu/e_logl.S
|
||||
+++ b/sysdeps/i386/i686/fpu/e_logl.S
|
||||
@@ -43,7 +43,7 @@ ENTRY(__ieee754_logl)
|
||||
fsubl MO(one) // x-1 : x : log(2)
|
||||
5: fld %st // x-1 : x-1 : x : log(2)
|
||||
fabs // |x-1| : x-1 : x : log(2)
|
||||
- fld MO(limit) // 0.29 : |x-1| : x-1 : x : log(2)
|
||||
+ flds MO(limit) // 0.29 : |x-1| : x-1 : x : log(2)
|
||||
fcomip %st(1) // |x-1| : x-1 : x : log(2)
|
||||
fstp %st(0) // x-1 : x : log(2)
|
||||
jc 2f
|
||||
@@ -76,7 +76,7 @@ ENTRY(__logl_finite)
|
||||
fsubl MO(one) // x-1 : x : log(2)
|
||||
fld %st // x-1 : x-1 : x : log(2)
|
||||
fabs // |x-1| : x-1 : x : log(2)
|
||||
- fld MO(limit) // 0.29 : |x-1| : x-1 : x : log(2)
|
||||
+ flds MO(limit) // 0.29 : |x-1| : x-1 : x : log(2)
|
||||
fcomip %st(1) // |x-1| : x-1 : x : log(2)
|
||||
fstp %st(0) // x-1 : x : log(2)
|
||||
jc 2b
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 244458e9754f62ba1ebca12d54655578294ed03a Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 14:38:49 +0800
|
||||
Subject: [PATCH] i386/e_atanh: asseble tfloat
|
||||
|
||||
---
|
||||
sysdeps/i386/fpu/e_atanh.S | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/sysdeps/i386/fpu/e_atanh.S b/sysdeps/i386/fpu/e_atanh.S
|
||||
index 6e4fef0..dcb9cbf 100644
|
||||
--- a/sysdeps/i386/fpu/e_atanh.S
|
||||
+++ b/sysdeps/i386/fpu/e_atanh.S
|
||||
@@ -33,7 +33,11 @@ one: .double 1.0
|
||||
limit: .double 0.29
|
||||
ASM_SIZE_DIRECTIVE(limit)
|
||||
.type ln2_2,@object
|
||||
+#ifdef __clang__
|
||||
+ln2_2: .byte 0xac, 0x79, 0xcf, 0xd1, 0xf7, 0x17, 0x72, 0xb1, 0xfd, 0x3f
|
||||
+#else
|
||||
ln2_2: .tfloat 0.3465735902799726547086160
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(ln2_2)
|
||||
|
||||
DEFINE_DBL_MIN
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From da2122c834728104b7fd6c4dac6417350694a0c5 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 15:01:47 +0800
|
||||
Subject: [PATCH] i386/e_atanhf: asseble tfloat
|
||||
|
||||
---
|
||||
sysdeps/i386/fpu/e_atanhf.S | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/sysdeps/i386/fpu/e_atanhf.S b/sysdeps/i386/fpu/e_atanhf.S
|
||||
index 146196e..789f838 100644
|
||||
--- a/sysdeps/i386/fpu/e_atanhf.S
|
||||
+++ b/sysdeps/i386/fpu/e_atanhf.S
|
||||
@@ -34,7 +34,11 @@ limit: .double 0.29
|
||||
ASM_SIZE_DIRECTIVE(limit)
|
||||
.align ALIGNARG(4)
|
||||
.type ln2_2,@object
|
||||
+#ifdef __clang__
|
||||
+ln2_2: .byte 0xac, 0x79, 0xcf, 0xd1, 0xf7, 0x17, 0x72, 0xb1, 0xfd, 0x3f
|
||||
+#else
|
||||
ln2_2: .tfloat 0.3465735902799726547086160
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(ln2_2)
|
||||
|
||||
DEFINE_FLT_MIN
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From c6f1b2f86f14a3d9f3aa91878089e27547764715 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 12:03:18 +0800
|
||||
Subject: [PATCH] i386/s_asinhl: asseble tfloat
|
||||
|
||||
---
|
||||
sysdeps/i386/fpu/s_asinhl.S | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/sysdeps/i386/fpu/s_asinhl.S b/sysdeps/i386/fpu/s_asinhl.S
|
||||
index bd442c6..9fd2170 100644
|
||||
--- a/sysdeps/i386/fpu/s_asinhl.S
|
||||
+++ b/sysdeps/i386/fpu/s_asinhl.S
|
||||
@@ -23,7 +23,11 @@
|
||||
|
||||
.align ALIGNARG(4)
|
||||
.type huge,@object
|
||||
+#ifdef __clang__
|
||||
+huge: .byte 0x1d, 0xfa, 0x6f, 0x45, 0xe7, 0x34, 0xb6, 0x89, 0xf8, 0x7f
|
||||
+#else
|
||||
huge: .tfloat 1e+4930
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(huge)
|
||||
.align ALIGNARG(4)
|
||||
/* Please note that we use double value for 1.0. This number
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,120 +0,0 @@
|
||||
From 3b318404023ea7042f3ba007312cbc7606d6c8ab Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 14:25:24 +0800
|
||||
Subject: [PATCH] i386/s_cbrtl: asseble tfloat
|
||||
|
||||
---
|
||||
sysdeps/i386/fpu/s_cbrtl.S | 52 ++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 52 insertions(+)
|
||||
|
||||
diff --git a/sysdeps/i386/fpu/s_cbrtl.S b/sysdeps/i386/fpu/s_cbrtl.S
|
||||
index 8802164..e02f0a2 100644
|
||||
--- a/sysdeps/i386/fpu/s_cbrtl.S
|
||||
+++ b/sysdeps/i386/fpu/s_cbrtl.S
|
||||
@@ -23,35 +23,67 @@
|
||||
|
||||
.align ALIGNARG(4)
|
||||
.type f8,@object
|
||||
+#ifdef __clang__
|
||||
+f8: .byte 0x39, 0x28, 0x54, 0x3a, 0xd8, 0xf3, 0x7e, 0xa5, 0xfc, 0x3f
|
||||
+#else
|
||||
f8: .tfloat 0.161617097923756032
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(f8)
|
||||
.align ALIGNARG(4)
|
||||
.type f7,@object
|
||||
+#ifdef __clang__
|
||||
+f7: .byte 0x14, 0x90, 0x02, 0x20, 0x78, 0xda, 0x11, 0xfd, 0xfe, 0xbf, 0xad, 0xb4, 0xe3, 0xad
|
||||
+#else
|
||||
f7: .tfloat -0.988553671195413709
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(f7)
|
||||
.align ALIGNARG(4)
|
||||
.type f6,@object
|
||||
+#ifdef __clang__
|
||||
+f6: .byte 0xad, 0xb4, 0xe3, 0xad, 0xfc, 0x93, 0xca, 0xa9, 0x00, 0x40, 0x34, 0x1c
|
||||
+#else
|
||||
f6: .tfloat 2.65298938441952296
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(f6)
|
||||
.align ALIGNARG(4)
|
||||
.type f5,@object
|
||||
+#ifdef __clang__
|
||||
+f5: .byte 0x34, 0x1c, 0x93, 0x2c, 0x56, 0x86, 0x91, 0x83, 0x01, 0xc0, 0x94
|
||||
+#else
|
||||
f5: .tfloat -4.11151425200350531
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(f5)
|
||||
.align ALIGNARG(4)
|
||||
.type f4,@object
|
||||
+#ifdef __clang__
|
||||
+f4: .byte 0x94, 0x45, 0x30, 0xee, 0xc9, 0x25, 0x0f, 0x83, 0x01, 0x40
|
||||
+#else
|
||||
f4: .tfloat 4.09559907378707839
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(f4)
|
||||
.align ALIGNARG(4)
|
||||
.type f3,@object
|
||||
+#ifdef __clang__
|
||||
+f3: .byte 0xc6, 0xf0, 0xa2, 0x5f, 0x1d, 0xdd, 0xbe, 0xb4, 0x00, 0xc0, 0xe3
|
||||
+#else
|
||||
f3: .tfloat -2.82414939754975962
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(f3)
|
||||
.align ALIGNARG(4)
|
||||
.type f2,@object
|
||||
+#ifdef __clang__
|
||||
+f2: .byte 0xe3, 0x86, 0x85, 0xb0, 0x63, 0xa1, 0x85, 0xd6, 0xff, 0x3f
|
||||
+#else
|
||||
f2: .tfloat 1.67595307700780102
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(f2)
|
||||
.align ALIGNARG(4)
|
||||
.type f1,@object
|
||||
+#ifdef __clang__
|
||||
+f1: .byte 0x45, 0x3b, 0xec, 0xd4, 0x3e, 0x07, 0x16, 0xad, 0xfd, 0x3f
|
||||
+#else
|
||||
f1: .tfloat 0.338058687610520237
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(f1)
|
||||
|
||||
#define CBRT2 1.2599210498948731648
|
||||
@@ -63,15 +95,35 @@ f1: .tfloat 0.338058687610520237
|
||||
wide to avoid having to implement a multiplication by 10. */
|
||||
.type factor,@object
|
||||
.align ALIGNARG(4)
|
||||
+#ifdef __clang__
|
||||
+factor: .byte 0x11, 0x57, 0x94, 0x6b, 0xcc, 0x17, 0x45, 0xa1, 0xfe, 0x3f, 0x15, 0xe4
|
||||
+#else
|
||||
factor: .tfloat ONE_SQR_CBRT2
|
||||
+#endif
|
||||
.byte 0, 0, 0, 0, 0, 0
|
||||
+#ifdef __clang__
|
||||
+ .byte 0x15, 0xe4, 0x71, 0xeb, 0x29, 0xf5, 0x2f, 0xcb, 0xfe, 0x3f
|
||||
+#else
|
||||
.tfloat ONE_CBRT2
|
||||
+#endif
|
||||
.byte 0, 0, 0, 0, 0, 0
|
||||
+#ifdef __clang__
|
||||
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x3f, 0x11, 0x57
|
||||
+#else
|
||||
.tfloat 1.0
|
||||
+#endif
|
||||
.byte 0, 0, 0, 0, 0, 0
|
||||
+#ifdef __clang__
|
||||
+ .byte 0x11, 0x57, 0x94, 0x6b, 0xcc, 0x17, 0x45, 0xa1, 0xff, 0x3f, 0x16, 0xe4
|
||||
+#else
|
||||
.tfloat CBRT2
|
||||
+#endif
|
||||
.byte 0, 0, 0, 0, 0, 0
|
||||
+#ifdef __clang__
|
||||
+ .byte 0x16, 0xe4, 0x71, 0xeb, 0x29, 0xf5, 0x2f, 0xcb, 0xff, 0x3f
|
||||
+#else
|
||||
.tfloat SQR_CBRT2
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(factor)
|
||||
|
||||
.type two64,@object
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 5530757f65d5721f53088bb6eb6a51356628349a Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 14:46:25 +0800
|
||||
Subject: [PATCH] i386/s_expm1: asseble tfloat
|
||||
|
||||
---
|
||||
sysdeps/i386/fpu/s_expm1.S | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/sysdeps/i386/fpu/s_expm1.S b/sysdeps/i386/fpu/s_expm1.S
|
||||
index 7199d68..94ecd7c 100644
|
||||
--- a/sysdeps/i386/fpu/s_expm1.S
|
||||
+++ b/sysdeps/i386/fpu/s_expm1.S
|
||||
@@ -33,7 +33,11 @@ minus1: .double -1.0
|
||||
one: .double 1.0
|
||||
ASM_SIZE_DIRECTIVE(one)
|
||||
.type l2e,@object
|
||||
+#ifdef __clang__
|
||||
+l2e: .byte 0xbc, 0xf0, 0x17, 0x5c, 0x29, 0x3b, 0xaa, 0xb8, 0xff, 0x3f
|
||||
+#else
|
||||
l2e: .tfloat 1.442695040888963407359924681002
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(l2e)
|
||||
|
||||
DEFINE_DBL_MIN
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From d8f5ae6adde4ba610f0c6a6ee583b76d84d152fb Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 15:08:26 +0800
|
||||
Subject: [PATCH] i386/s_expm1f: asseble tfloat
|
||||
|
||||
---
|
||||
sysdeps/i386/fpu/s_expm1f.S | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/sysdeps/i386/fpu/s_expm1f.S b/sysdeps/i386/fpu/s_expm1f.S
|
||||
index 04c37bd..358ed1b 100644
|
||||
--- a/sysdeps/i386/fpu/s_expm1f.S
|
||||
+++ b/sysdeps/i386/fpu/s_expm1f.S
|
||||
@@ -33,7 +33,11 @@ minus1: .double -1.0
|
||||
one: .double 1.0
|
||||
ASM_SIZE_DIRECTIVE(one)
|
||||
.type l2e,@object
|
||||
+#ifdef __clang__
|
||||
+l2e: .byte 0xbc, 0xf0, 0x17, 0x5c, 0x29, 0x3b, 0xaa, 0xb8, 0xff, 0x3f
|
||||
+#else
|
||||
l2e: .tfloat 1.442695040888963407359924681002
|
||||
+#endif
|
||||
ASM_SIZE_DIRECTIVE(l2e)
|
||||
|
||||
DEFINE_FLT_MIN
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 7b2aedc27576acbbce56d4107833b5c156856656 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 14:31:27 +0800
|
||||
Subject: [PATCH] i386/s_log1pl: asseble tfloat
|
||||
|
||||
---
|
||||
sysdeps/i386/fpu/s_log1pl.S | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/sysdeps/i386/fpu/s_log1pl.S b/sysdeps/i386/fpu/s_log1pl.S
|
||||
index f28349f..8414cb7 100644
|
||||
--- a/sysdeps/i386/fpu/s_log1pl.S
|
||||
+++ b/sysdeps/i386/fpu/s_log1pl.S
|
||||
@@ -14,7 +14,11 @@ RCSID("$NetBSD: s_log1p.S,v 1.7 1995/05/09 00:10:58 jtc Exp $")
|
||||
-1 + sqrt(2) / 2 <= x <= 1 - sqrt(2) / 2
|
||||
0.29 is a safe value.
|
||||
*/
|
||||
+#ifdef __clang__
|
||||
+limit: .byte 0xe1, 0x7a, 0x14, 0xae, 0x47, 0xe1, 0x7a, 0x94, 0xfd, 0x3f
|
||||
+#else
|
||||
limit: .tfloat 0.29
|
||||
+#endif
|
||||
/* Please note: we use a double value here. Since 1.0 has
|
||||
an exact representation this does not effect the accuracy
|
||||
but it helps to optimize the code. */
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,51 +0,0 @@
|
||||
From ec4e5e2cd4bab4f1f85bbb6d2108a2fab35a5df6 Mon Sep 17 00:00:00 2001
|
||||
From: lujianhua <lujianhua000@gmail.com>
|
||||
Date: Thu, 10 Feb 2022 18:14:10 +0800
|
||||
Subject: [PATCH] remove binutils dependencies
|
||||
|
||||
---
|
||||
configure | 12 +++++++-----
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 85fddae0..4a5eb715 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -4591,9 +4591,9 @@ case "$CC" in
|
||||
*fuse-ld=lld*) LDNAME=ld.lld;;
|
||||
*) LDNAME=ld;;
|
||||
esac
|
||||
-AS=`$CC -print-prog-name=as`
|
||||
+AS=$CC
|
||||
LD=`$CC -print-prog-name=$LDNAME`
|
||||
AR=`$CC -print-prog-name=ar`
|
||||
|
||||
OBJDUMP=`$CC -print-prog-name=objdump`
|
||||
|
||||
@@ -4610,7 +4610,7 @@ if ${libc_cv_prog_as_gnu+:} false; then :
|
||||
else
|
||||
# Most GNU programs take a -v and spit out some text including
|
||||
# the word 'GNU'. Some try to read stdin, so give them /dev/null.
|
||||
-if $AS -o conftest -v </dev/null 2>&1 | grep GNU > /dev/null 2>&1; then
|
||||
+if $AS -o conftest -v </dev/null 2>&1 | grep gnu > /dev/null 2>&1; then
|
||||
libc_cv_prog_as_gnu=yes
|
||||
else
|
||||
libc_cv_prog_as_gnu=no
|
||||
@@ -4690,10 +4690,12 @@ else
|
||||
# Found it, now check the version.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $AS" >&5
|
||||
$as_echo_n "checking version of $AS... " >&6; }
|
||||
- ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
+ #ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
+ ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*clang version.* \([0-9]*\.[0-9].[0-9]\)/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
- 2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
|
||||
+ #2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
|
||||
+ [1-9][0-9].[0-9].[0-9])
|
||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,23 +0,0 @@
|
||||
# /etc/host.conf:
|
||||
|
||||
# The file /etc/host.conf contains configuration information specific to
|
||||
# the resolver library. It should contain one configuration keyword per
|
||||
# line, followed by appropriate configuration information. The keywords
|
||||
# recognized are order, trim, mdns, multi, nospoof, spoof, and reorder.
|
||||
|
||||
|
||||
|
||||
# This keyword specifies how host lookups are to be performed. It
|
||||
# should be followed by one or more lookup methods, separated by
|
||||
# commas. Valid methods are bind, hosts, and nis.
|
||||
#
|
||||
order hosts, bind
|
||||
|
||||
|
||||
# Valid values are on and off. If set to on, the resolv+ library
|
||||
# will return all valid addresses for a host that appears in the
|
||||
# /etc/hosts file, instead of only the first. This is off by
|
||||
# default, as it may cause a substantial performance loss at sites
|
||||
# with large hosts files.
|
||||
#
|
||||
multi off
|
File diff suppressed because it is too large
Load Diff
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>toolchain@gentoo.org</email>
|
||||
<name>Gentoo Toolchain Project</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>lujianhua000@gmail.com</email>
|
||||
<name>lujianhua</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="cet">Enable Intel Control-flow Enforcement Technology (needs binutils 2.29 and gcc 8)</flag>
|
||||
<flag name="clone3">Enable the new clone3 syscall within glibc. Can be disabled to allow compatibility with older Electron applications.</flag>
|
||||
<flag name="compile-locales">build *all* locales in src_install; this is generally meant for stage building only as it ignores /etc/locale.gen file and can be pretty slow</flag>
|
||||
<flag name="crypt">build and install libcrypt and crypt.h</flag>
|
||||
<flag name="gd">build memusage and memusagestat tools</flag>
|
||||
<flag name="multiarch">enable optimizations for multiple CPU architectures (detected at runtime)</flag>
|
||||
<flag name="multilib-bootstrap">Provide prebuilt libgcc.a and crt files if missing. Only needed for ABI switch.</flag>
|
||||
<flag name="nscd">Build, and enable support for, the Name Service Cache Daemon</flag>
|
||||
<flag name="ssp">protect stack of glibc internals</flag>
|
||||
<flag name="suid">Make internal pt_chown helper setuid -- not needed if using Linux and have /dev/pts mounted with gid=5</flag>
|
||||
<flag name="systemtap">enable systemtap static probe points</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:gnu:glibc</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
Loading…
x
Reference in New Issue
Block a user