Что означает «невозможно прочитать неизвестную команду загрузки 0x26» в Xcode 3.2 на Lion? - PullRequest
0 голосов
/ 10 октября 2011

Мой проект на работе, отлаженный под 10.6 / Xcode 3.2.5, работает нормально, но дома тот же проект, запущенный под Lion / Xcode 3.2.5, отбрасывает десятки из них

unable to read unknown load command 0x26

сообщения в отладчике. Любые идеи о том, что я могу сделать, чтобы определить, на что жалуется GDB? Это все еще «кажется» работает, но я понятия не имею, что может отсутствовать или не так.

Обратите внимание, что это обычное приложение OSX, а не iOS.

1 Ответ

1 голос
/ 27 июня 2012

Сообщение приходит от bfd / mach-oc :

switch (command->type)
{
    case BFD_MACH_O_LC_SEGMENT:
        if (bfd_mach_o_scan_read_segment_32 (abfd, command) != 0)
            return -1;
        break;
    .....
    default:
        fprintf (stderr, "unable to read unknown load command 0x%lx\n",
            (unsigned long) command->type);
        break;
}

В предупреждении говорится, что BFD не может распознать команду загрузки секции Mach-O, с которой он столкнулся.

Глядя на bfd / mach-oh , где описаны известные команды загрузки, мы находим, что команды там варьируются от 0x1 до 0x18 , но ничего не выходит за пределы.

MacOS X (Lion) определяет константы загрузки в /usr/include/mach-o/loader.h (доступно, если вы установили XCode), от 0x1 до 0x27 .Таким образом, наиболее логичным объяснением появления предупреждений для команд загрузки> 0x18 является отсутствие указанных кодов в собственном заголовке BFD.

Кроме того, для последующих действий следует рассмотреть: https://bugs.launchpad.net/tarantool/+bug/1018356

...