[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Build donna32 with -fomit-frame-pointer
commit 97d0872f59b4ac7a56632966ee041782c1152313
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Wed Jan 30 13:08:04 2013 -0500
Build donna32 with -fomit-frame-pointer
---
changes/fomit-frame-pointer | 6 ++++++
configure.ac | 13 +++++++++++++
src/common/include.am | 6 ++++--
3 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/changes/fomit-frame-pointer b/changes/fomit-frame-pointer
new file mode 100644
index 0000000..6770624
--- /dev/null
+++ b/changes/fomit-frame-pointer
@@ -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.
diff --git a/configure.ac b/configure.ac
index f047ab9..5468b96 100644
--- a/configure.ac
+++ b/configure.ac
@@ -583,6 +583,19 @@ if test x$enable_linker_hardening != xno; then
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
diff --git a/src/common/include.am b/src/common/include.am
index 808238d..1eb923f 100644
--- a/src/common/include.am
+++ b/src/common/include.am
@@ -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
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits