summaryrefslogtreecommitdiff
path: root/dev-util/mingw64-runtime/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-05-04 22:28:33 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-05-04 22:28:33 +0100
commita978c074e4272bb901fbe4a10de0a7b2af574f17 (patch)
tree8c764c1cc0576389ce22abd317bceba71ea5732d /dev-util/mingw64-runtime/files
parent40aaaa64e86ba6710bbeb31c4615a6ce80e75e11 (diff)
gentoo resync : 04.05.2021
Diffstat (limited to 'dev-util/mingw64-runtime/files')
-rw-r--r--dev-util/mingw64-runtime/files/mingw64-runtime-8.0.0-__rdtsc.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/dev-util/mingw64-runtime/files/mingw64-runtime-8.0.0-__rdtsc.patch b/dev-util/mingw64-runtime/files/mingw64-runtime-8.0.0-__rdtsc.patch
new file mode 100644
index 000000000000..df06f041c8c2
--- /dev/null
+++ b/dev-util/mingw64-runtime/files/mingw64-runtime-8.0.0-__rdtsc.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/786549
+
+gcc-11 defines __rdtsc as a macro:
+ // include/ia32intrin.h:110
+ #define __rdtsc() __builtin_ia32_rdtsc ()
+and causes build failure:
+ intrincs/rdtsc.c:15:30: error: macro "__rdtsc" passed 1 arguments, but takes just 0
+ 15 | unsigned __int64 __rdtsc(void)
+ | ^
+
+Let's avoid __rdtsc definition on systems with #define __rdtsc present.
+
+There is still a chance that it might be a '#define __rdtsc __rdtsc'.
+We'll revisit it then.
+--- a/mingw-w64-crt/intrincs/rdtsc.c
++++ b/mingw-w64-crt/intrincs/rdtsc.c
+@@ -11,7 +11,7 @@
+ #define __has_builtin(x) 0
+ #endif
+
+-#if !__has_builtin(__rdtsc)
++#if !__has_builtin(__rdtsc) && !defined(__rdtsc)
+ unsigned __int64 __rdtsc(void)
+ {
+ #ifdef _WIN64