Andy Schmidt
2014-10-23 21:55:23 UTC
Hi all,
The test constant_time_test.c new to 1.0.1j fails to compile on 32-bit
SuSE 10 with gcc 4.1.0.
The failure is:
constant_time_test.o: In function `main':
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:267:
undefined reference to `constant_time_lt'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:269:
undefined reference to `constant_time_lt_8'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:271:
undefined reference to `constant_time_lt'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:273:
undefined reference to `constant_time_lt_8'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:275:
undefined reference to `constant_time_ge'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:277:
undefined reference to `constant_time_ge_8'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:279:
undefined reference to `constant_time_ge'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:281:
undefined reference to `constant_time_ge_8'
I can verify that this is related to the inline macro defined in
e_os.h. If I immediately after line 50 of constant_time_locl.h,
#include "e_os.h"'
I add the line
#undef inline
the full build of OpenSSL 1.0.1j on this platform succeeds, both debug
and release.
It's a little strange that the inline functions references above fail,
while the references to constant_time_eq and constant_time_eq_8 appear
to be OK.
The full testlog output of make 'report' is attached.
Thanks,
Andy Schmidt
The test constant_time_test.c new to 1.0.1j fails to compile on 32-bit
SuSE 10 with gcc 4.1.0.
The failure is:
constant_time_test.o: In function `main':
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:267:
undefined reference to `constant_time_lt'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:269:
undefined reference to `constant_time_lt_8'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:271:
undefined reference to `constant_time_lt'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:273:
undefined reference to `constant_time_lt_8'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:275:
undefined reference to `constant_time_ge'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:277:
undefined reference to `constant_time_ge_8'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:279:
undefined reference to `constant_time_ge'
/depot/Releases/OpenSSL/1.0.1/source/FIPS/openssl-core/test/constant_time_test.c:281:
undefined reference to `constant_time_ge_8'
I can verify that this is related to the inline macro defined in
e_os.h. If I immediately after line 50 of constant_time_locl.h,
#include "e_os.h"'
I add the line
#undef inline
the full build of OpenSSL 1.0.1j on this platform succeeds, both debug
and release.
It's a little strange that the inline functions references above fail,
while the references to constant_time_eq and constant_time_eq_8 appear
to be OK.
The full testlog output of make 'report' is attached.
Thanks,
Andy Schmidt