diff options
-rw-r--r-- | src/curve25519.c | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/src/curve25519.c b/src/curve25519.c index 7d3fd15..1739a9e 100644 --- a/src/curve25519.c +++ b/src/curve25519.c @@ -39,35 +39,39 @@ typedef int64_t s64; #define le32_to_cpup(a) (*(a)) #define cpu_to_le64(a) (a) #endif -static inline __le32 get_unaligned_le32(const u8 *a) +#ifndef __unused +#define __unused __attribute__((unused)) +#endif +#ifndef __always_inline +#define __always_inline __inline __attribute__((__always_inline__)) +#endif +#ifndef noinline +#define noinline __attribute__((noinline)) +#endif +#ifndef __aligned +#define __aligned(x) __attribute__((aligned(x))) +#endif +#ifndef __force +#define __force +#endif + +static __always_inline __unused __le32 get_unaligned_le32(const u8 *a) { __le32 l; __builtin_memcpy(&l, a, sizeof(l)); return le32_to_cpup(&l); } -static inline __le64 get_unaligned_le64(const u8 *a) +static __always_inline __unused __le64 get_unaligned_le64(const u8 *a) { __le64 l; __builtin_memcpy(&l, a, sizeof(l)); return le64_to_cpup(&l); } -static inline void put_unaligned_le64(u64 s, u8 *d) +static __always_inline __unused void put_unaligned_le64(u64 s, u8 *d) { __le64 l = cpu_to_le64(s); __builtin_memcpy(d, &l, sizeof(l)); } -#ifndef __always_inline -#define __always_inline __inline __attribute__((__always_inline__)) -#endif -#ifndef noinline -#define noinline __attribute__((noinline)) -#endif -#ifndef __aligned -#define __aligned(x) __attribute__((aligned(x))) -#endif -#ifndef __force -#define __force -#endif static noinline void memzero_explicit(void *s, size_t count) { |