Хороший вопрос. Кажется, нигде не документировано. Благодаря открытому исходному коду, ответ был доступен в исходном коде для otools, так что вы можете посмотреть там, если вам нужно больше информации.
Поле представляет биты возможностей ЦП (то есть cpusubtype & CPU_SUBTYPE_MASK
). Так что это действительно подмножество поля cpusubtype, чтобы сделать эту информацию более доступной, я полагаю. Это что-то, что вставил программист (ы) otools, а не часть заголовка Mach-O.
Будет ли другой столбец заглавных букв
вызвать сбои ссылок?
Не уверен, получу ли я здесь ваш вопрос, с чем именно связать? Очевидно, что наличие двух библиотек, скомпилированных для разных процессоров (возможно, с разными полями "caps"), и попытка связать их вместе, может быть проблемой. Я бы больше интересовался полем «cutype» в этом отношении. Это, вероятно, даст вам подсказку, если вы связываете код x86 с кодом ARM (я полагаю, больше, чем поле «caps»).
В общем, я бы не стал слишком концентрироваться на области, которую никто даже не хочет упоминать в какой-либо документации, если только ваша конкретная ситуация этого не требует.