]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fixup: Force enable SSE2 before undefining ALIGN if SSE2 is disabled.
authorYawning Angel <yawning@schwanenlied.me>
Mon, 17 Aug 2015 19:21:51 +0000 (19:21 +0000)
committerYawning Angel <yawning@schwanenlied.me>
Mon, 17 Aug 2015 19:21:51 +0000 (19:21 +0000)
This should fix the x86 build, since variables that require 16 byte
alignment will now actually be 16 byte aligned.

src/ext/ed25519/donna/ed25519-donna-portable.h

index 1cd644c003e357df75d269f7336670e4463331bf..9c9c55577cb81d7049dfd374805cc8e2d454efd0 100644 (file)
@@ -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>