У меня есть этот код в polybench.c
(из набора тестов Polybench ):
static void * xmalloc (size_t num)
{
void* new = NULL;
int ret = posix_memalign (&new, 32, num);
if (! new)
{
fprintf (stderr, "[PolyBench] posix_memalign: cannot allocate memory");
exit (1);
}
return new;
}
void* polybench_alloc_data(unsigned long long int n, int elt_size)
{
/// FIXME: detect overflow!
size_t val = n;
val *= elt_size;
void* ret = xmalloc (val);
return ret;
}
LLVM Interpreter
имеет дело с posix_memalign
в качестве внешней функции.Мне нужно удалить posix_memalign
без ошибки сегментации.Это возможно?Если да, как я могу это сделать?Если нет, как я могу решить эту проблему, не используя malloc, valloc, mmalloc и align_alloc?Поскольку все эти функции дали мне ту же ошибку.
Сообщение об ошибке:
LLVM ERROR: Tried to execute an unknown external function: posix_memalign