Могу ли я сделать этот код без posix_memalign? - PullRequest
0 голосов
/ 11 июня 2018

У меня есть этот код в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...