perlasm_scheme => 'void',
},
"linux64-sparcv9" => {
- # GCC 3.1 is a requirement
inherit_from => [ "linux-generic64" ],
cflags => add("-m64 -mcpu=ultrasparc"),
cxxflags => add("-m64 -mcpu=ultrasparc"),
/* First determine if getauxval() is available (OSSL_IMPLEMENT_GETAUXVAL) */
-#if defined(__GNUC__) && __GNUC__ >= 2
+#if defined(__GNUC__)
void OPENSSL_cpuid_setup(void) __attribute__((constructor));
#endif
*/
#include "../bn_local.h"
-#if !(defined(__GNUC__) && __GNUC__ >= 2)
+#if !defined(__GNUC__)
/* clang-format off */
# include "../bn_asm.c" /* kind of dirty hack for Sun Studio */
/* clang-format on */
#if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM) \
&& !defined(PEDANTIC) && !defined(BN_DIV3W)
-#if defined(__GNUC__) && __GNUC__ >= 2
+#if defined(__GNUC__)
#if defined(__i386) || defined(__i386__)
/*-
* There were two reasons for implementing this template:
#if defined(__DECC)
#include <c_asm.h>
#define BN_UMULT_HIGH(a, b) (BN_ULONG)asm("umulh %a0,%a1,%v0", (a), (b))
-#elif defined(__GNUC__) && __GNUC__ >= 2
+#elif defined(__GNUC__)
#define BN_UMULT_HIGH(a, b) ({ \
register BN_ULONG ret; \
asm ("umulh %1,%2,%0" \
ret; })
#endif /* compiler */
#elif defined(_ARCH_PPC64) && defined(SIXTY_FOUR_BIT_LONG)
-#if defined(__GNUC__) && __GNUC__ >= 2
+#if defined(__GNUC__)
#define BN_UMULT_HIGH(a, b) ({ \
register BN_ULONG ret; \
asm ("mulhdu %0,%1,%2" \
ret; })
#endif /* compiler */
#elif (defined(__x86_64) || defined(__x86_64__)) && (defined(SIXTY_FOUR_BIT_LONG) || defined(SIXTY_FOUR_BIT))
-#if defined(__GNUC__) && __GNUC__ >= 2
+#if defined(__GNUC__)
#define BN_UMULT_HIGH(a, b) ({ \
register BN_ULONG ret,discard; \
asm ("mulq %3" \
#define BN_UMULT_LOHI(low, high, a, b) ((low) = _umul128((a), (b), &(high)))
#endif
#elif defined(__mips) && (defined(SIXTY_FOUR_BIT) || defined(SIXTY_FOUR_BIT_LONG))
-#if defined(__GNUC__) && __GNUC__ >= 2
+#if defined(__GNUC__)
#define BN_UMULT_HIGH(a, b) ({ \
register BN_ULONG ret; \
asm ("dmultu %1,%2" \
: "r"(a), "r"(b));
#endif
#elif defined(__aarch64__) && defined(SIXTY_FOUR_BIT_LONG)
-#if defined(__GNUC__) && __GNUC__ >= 2
+#if defined(__GNUC__)
#define BN_UMULT_HIGH(a, b) ({ \
register BN_ULONG ret; \
asm ("umulh %0,%1,%2" \
#define ROTATE(v, n) (((v) << (n)) | ((v) >> (32 - (n))))
#ifndef PEDANTIC
-#if defined(__GNUC__) && __GNUC__ >= 2 && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
+#if defined(__GNUC__) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
#if defined(__riscv_zbb) || defined(__riscv_zbkb)
#if __riscv_xlen == 64
#undef ROTATE
#define ROTATE(a, n) (_lrotr(a, n))
#elif defined(__ICC)
#define ROTATE(a, n) (_rotr(a, n))
-#elif defined(__GNUC__) && __GNUC__ >= 2 && !defined(__STRICT_ANSI__) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM) && !defined(PEDANTIC)
+#elif defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM) && !defined(PEDANTIC)
#if defined(__i386) || defined(__i386__) || defined(__x86_64) || defined(__x86_64__)
#define ROTATE(a, n) ({ \
register unsigned int ret; \
int power, addend;
};
-#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3))
+#if defined(__GNUC__)
#define NUMTRAILINGZEROS __builtin_ctz
#else
#define NUMTRAILINGZEROS numtrailingzeros
#define HWCAP_ARCH_3_00 (1U << 23)
#define HWCAP_ARCH_3_1 (1U << 18)
-#if defined(__GNUC__) && __GNUC__ >= 2
+#if defined(__GNUC__)
__attribute__((constructor))
#endif
void OPENSSL_cpuid_setup(void)
#elif defined(__ICC)
#define ROTATE_l32(a, n) _rotl(a, n)
#define ROTATE_r32(a, n) _rotr(a, n)
-#elif defined(__GNUC__) && __GNUC__ >= 2 && !defined(__STRICT_ANSI__) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM) && !defined(PEDANTIC)
+#elif defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM) && !defined(PEDANTIC)
#if defined(__i386) || defined(__i386__) || defined(__x86_64) || defined(__x86_64__)
#define ROTATE_l32(a, n) ({ \
register unsigned int ret; \
return vlen;
}
-#if defined(__GNUC__) && __GNUC__ >= 2
+#if defined(__GNUC__)
__attribute__((constructor))
#endif
void OPENSSL_cpuid_setup(void)
};
#ifndef PEDANTIC
-#if defined(__GNUC__) && __GNUC__ >= 2 && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
+#if defined(__GNUC__) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
#if defined(__riscv_zknh)
#define Sigma0(x) ({ MD32_REG_T ret; \
asm ("sha256sum0 %0, %1" \
};
#ifndef PEDANTIC
-#if defined(__GNUC__) && __GNUC__ >= 2 && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
+#if defined(__GNUC__) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
#if defined(__x86_64) || defined(__x86_64__)
#define ROTR(a, n) ({ SHA_LONG64 ret; \
asm ("rorq %1,%0" \
/* clang-format on */
#ifndef PEDANTIC
-#if defined(__GNUC__) && __GNUC__ >= 2 && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
+#if defined(__GNUC__) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
#if defined(__riscv_zksh)
#define P0(x) ({ MD32_REG_T ret; \
asm ("sm3p0 %0, %1" \
}
#if defined(__sun) && defined(__SVR4)
-#if defined(__GNUC__) && __GNUC__ >= 2
+#if defined(__GNUC__)
extern unsigned int getisax(unsigned int vec[], unsigned int sz) __attribute__((weak));
#elif defined(__SUNPRO_C)
#pragma weak getisax
#pragma intrinsic(_rotl64)
#define ROTATE(a, n) _rotl64((a), n)
#endif
-#elif defined(__GNUC__) && __GNUC__ >= 2
+#elif defined(__GNUC__)
#if defined(__x86_64) || defined(__x86_64__)
#if defined(L_ENDIAN)
#define ROTATE(a, n) ({ uint64_t ret; asm ("rolq %1,%0" \
#endif
#if !defined(PEDANTIC) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
-#if defined(__GNUC__) && __GNUC__ >= 2
+#if defined(__GNUC__)
#if defined(__x86_64) || defined(__x86_64__)
#define BSWAP8(x) ({ uint64_t ret_=(x); \
asm ("bswapq %0" \
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
/* just use inline */
#define ossl_inline inline
-#elif defined(__GNUC__) && __GNUC__ >= 2
+#elif defined(__GNUC__)
#define ossl_inline __inline__
#elif defined(_MSC_VER)
/*
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(__cplusplus)
#define ossl_noreturn _Noreturn
-#elif defined(__GNUC__) && __GNUC__ >= 2
+#elif defined(__GNUC__)
#define ossl_noreturn __attribute__((noreturn))
#else
#define ossl_noreturn
__pragma(warning(push)) __pragma(warning(disable : 4996))
#define OSSL_END_ALLOW_DEPRECATED __pragma(warning(pop))
#elif defined(__GNUC__)
-/*
- * According to GCC documentation, deprecations with message appeared in
- * GCC 4.5.0
- */
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
#define OSSL_DEPRECATED(since) \
__attribute__((deprecated("Since OpenSSL " #since)))
#define OSSL_DEPRECATED_FOR(since, message) \
__attribute__((deprecated("Since OpenSSL " #since ";" message)))
#define OSSL_DEPRECATED_MESSAGE(message) __attribute__((deprecated(message)))
-#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
-#define OSSL_DEPRECATED(since) __attribute__((deprecated))
-#define OSSL_DEPRECATED_FOR(since, message) __attribute__((deprecated))
-#define OSSL_DEPRECATED_MESSAGE(message) __attribute__((deprecated))
-#endif
#define OSSL_BEGIN_ALLOW_DEPRECATED \
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
#if defined(__STDC_VERSION__)
#if __STDC_VERSION__ >= 199901L
#define OPENSSL_FUNC __func__
-#elif defined(__GNUC__) && __GNUC__ >= 2
+#elif defined(__GNUC__)
#define OPENSSL_FUNC __FUNCTION__
#endif
#elif defined(_MSC_VER)
return ret;
}
-#if defined(__GNUC__) && __GNUC__ >= 4
+#if defined(__GNUC__)
#define SENTINEL __attribute__((sentinel))
#endif
* internally. So we need to check errno for ENOSYS
*/
#if !defined(__DragonFly__) && !defined(__NetBSD__) && !defined(__FreeBSD__)
-#if defined(__GNUC__) && __GNUC__ >= 2 && defined(__ELF__) && !defined(__hpux)
+#if defined(__GNUC__) && defined(__ELF__) && !defined(__hpux)
extern int getentropy(void *buffer, size_t length) __attribute__((weak));
if (getentropy != NULL) {