Attached is a patch that adds two Configure targets: linux-aarch32 and linux-aarch32hf. It might make a good starting point for Aarch32 support.
The patch enables CRC and Crypto extensions by default. It allows the library and users with custom engines to use the instructions to offload to hardware. Users will have to add their preference for -mtune. It tested OK under the RPI3, except for the EVP failure reported at http://rt.openssl.org/Ticket/Display.html?id=4633&user=guest&pass=guest . ********** diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index d7db9a8..656b169 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -677,6 +677,16 @@ sub vms_info { inherit_from => [ "linux-generic32", asm("armv4_asm") ], perlasm_scheme => "linux32", }, + "linux-aarch32" => { + inherit_from => [ "linux-generic32", asm("armv4_asm") ], + cflags => add("-march=armv8-a+crc -mfpu=crypto-neon-fp-armv8 -mfloat-abi=softfp"), + perlasm_scheme => "linux32", + }, + "linux-aarch32hf" => { + inherit_from => [ "linux-generic32", asm("armv4_asm") ], + cflags => add("-march=armv8-a+crc -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard"), + perlasm_scheme => "linux32", + }, "linux-aarch64" => { inherit_from => [ "linux-generic64", asm("aarch64_asm") ], perlasm_scheme => "linux64", On Fri, Jul 29, 2016 at 4:01 AM, The default queue via RT <r...@openssl.org> wrote: > > Greetings, > > This message has been automatically generated in response to the > creation of a trouble ticket regarding: > "Configure does not honor ARMv8 and Aarch32 flags", > a summary of which appears below. > > There is no need to reply to this message right now. Your ticket has been > assigned an ID of [openssl.org #4632]. > > Please include the string: > > [openssl.org #4632] > > ------------------------------------------------------------------------- > Working from 1a627771634adba9d4f3b5cf7be74d6bab428a5f on a Raspberry > Pi 3. Its ARMv8 with Broadcom SoC using A53 cores. It lacks Crypto > extensions, but includes vmull and crc32 (vmull include arrangements > other than u8). The gadget also runs Raspian, which is a 32-bit OS > with hard floats. > > After Configure completes, the library's -march=armv7 takes precedence > over the user's -march=armv8-a{+crc}. > > $ ./config -march=armv8-a+crc -mtune=cortex-a53 > -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard > Operating system: armv7l-whatever-linux2 > Configuring for linux-armv4 > Configuring OpenSSL version 1.1.0-pre6-dev (0x0x10100006L) > no-asan [default] OPENSSL_NO_ASAN (skip dir) > no-crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG (skip dir) > no-crypto-mdebug-backtrace [default] > OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE (skip dir) > no-ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128 (skip > dir) > no-egd [default] OPENSSL_NO_EGD (skip dir) > no-fuzz-afl [default] OPENSSL_NO_FUZZ_AFL (skip dir) > no-fuzz-libfuzzer [default] OPENSSL_NO_FUZZ_LIBFUZZER (skip dir) > no-heartbeats [default] OPENSSL_NO_HEARTBEATS (skip dir) > no-md2 [default] OPENSSL_NO_MD2 (skip dir) > no-msan [default] OPENSSL_NO_MSAN (skip dir) > no-rc5 [default] OPENSSL_NO_RC5 (skip dir) > no-sctp [default] OPENSSL_NO_SCTP (skip dir) > no-ssl-trace [default] OPENSSL_NO_SSL_TRACE (skip dir) > no-ssl3 [default] OPENSSL_NO_SSL3 (skip dir) > no-ssl3-method [default] OPENSSL_NO_SSL3_METHOD (skip dir) > no-ubsan [default] OPENSSL_NO_UBSAN (skip dir) > no-unit-test [default] OPENSSL_NO_UNIT_TEST (skip dir) > no-weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS (skip dir) > no-zlib [default] > no-zlib-dynamic [default] > Configuring for linux-armv4 > CC =gcc > CFLAG =-Wall -O3 -pthread -march=armv8-a+crc > -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard > -march=armv7-a -Wa,--noexecstack ... -- Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4632 Please log in as guest with password guest if prompted
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index d7db9a8..656b169 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -677,6 +677,16 @@ sub vms_info { inherit_from => [ "linux-generic32", asm("armv4_asm") ], perlasm_scheme => "linux32", }, + "linux-aarch32" => { + inherit_from => [ "linux-generic32", asm("armv4_asm") ], + cflags => add("-march=armv8-a+crc -mfpu=crypto-neon-fp-armv8 -mfloat-abi=softfp"), + perlasm_scheme => "linux32", + }, + "linux-aarch32hf" => { + inherit_from => [ "linux-generic32", asm("armv4_asm") ], + cflags => add("-march=armv8-a+crc -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard"), + perlasm_scheme => "linux32", + }, "linux-aarch64" => { inherit_from => [ "linux-generic64", asm("aarch64_asm") ], perlasm_scheme => "linux64",
-- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev