перекодирование malloc: подпись кода заблокирована mmap () - PullRequest
0 голосов
/ 26 июня 2018

Я на самом деле перекодирую malloc, используя avl, и когда я тестирую его с помощью скрипта вроде:

#!/bin/sh
export DYLD_LIBRARY_PATH=.
export DYLD_INSERT_LIBRARIES="libft_malloc.so"
export DYLD_FORCE_FLAT_NAMESPACE=1`
$@

, а затем ./script ls или ./script vim, он работает хорошо.Но когда я вручную экспортирую переменные в моей оболочке, у меня появляется эта ошибка:

dyld: warning: could not load inserted library 'libft_malloc.so' into 
library validated process because no suitable image found.  Did find:
    libft_malloc.so: code signing blocked mmap() of 'libft_malloc.so'

вот как использовать mmap:

pges_ctrl.header_pge = mmap(NULL, getpagesize() * NB_PAGES, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);
if (pges_ctrl.header_pge == MAP_FAILED)
    return (0);

и

tmp = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);
if (tmp == MAP_FAILED)
{
    pges_ctrl.errors |= MMAP_BAD_ALLOC;
    return NULL;
}

Если у вас есть представление о том, что может быть причиной этого, или как я могу это отладить, это очень поможет!Я работаю на Mac OSX Sierra 10.12.6

Скомпилировано с gcc -Wall -Wextra -Werror Спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...