aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYawning Angel <yawning@schwanenlied.me>2015-08-17 19:21:51 +0000
committerYawning Angel <yawning@schwanenlied.me>2015-08-17 19:21:51 +0000
commit971eba0fcd48a9a2dbe980b05a31797faf273076 (patch)
tree41df650afdfbe6b3bf76247b03e16424700a7347 /src
parenta77616f6056a9dbb5722600ff2465d8ec5b3d063 (diff)
downloadtor-971eba0fcd48a9a2dbe980b05a31797faf273076.tar.gz
tor-971eba0fcd48a9a2dbe980b05a31797faf273076.zip
Fixup: Force enable SSE2 before undefining ALIGN if SSE2 is disabled.
This should fix the x86 build, since variables that require 16 byte alignment will now actually be 16 byte aligned.
Diffstat (limited to 'src')
-rw-r--r--src/ext/ed25519/donna/ed25519-donna-portable.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/ext/ed25519/donna/ed25519-donna-portable.h b/src/ext/ed25519/donna/ed25519-donna-portable.h
index 1cd644c003..9c9c55577c 100644
--- a/src/ext/ed25519/donna/ed25519-donna-portable.h
+++ b/src/ext/ed25519/donna/ed25519-donna-portable.h
@@ -144,6 +144,16 @@ static inline void U64TO8_LE(unsigned char *p, const uint64_t v) {
#endif
#endif
+/* Tor: Force enable SSE2 on 32 bit x86 systems if the compile target
+ * architecture supports it. This is not done on x86-64 as the non-SSE2
+ * code benchmarks better, at least on Haswell.
+ */
+#if defined(__SSE2__) /* && !defined(CPU_X86_64) */
+ /* undef in case it's manually specified... */
+ #undef ED25519_SSE2
+ #define ED25519_SSE2
+#endif
+
/* Tor: GCC's Stack Protector freaks out and produces variable length
* buffer warnings when alignment is requested that is greater than
* STACK_BOUNDARY (x86 has special code to deal with this for SSE2).
@@ -158,16 +168,6 @@ static inline void U64TO8_LE(unsigned char *p, const uint64_t v) {
#define ALIGN(x)
#endif
-/* Tor: Force enable SSE2 on 32 bit x86 systems if the compile target
- * architecture supports it. This is not done on x86-64 as the non-SSE2
- * code benchmarks better, at least on Haswell.
- */
-#if defined(__SSE2__) && !defined(CPU_X86_64)
- /* undef in case it's manually specified... */
- #undef ED25519_SSE2
- #define ED25519_SSE2
-#endif
-
#include <stdlib.h>
#include <string.h>