Build donna32 with -fomit-frame-pointer

This commit is contained in:
Nick Mathewson 2013-01-30 13:08:04 -05:00
parent 73f85905aa
commit 97d0872f59
3 changed files with 23 additions and 2 deletions

View File

@ -0,0 +1,6 @@
o Minor features (performance):
- If we're using the pure-C 32-bit curve25519_donna implementation
of curve25519, build it with the -fomit-frame-pointer option to
make it go faster on register-starved hosts. This improves our
handshake performance by about 6% on i386 hosts without nacl.
Closes ticket 8109.

View File

@ -582,6 +582,19 @@ if test x$enable_linker_hardening != xno; then
TOR_CHECK_LDFLAGS(-z relro -z now, "$all_ldflags_for_check", "$all_libs_for_check")
fi
dnl ------------------------------------------------------
dnl Now see if we have a -fomit-frame-pointer compiler option.
saved_CFLAGS="$CFLAGS"
TOR_CHECK_CFLAGS(-fomit-frame-pointer)
if test "$saved_CFLAGS" != "$CFLAGS"; then
F_OMIT_FRAME_POINTER='-fomit-frame-pointer'
else
F_OMIT_FRAME_POINTER=''
fi
CFLAGS="$saved_CFLAGS"
AC_SUBST(F_OMIT_FRAME_POINTER)
dnl ------------------------------------------------------
dnl Where do you live, libnatpmp? And how do we call you?
dnl There are no packages for Debian or Redhat as of this patch

View File

@ -14,9 +14,13 @@ else
libor_extra_source=
endif
src_common_libcurve25519_donna_a_CFLAGS=
if BUILD_CURVE25519_DONNA
src_common_libcurve25519_donna_a_SOURCES=\
src/ext/curve25519_donna/curve25519-donna.c
src_common_libcurve25519_donna_a_CFLAGS+=\
@F_OMIT_FRAME_POINTER@
noinst_LIBRARIES+=src/common/libcurve25519_donna.a
LIBDONNA=src/common/libcurve25519_donna.a
else
@ -30,8 +34,6 @@ LIBDONNA=
endif
endif
src_common_libcurve25519_donna_a_CFLAGS =
if CURVE25519_ENABLED
libcrypto_extra_source=src/common/crypto_curve25519.c
endif