Work around a compiler bug on OS X.

This commit is contained in:
Manuel Pégourié-Gonnard 2014-03-14 09:21:20 +01:00
parent e3b3d19e5a
commit bb8661e006
2 changed files with 10 additions and 1 deletions

View File

@ -14,6 +14,8 @@ Changes
* entropy_add_source(), entropy_update_manual() and entropy_gather() * entropy_add_source(), entropy_update_manual() and entropy_gather()
now thread-safe if POLARSSL_THREADING_C defined now thread-safe if POLARSSL_THREADING_C defined
* Improvements to the CMake build system, contributed by Julian Ospald. * Improvements to the CMake build system, contributed by Julian Ospald.
* Work around a bug of the version of Clang shipped by Apple with Mavericks
that prevented bignum.c from compiling. (Reported by Rafael Baptista.)
Security Security
* Forbid change of server certificate during renegotiation to prevent * Forbid change of server certificate during renegotiation to prevent

View File

@ -1232,7 +1232,14 @@ int mpi_div_mpi( mpi *Q, mpi *R, const mpi *A, const mpi *B )
Z.p[i - t - 1] = ~0; Z.p[i - t - 1] = ~0;
else else
{ {
#if defined(POLARSSL_HAVE_UDBL) /*
* The version of Clang shipped by Apple with Mavericks can't
* handle 128-bit division properly. Disable 128-bits division
* for Clang on Apple for now, while waiting for more input on the
* exact version(s) affected and their identification macros.
*/
#if defined(POLARSSL_HAVE_UDBL) && \
! ( defined(__x86_64__) && defined(__clang__) && defined(__APPLE__) )
t_udbl r; t_udbl r;
r = (t_udbl) X.p[i] << biL; r = (t_udbl) X.p[i] << biL;