From: pwpiwi <pwpiwi@users.noreply.github.com> Date: Thu, 8 Jun 2017 06:08:30 +0000 (+0200) Subject: fix MacOS compile errors by replacing memalign() with posix_memalign() X-Git-Tag: v3.0.1~4^2 X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/commitdiff_plain/c3d117a8a1140af91b1c9cc245ec6cf2c26df391?ds=sidebyside;hp=--cc fix MacOS compile errors by replacing memalign() with posix_memalign() --- c3d117a8a1140af91b1c9cc245ec6cf2c26df391 diff --git a/client/hardnested/hardnested_bf_core.c b/client/hardnested/hardnested_bf_core.c index c22a9a08..05246296 100644 --- a/client/hardnested/hardnested_bf_core.c +++ b/client/hardnested/hardnested_bf_core.c @@ -52,8 +52,10 @@ THE SOFTWARE. #include <stdint.h> #include <stdbool.h> #include <stdlib.h> -#include <stdio.h> +#ifndef __APPLE__ #include <malloc.h> +#endif +#include <stdio.h> #include <string.h> #include "crapto1/crapto1.h" #include "parity.h" @@ -141,9 +143,19 @@ bitslice_test_nonces_t bitslice_test_nonces_MMX; bitslice_test_nonces_t bitslice_test_nonces_NOSIMD; bitslice_test_nonces_t bitslice_test_nonces_dispatch; -#ifdef _WIN32 +#if defined (_WIN32) #define malloc_bitslice(x) __builtin_assume_aligned(_aligned_malloc((x), MAX_BITSLICES/8), MAX_BITSLICES/8) #define free_bitslice(x) _aligned_free(x) +#elif defined (__APPLE__) +static void *malloc_bitslice(size_t x) { + char *allocated_memory; + if (posix_memalign((void**)&allocated_memory, MAX_BITSLICES/8, x)) { + return NULL; + } else { + return __builtin_assume_aligned(allocated_memory, MAX_BITSLICES/8); + } +} +#define free_bitslice(x) free(x) #else #define malloc_bitslice(x) memalign(MAX_BITSLICES/8, (x)) #define free_bitslice(x) free(x) diff --git a/client/hardnested/hardnested_bitarray_core.c b/client/hardnested/hardnested_bitarray_core.c index 5b48a735..320c4a96 100644 --- a/client/hardnested/hardnested_bitarray_core.c +++ b/client/hardnested/hardnested_bitarray_core.c @@ -21,7 +21,9 @@ #include <stdint.h> #include <stdio.h> #include <stdlib.h> +#ifndef __APPLE__ #include <malloc.h> +#endif // this needs to be compiled several times for each instruction set. // For each instruction set, define a dedicated function name: @@ -143,8 +145,15 @@ count_bitarray_AND4_t count_bitarray_AND4_AVX512, count_bitarray_AND4_AVX2, coun inline uint32_t *MALLOC_BITARRAY(uint32_t x) { -#ifdef _WIN32 +#if defined (_WIN32) return __builtin_assume_aligned(_aligned_malloc((x), __BIGGEST_ALIGNMENT__), __BIGGEST_ALIGNMENT__); +#elif defined (__APPLE__) + uint32_t *allocated_memory; + if (posix_memalign((void**)&allocated_memory, __BIGGEST_ALIGNMENT__, x)) { + return NULL; + } else { + return __builtin_assume_aligned(allocated_memory, __BIGGEST_ALIGNMENT__); + } #else return __builtin_assume_aligned(memalign(__BIGGEST_ALIGNMENT__, (x)), __BIGGEST_ALIGNMENT__); #endif diff --git a/client/hardnested/hardnested_bruteforce.c b/client/hardnested/hardnested_bruteforce.c index 3b1c5071..718b7c5d 100644 --- a/client/hardnested/hardnested_bruteforce.c +++ b/client/hardnested/hardnested_bruteforce.c @@ -54,7 +54,7 @@ THE SOFTWARE. #include <stdio.h> #include <pthread.h> #include <string.h> -#include <malloc.h> +#include <stdlib.h> #include "proxmark3.h" #include "cmdhfmfhard.h" #include "hardnested_bf_core.h"