прочитав этот ответ, я сразу подумал про себя:
Почему именно я должен сказать, это Little или Big Endian? Означает ли это, что вместо того, чтобы просто копировать мои двоичные входные данные, objcopy
каким-то образом искажает данные, в зависимости от выбранного Endianess?
Пример под рукой был:
objcopy -I binary -O elf(32|64)-(big|little) binblob binblob.o
Если это действительно двоичные данные, objcopy
это не должно волновать, верно? Что бы ни считывало данные позже, это необходимо, но objcopy
не должно...
Изменяет ли objcopy
данные на основе разрядности и порядка байтов, заданных параметром -O
?
0xf0b2
. В системе с обратным порядком байтов эти два байта хранятся0xf0
и0xb2
(именно в таком порядке), а в системе с прямым порядком байтов байты хранятся в порядке0xb2
, за которым следует0xf0
. Если вы используете неправильный порядок следования байтов, вместо этого вы можете получить значение0xb2f0
. - person Some programmer dude   schedule 31.07.2019-B
, как он это выведет? В конце концов, ни один изelf32-big
,elf32-little
,elf64-big
,elf64-little
не зависит от архитектуры... но нет ничего похожего наelf-binary
bfdname. - person 0xC0000022L   schedule 31.07.2019binblob.o
? Как он был создан? Если это объектный файл ELF, порядок байтов будет указан в заголовке ELF. Как и размер слова (32 или 64 бита). - person Some programmer dude   schedule 31.07.2019objcopy
тоже делает такое предположение, и если да, то как он коверкает данные? И последнее, но не менее важное: было бы намного проще, если бы мне вообще не нужно было задавать конкретное bdfname, поскольку данные, которые я хочу сохранить, не должны интерпретироваться как какой-то тип C (и если бы это было так, я бы позаботился о преобразовании в код... Обещаю ;)). - person 0xC0000022L   schedule 31.07.2019