Как вставлять данные в двоичный файл Mac OS X в текстовый раздел TEXT?

У меня есть инструмент командной строки для Mac OS X, который выиграет от того, что некоторые данные встроены в сам файл.

Я знаю, что файлы mach-o поддерживают несколько сегментов, некоторые из которых могут использоваться для хранения произвольных данных. Но я не могу найти инструмент командной строки для этого.

Хотя я знаю, что есть другие, возможно, более простые способы (например, преобразовать файл данных в исходный код C и связать его с помощью gcc), чтобы получить данные в мой двоичный файл, эта проблема вызвала мой интерес. Кто-нибудь знает магию?

Ответ 1

Линкер ld принимает аргумент -sectcreate.

На странице руководства

 -sectcreate segname sectname file
             The section sectname in the segment segname is created from
             the contents of file file. The combination of segname and 
             sectname must be unique  there cannot already be a 
             section (segname,sectname) from any other input.

GCC также имеет атрибут section, который может быть применен к переменной, чтобы сказать, что она принадлежит к нестандартной секции.