Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:cabelo
boringssl
0003-enable-s390x-builds.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0003-enable-s390x-builds.patch of Package boringssl
From 47c30871e5c56a2d6578fedd89e52b10e5580558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Klaus=20K=C3=A4mpf?= <kkaempf@suse.de> Date: Wed, 4 Dec 2019 08:19:54 +0100 Subject: [PATCH 3/4] enable s390x builds similar to the aarch64 patch, covering - recognition of architecture - adapting memory alignment --- CMakeLists.txt | 2 ++ crypto/cipher_extra/aead_test.cc | 2 ++ crypto/poly1305/poly1305_test.cc | 9 +++++++-- include/openssl/base.h | 3 +++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c06b700e5144..80c9383b9af8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -469,6 +469,8 @@ elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "mips") set(ARCH "generic") elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc64le") set(ARCH "ppc64le") +elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "s390x") + set(ARCH "s390x") else() message(FATAL_ERROR "Unknown processor:" ${CMAKE_SYSTEM_PROCESSOR}) endif() diff --git a/crypto/cipher_extra/aead_test.cc b/crypto/cipher_extra/aead_test.cc index fd20ebc77b67..4c079e843321 100644 --- a/crypto/cipher_extra/aead_test.cc +++ b/crypto/cipher_extra/aead_test.cc @@ -31,6 +31,8 @@ #if defined(OPENSSL_AARCH64) #define ALIGN_BYTES 16 +#elif defined(OPENSSL_S390X) +#define ALIGN_BYTES 8 #else #define ALIGN_BYTES 64 #endif diff --git a/crypto/poly1305/poly1305_test.cc b/crypto/poly1305/poly1305_test.cc index 198cca12dae5..43cd95c8eb86 100644 --- a/crypto/poly1305/poly1305_test.cc +++ b/crypto/poly1305/poly1305_test.cc @@ -25,6 +25,11 @@ #include "../test/file_test.h" #include "../test/test_util.h" +#if defined(OPENSSL_S390X) +#define ALIGN_BYTES 8 +#else +#define ALIGN_BYTES 16 +#endif static void TestSIMD(unsigned excess, const std::vector<uint8_t> &key, const std::vector<uint8_t> &in, @@ -63,7 +68,7 @@ static void TestSIMD(unsigned excess, const std::vector<uint8_t> &key, CRYPTO_poly1305_update(&state, in.data() + done, in.size() - done); // |CRYPTO_poly1305_finish| requires a 16-byte-aligned output. - alignas(16) uint8_t out[16]; + alignas(ALIGN_BYTES) uint8_t out[16]; CRYPTO_poly1305_finish(&state, out); EXPECT_EQ(Bytes(out), Bytes(mac)) << "SIMD pattern " << excess << " failed."; } @@ -82,7 +87,7 @@ TEST(Poly1305Test, TestVectors) { CRYPTO_poly1305_init(&state, key.data()); CRYPTO_poly1305_update(&state, in.data(), in.size()); // |CRYPTO_poly1305_finish| requires a 16-byte-aligned output. - alignas(16) uint8_t out[16]; + alignas(ALIGN_BYTES) uint8_t out[16]; CRYPTO_poly1305_finish(&state, out); EXPECT_EQ(Bytes(out), Bytes(mac)) << "Single-shot Poly1305 failed."; diff --git a/include/openssl/base.h b/include/openssl/base.h index cb1affacacce..2e29644ceadf 100644 --- a/include/openssl/base.h +++ b/include/openssl/base.h @@ -99,6 +99,9 @@ extern "C" { #elif (defined(__PPC64__) || defined(__powerpc64__)) && defined(_LITTLE_ENDIAN) #define OPENSSL_64_BIT #define OPENSSL_PPC64LE +#elif defined(__S390X__) || defined(__s390x__) +#define OPENSSL_64_BIT +#define OPENSSL_S390X #elif defined(__mips__) && !defined(__LP64__) #define OPENSSL_32_BIT #define OPENSSL_MIPS -- 2.24.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor