aboutsummaryrefslogtreecommitdiffstats
path: root/src/build-data/cc
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2020-01-21 07:49:11 -0500
committerJack Lloyd <[email protected]>2020-01-21 07:49:11 -0500
commit0881f2c33ff73129d87de0b04323cd7e8cbf4726 (patch)
tree95fd99b672f54d26bece6c338ff3acc1f60fa568 /src/build-data/cc
parentf723ba927eb9397ff7bb7e52bdaba7a90e3861df (diff)
Fix amalgamation build on non-x86 gcc
We try to emit target annotations but generated incorrect input for ARM and POWER because the -mfoo flags don't always match up with target("foo") attribute names. GH #2241
Diffstat (limited to 'src/build-data/cc')
-rw-r--r--src/build-data/cc/clang.txt15
-rw-r--r--src/build-data/cc/gcc.txt17
2 files changed, 32 insertions, 0 deletions
diff --git a/src/build-data/cc/clang.txt b/src/build-data/cc/clang.txt
index b183f60ef..7521f0918 100644
--- a/src/build-data/cc/clang.txt
+++ b/src/build-data/cc/clang.txt
@@ -67,6 +67,21 @@ arm32:neon -> "-mfpu=neon"
arm64:neon -> ""
</isa_flags>
+<isa_targets>
+sse41 -> sse4.1
+sse42 -> sse4.2
+
+rdrand -> rdrnd
+
+armv8crypto -> "+crypto"
+armv8sm4 -> "+sm4"
+
+powercrypto -> "crypto"
+
+arm32:neon -> "fpu=neon"
+arm64:neon -> "+simd"
+</isa_targets>
+
<cpu_flags>
llvm -> "-emit-llvm -fno-use-cxa-atexit"
</cpu_flags>
diff --git a/src/build-data/cc/gcc.txt b/src/build-data/cc/gcc.txt
index a653fe47e..401e68ddc 100644
--- a/src/build-data/cc/gcc.txt
+++ b/src/build-data/cc/gcc.txt
@@ -78,6 +78,23 @@ arm32:neon -> "-mfpu=neon"
arm64:neon -> ""
</isa_flags>
+# Values used in BOTAN_FUNC_ISA eg __attribute__((target("X")))
+# values not set are assumed identical to basename; sse2 -> sse2
+<isa_targets>
+sse41 -> sse4.1
+sse42 -> sse4.2
+
+rdrand -> rdrnd
+
+armv8crypto -> "+crypto"
+armv8sm4 -> "+sm4"
+
+powercrypto -> "crypto"
+
+arm32:neon -> "fpu=neon"
+arm64:neon -> "+simd"
+</isa_targets>
+
# Flags set here are included at compile and link time
<mach_abi_linking>
all!haiku,qnx -> "-pthread"