New NO_INLINE_ASM macro. Primary target for the moment is Solaris x86
authorAndy Polyakov <appro@openssl.org>
Tue, 15 Feb 2000 17:20:52 +0000 (17:20 +0000)
committerAndy Polyakov <appro@openssl.org>
Tue, 15 Feb 2000 17:20:52 +0000 (17:20 +0000)
which can't stand GNU C assembler templates.

crypto/bn/bn_div.c
crypto/bn/bn_lcl.h
crypto/md32_common.h

index 31062b7db263cd6a180674f1bc0f2424f07e6c46..07af1d3b449b2c98baf9c9bbc9a208f8b2434dfd 100644 (file)
@@ -126,7 +126,7 @@ int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d,
 
 #else
 
-#if !defined(NO_ASM) && !defined(PEDANTIC) && !defined(BN_DIV3W)
+#if !defined(NO_ASM) && !defined(NO_INLINE_ASM) && !defined(PEDANTIC) && !defined(BN_DIV3W)
 # if defined(__GNUC__) && __GNUC__>=2
 #  if defined(__i386)
    /*
index fa347ee6f80a56cbc6d0f5a9a6aea7e7f19d310a..fc0b5b762b4ae6b3aea1c67809e7d052143b438c 100644 (file)
@@ -86,7 +86,7 @@ extern "C" {
 #endif
 #endif
 
-#if !defined(NO_ASM) && !defined(PEDANTIC)
+#if !defined(NO_ASM) && !defined(NO_INLINE_ASM) && !defined(PEDANTIC)
 /*
  * BN_UMULT_HIGH section.
  *
index 9a6a27512f60f2e1d1950a3ed48bac0374d5a494..d7c0084c4e5cc183ef2d637681f4f54954580296 100644 (file)
 #  else
 #   define ROTATE(a,n) __rol(a,n)
 #  endif
-# elif defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM)
+# elif defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM) && !defined(NO_INLINE_ASM)
   /*
    * Some GNU C inline assembler templates. Note that these are
    * rotates by *constant* number of bits! But that's exactly
  * Engage compiler specific "fetch in reverse byte order"
  * intrinsic function if available.
  */
-# if defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM)
+# if defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM) && !defined(NO_INLINE_ASM)
   /* some GNU C inline assembler templates by <appro@fy.chalmers.se> */
 #  if defined(__i386) && !defined(I386_ONLY)
 #   define BE_FETCH32(a)       ({ register unsigned int l=(a);\