From 29b560eba79631436fa475dde1f18ece434befed Mon Sep 17 00:00:00 2001 From: Daniel Seither Date: Tue, 13 Oct 2015 12:50:31 +0200 Subject: Initial support for 64 bit ARM This adds support for 64 bit ARM cores as used in many high-end phones such as all iPhones beginning with the 5s. While these newer phones still run 32 bit ARM code, Apple doesn't allow apps to be submitted to the app store if they don't provide a 64 bit build. This commit adds a new arm64 arch and renames arm to arm32 to stay consistent with the other architectures. The name arm can still be used for configuring because it has been added as an alias for arm32. Additionally, the one piece of ARM inline assembly that can be found in Botan doesn't work on 64 bit ARM, so I use the solution that has been proposed in #180: Use __builtin_bswap32 instead of inline assembly. --- src/build-data/arch/arm.txt | 45 ------------------------------------------- src/build-data/arch/arm32.txt | 45 +++++++++++++++++++++++++++++++++++++++++++ src/build-data/arch/arm64.txt | 12 ++++++++++++ 3 files changed, 57 insertions(+), 45 deletions(-) delete mode 100644 src/build-data/arch/arm.txt create mode 100644 src/build-data/arch/arm32.txt create mode 100644 src/build-data/arch/arm64.txt (limited to 'src/build-data') diff --git a/src/build-data/arch/arm.txt b/src/build-data/arch/arm.txt deleted file mode 100644 index 81ecc05c3..000000000 --- a/src/build-data/arch/arm.txt +++ /dev/null @@ -1,45 +0,0 @@ - -endian little -family arm - - -armel # For Debian -armhf # For Debian -evbarm # For NetBSD - - - -armv2 -armv2a -armv3 -armv3m -armv4 -armv5 -armv5e -armv5te -armv6 -armv6j -armv6t2 -armv6z -armv6zk -armv6-m -armv7 -armv7-a -armv7-r -armv7-m -iwmmxt -iwmmxt2 -ep9312 - - - -strongarm -> armv4 -xscale -> armv5te -cortex-a8 -> armv7-a -cortex-a9 -> armv7-a - - - -neon - - diff --git a/src/build-data/arch/arm32.txt b/src/build-data/arch/arm32.txt new file mode 100644 index 000000000..67be376d6 --- /dev/null +++ b/src/build-data/arch/arm32.txt @@ -0,0 +1,45 @@ +endian little +family arm + + +arm +armel # For Debian +armhf # For Debian +evbarm # For NetBSD + + + +armv2 +armv2a +armv3 +armv3m +armv4 +armv5 +armv5e +armv5te +armv6 +armv6j +armv6t2 +armv6z +armv6zk +armv6-m +armv7 +armv7-a +armv7-r +armv7-m +iwmmxt +iwmmxt2 +ep9312 + + + +strongarm -> armv4 +xscale -> armv5te +cortex-a8 -> armv7-a +cortex-a9 -> armv7-a + + + +neon + + diff --git a/src/build-data/arch/arm64.txt b/src/build-data/arch/arm64.txt new file mode 100644 index 000000000..362cf88d3 --- /dev/null +++ b/src/build-data/arch/arm64.txt @@ -0,0 +1,12 @@ +endian little +wordsize 64 + +family arm + + +aarch64 + + + +armv8-a + -- cgit v1.2.3