constant_time_test.c fails to compile on SuSE Enterprise Server 10 32-bit

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

constant_time_test.c fails to compile on SuSE Enterprise Server 10 32-bit

Andy Schmidt
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

testlog (26K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: constant_time_test.c fails to compile on SuSE Enterprise Server 10 32-bit

Emilia Käsper
The 'inline' keyword is known issue with the latest releases, please see

We basically made a mistake and omitted some commits for e_os.h. These commits have now been included in the git repository in all release branches, and so the next release will include them. You can meanwhile work around build issues by cherry-picking them - sorry for that hassle.

Cheers,
Emilia

On Thu, Oct 23, 2014 at 11:55 PM, Andy Schmidt <[hidden email]> wrote:
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

Reply | Threaded
Open this post in threaded view
|

Re: constant_time_test.c fails to compile on SuSE Enterprise Server 10 32-bit

Andy Schmidt
The cherry-picking is not that big of a problem at the moment. Mainly
I want to let the OpenSSL people know what I've found. Also, I should
mention that I downloaded the latest revision of e_os.h from
https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=4fa17211bbb4865954a633a33a9d20a998b96971
. This fixed the build errors I had on AIX and HP-UX. But even with
this version of e_os.h, the build on 32-bit Suse Linux 10 still failed
for the reason described previously.

Finally, the link you supplied requires a login. Are logins available
to the general public? ... But anyway I was not able to read the
information in that link, so I apologize for any obvious RTFM user
errors.

Andy

On Fri, Oct 24, 2014 at 8:45 AM, Emilia Käsper
<[hidden email]> wrote:

> The 'inline' keyword is known issue with the latest releases, please see
>
> https://rt.openssl.org/Ticket/Display.html?id=3567
>
> We basically made a mistake and omitted some commits for e_os.h. These
> commits have now been included in the git repository in all release
> branches, and so the next release will include them. You can meanwhile work
> around build issues by cherry-picking them - sorry for that hassle.
>
> Cheers,
> Emilia
>
> On Thu, Oct 23, 2014 at 11:55 PM, Andy Schmidt
> <[hidden email]> wrote:
>>
>> 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
>
>
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: constant_time_test.c fails to compile on SuSE Enterprise Server 10 32-bit

Richard Moore


On 25 October 2014 00:57, Andy Schmidt <[hidden email]> wrote:
Finally, the link you supplied requires a login. Are logins available
to the general public? ... But anyway I was not able to read the
information in that link, so I apologize for any obvious RTFM user
errors.

Username: guest
Password: guest

Cheers

Rich.