Compensate inline assembler in sha512.c for gcc 2.7.2 compiler bug.
[openssl.git] / engines / e_padlock.c
index 3fbb51b585ee6f8720ba784cbb0a1a0340f173f1..64a13e754c7801d00ef2c83948ac59c2e0e4e2f4 100644 (file)
@@ -128,6 +128,9 @@ void ENGINE_load_padlock (void)
 # ifndef alloca
 #  define alloca _alloca
 # endif
+#elif defined(NETWARE_CLIB) && defined(__GNUC__)
+  void *alloca(size_t);
+# define alloca(s) __builtin_alloca(s)
 #else
 # include <stdlib.h>
 #endif
@@ -233,8 +236,8 @@ padlock_bind_fn(ENGINE *e, const char *id)
        return 1;
 }
 
-IMPLEMENT_DYNAMIC_CHECK_FN ();
-IMPLEMENT_DYNAMIC_BIND_FN (padlock_bind_fn);
+IMPLEMENT_DYNAMIC_CHECK_FN()
+IMPLEMENT_DYNAMIC_BIND_FN (padlock_bind_fn)
 #endif /* DYNAMIC_ENGINE */
 
 /* ===== Here comes the "real" engine ===== */
@@ -438,7 +441,7 @@ static inline void *name(size_t cnt,                \
                        rep_xcrypt "\n"         \
                "       popl    %%ebx"          \
                : "=a"(iv), "=c"(cnt), "=D"(out), "=S"(inp) \
-               : "0"(cdata), "1"(cnt), "2"(out), "3"(inp), "m"(*cdata)  \
+               : "0"(cdata), "1"(cnt), "2"(out), "3"(inp)  \
                : "edx", "cc", "memory");       \
        return iv;                              \
 }