Каков «правильный» способ определения цели и архитектуры для GNU binutils? - PullRequest
3 голосов
/ 21 марта 2011

В моей цепочке сборки мне нужно сделать следующее:

objcopy -I binary -O $BFDNAME -B $BFDARCH <this> <that>

чтобы получить двоичный файл в виде библиотеки. Поскольку я хочу, чтобы другие люди могли использовать это, мне нужно знать, как получить $ BFDNAME и $ BFDARCH из их цепочки инструментов, когда они запускают сборку. Я могу получить значения локально, запустив objdump -f для файла, который я уже создал, но есть ли лучший способ, который не оставит меня при компиляции одноразовых файлов только для получения значений конфигурации?

Ответы [ 2 ]

3 голосов
/ 31 июля 2012

Спасибо, что указали на это, обычный фрай!Ваш ответ помог мне найти другое решение, которое работает без указания архитектуры:

ld -r -b binary -o data.o data.txt

В моей системе (Ubuntu Linux, binutils 2.22) подходы objcopy и ld создают идентичные объектные файлы.

Весь кредит поступает на: http://stupefydeveloper.blogspot.de/2008/08/cc-embed-binary-data-into-elf.html

1 голос
/ 28 марта 2011

Для дальнейшего использования ответ выглядит следующим образом: : первая запись в выводе objdump -i является стандартным форматом системы по умолчанию.

...