From 7d300e4c19991e212e7e2eae8e272df679e9cd56 Mon Sep 17 00:00:00 2001 From: infinitydev Date: Fri, 9 Jul 2021 13:38:07 +0000 Subject: [PATCH] Fix build on z/OS using XLC (#1089) Handle the Sun and the IBM compilers separately --- .../crypto_generichash/blake2b/ref/blake2.h | 16 ++++++++++------ .../include/sodium/crypto_generichash_blake2b.h | 8 ++++++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/libsodium/crypto_generichash/blake2b/ref/blake2.h b/src/libsodium/crypto_generichash/blake2b/ref/blake2.h index c7433c32..edfc99a2 100644 --- a/src/libsodium/crypto_generichash/blake2b/ref/blake2.h +++ b/src/libsodium/crypto_generichash/blake2b/ref/blake2.h @@ -31,10 +31,12 @@ enum blake2b_constant { BLAKE2B_PERSONALBYTES = 16 }; -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -#pragma pack(1) +#ifdef __IBMC__ +# pragma pack(1) +#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) +# pragma pack(1) #else -#pragma pack(push, 1) +# pragma pack(push, 1) #endif typedef struct blake2b_param_ { @@ -60,10 +62,12 @@ typedef struct blake2b_state { uint8_t last_node; } blake2b_state; -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -#pragma pack() +#ifdef __IBMC__ +# pragma pack(pop) +#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) +# pragma pack() #else -#pragma pack(pop) +# pragma pack(pop) #endif /* Streaming API */ diff --git a/src/libsodium/include/sodium/crypto_generichash_blake2b.h b/src/libsodium/include/sodium/crypto_generichash_blake2b.h index fee9d8ad..ae3b52f7 100644 --- a/src/libsodium/include/sodium/crypto_generichash_blake2b.h +++ b/src/libsodium/include/sodium/crypto_generichash_blake2b.h @@ -14,7 +14,9 @@ extern "C" { #endif -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) +#ifdef __IBMC__ +# pragma pack(1) +#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) # pragma pack(1) #else # pragma pack(push, 1) @@ -24,7 +26,9 @@ typedef struct CRYPTO_ALIGN(64) crypto_generichash_blake2b_state { unsigned char opaque[384]; } crypto_generichash_blake2b_state; -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) +#ifdef __IBMC__ +# pragma pack(pop) +#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) # pragma pack() #else # pragma pack(pop)