From: David Woodhouse Date: Sat, 20 Feb 2016 14:40:48 +0000 (+0000) Subject: RT4339: Fix handling of X-Git-Tag: OpenSSL_1_1_0-pre4~536 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=78c830785ca0f422502db9b201127ef1d9fe3966 RT4339: Fix handling of The entire contents of are unwanted in the UEFI build because we have to do it differently there. To support building for both 32-bit and 64-bit platforms without re-running the OpenSSL Configure script, the EDK2 environment defines THIRTY_TWO_BIT or SIXTY_FOUR_BIT for itself according to the target platform. The current setup is broken, though. It checks for OPENSSL_SYS_UEFI but before it's actually defined, since opensslconf.h hasn't yet been included. Let's fix that by including opensslconf.h. And also let's move the bn_conf.h doesn't even need to *exist* in the UEFI build environment. This is also GH PR736. Signed-off-by: Rich Salz Reviewed-by: Tim Hudson --- diff --git a/crypto/bn/bn_lcl.h b/crypto/bn/bn_lcl.h index 0f3205c0ca..4af8bfb9a3 100644 --- a/crypto/bn/bn_lcl.h +++ b/crypto/bn/bn_lcl.h @@ -111,7 +111,17 @@ #ifndef HEADER_BN_LCL_H # define HEADER_BN_LCL_H -# include "internal/bn_conf.h" +/* + * The EDK2 build doesn't use bn_conf.h; it sets THIRTY_TWO_BIT or + * SIXTY_FOUR_BIT in its own environment since it doesn't re-run our + * Configure script and needs to support both 32-bit and 64-bit. + */ +# include + +# if !defined(OPENSSL_SYS_UEFI) +# include "internal/bn_conf.h" +# endif + # include "internal/bn_int.h" #ifdef __cplusplus diff --git a/crypto/include/internal/bn_conf.h.in b/crypto/include/internal/bn_conf.h.in index 5ebd55d522..e25a435726 100644 --- a/crypto/include/internal/bn_conf.h.in +++ b/crypto/include/internal/bn_conf.h.in @@ -56,7 +56,11 @@ #ifndef HEADER_BN_CONF_H # define HEADER_BN_CONF_H -# if !defined(OPENSSL_SYS_UEFI) +/* + * The contents of this file are not used in the UEFI build, as + * both 32-bit and 64-bit builds are supported from a single run + * of the Configure script. + */ /* Should we define BN_DIV2W here? */ @@ -64,6 +68,5 @@ {- $config{b64l} ? "#define" : "#undef" -} SIXTY_FOUR_BIT_LONG {- $config{b64} ? "#define" : "#undef" -} SIXTY_FOUR_BIT {- $config{b32} ? "#define" : "#undef" -} THIRTY_TWO_BIT -# endif #endif