mirror of
https://github.com/Proxmark/proxmark3.git
synced 2024-09-22 07:46:30 +08:00
Merge pull request #313 from pwpiwi/fix_memalign
fix MacOS compile errors by replacing memalign() with posix_memalign()
This commit is contained in:
commit
9a15745577
|
@ -52,8 +52,10 @@ THE SOFTWARE.
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#ifndef __APPLE__
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
|
#endif
|
||||||
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "crapto1/crapto1.h"
|
#include "crapto1/crapto1.h"
|
||||||
#include "parity.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_NOSIMD;
|
||||||
bitslice_test_nonces_t bitslice_test_nonces_dispatch;
|
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 malloc_bitslice(x) __builtin_assume_aligned(_aligned_malloc((x), MAX_BITSLICES/8), MAX_BITSLICES/8)
|
||||||
#define free_bitslice(x) _aligned_free(x)
|
#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
|
#else
|
||||||
#define malloc_bitslice(x) memalign(MAX_BITSLICES/8, (x))
|
#define malloc_bitslice(x) memalign(MAX_BITSLICES/8, (x))
|
||||||
#define free_bitslice(x) free(x)
|
#define free_bitslice(x) free(x)
|
||||||
|
|
|
@ -21,7 +21,9 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#ifndef __APPLE__
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
// this needs to be compiled several times for each instruction set.
|
// this needs to be compiled several times for each instruction set.
|
||||||
// For each instruction set, define a dedicated function name:
|
// 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)
|
inline uint32_t *MALLOC_BITARRAY(uint32_t x)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#if defined (_WIN32)
|
||||||
return __builtin_assume_aligned(_aligned_malloc((x), __BIGGEST_ALIGNMENT__), __BIGGEST_ALIGNMENT__);
|
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
|
#else
|
||||||
return __builtin_assume_aligned(memalign(__BIGGEST_ALIGNMENT__, (x)), __BIGGEST_ALIGNMENT__);
|
return __builtin_assume_aligned(memalign(__BIGGEST_ALIGNMENT__, (x)), __BIGGEST_ALIGNMENT__);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -54,7 +54,7 @@ THE SOFTWARE.
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <malloc.h>
|
#include <stdlib.h>
|
||||||
#include "proxmark3.h"
|
#include "proxmark3.h"
|
||||||
#include "cmdhfmfhard.h"
|
#include "cmdhfmfhard.h"
|
||||||
#include "hardnested_bf_core.h"
|
#include "hardnested_bf_core.h"
|
||||||
|
|
Loading…
Reference in a new issue