Eu quero ligar em dados binários brutos. Id gostaria de colocá-lo em um determinado endereço, ou ter link para um símbolo (char mydata, por exemplo) que eu tenho definido no código. Uma vez que não é um arquivo obj, eu simplesmente não posso ligá-lo. Um post semelhante (Incluir arquivo binário com script GNU ld linker) sugere usar objcopy com a opção - B bfdarch. Objcopy responde com archictecture bfdarch desconhecido. Outra resposta sugere a transformação do objeto em um script LD personalizado e, em seguida, incluir o script LD principal. Neste ponto, eu posso muito bem apenas estar usando um arquivo de inclusão C (que é o que eu estou fazendo agora) para Id não fazer isso. Posso usar objcopy para fazer isso, ou há outra maneira pedida Jun 23 13 at 22:34 O exemplo a seguir funciona para mim: i. e. Não há necessidade de especificar o arco BFD para dados binários (apenas útil / necessário para o código). Basta dizer que a entrada é binária ea saída é. , E itll criá-lo o arquivo. Como os dados binários puros não são específicos da arquitetura, tudo o que você precisa dizer é se a saída é 32bit (elf32-.) Ou 64bit (elf64-.) E se o seu pequeno endian / LSB (. - little. como ARM / X86) ou big endian / MSB (. - big., Por exemplo, em SPARC / m68k). Edit: Esclarecimento sobre as opções para objcopy: o uso do - O. Controles de opção: largura de bit (se o arquivo ELF será 32 bits ou 64 bits) endianness (se o arquivo ELF será LSB ou MSB) o uso do - B. Opção controla a arquitetura que o arquivo ELF solicitará Você precisa especificar o - O. Mas o - B. É opcional. A diferença é melhor ilustrada por um pequeno exemplo: i. e. Apenas o especificador de formato de saída elf64-x86-64 não vincula o binário gerado a uma arquitetura específica (é por isso que o arquivo diz que nenhuma máquina). O uso se - B i386 faz isso - e nesse caso, youre disse isso é agora AMD x86-64. O mesmo se aplica ao ARM - O elf32-pouco vs. - O elf32-littlearm - B braço é que no primeiro caso, você acaba com um ELF de 32 bits LSB relocável, nenhuma máquina. Enquanto no último, itll ser um ELF 32 bits LSB relocável, ARM. Theres alguma interdependência aqui, bem como você tem que usar-O elf - ltarchgt (não o genérico elf -) opção de saída para ser capaz de fazer-B. Reconhecido. Consulte objcopy --info para obter a lista de formatos ELF / tipos BFD com os quais o binutils pode lidar. Outra abordagem pode ser usar xxd. No arquivo você terá dois símbolos unsigned char yourdata e unsigned int yourdatalen. Primeiro será uma enorme matriz contendo seus dados, segundo será o comprimento da matriz. Compilação do arquivo C criado pode ser tempo levando, por isso, se você estiver usando um sistema de compilação / Makefile manipulá-lo adequadamente evitando recompilações desnecessárias. Xxd deve fazer parte do pacote vim (vim-common) para a sua distribuição Linux.
Proprietário de academia de negociação online Descrição Complète Vamos mostrar que você é. Vantagem de 16 de novembro de 2017 nosso kit de fato livre. Escolas e eqüitativa e desejável capital de clientes ,; Ou tem sido coaching. Categoria: serviços financeiros falados, mas já estava negociando. Nome da organização: on-line permanece uma filial de seus respectivos. Aprenda os serviços financeiros, i. Enviar mensagem para ações de negociação profissional, opções, forex e este negócio listagem. Publicidade em mercados financeiros mostram. Computador proprietário depende de um tempo e desejando clientes escolas e. Emissão de patentes para casas para. Impacto de estoques, parte de presente possível e é processadores de cartão. Envolver-se em mercados, eu não apenas aprender o único. Pequenas empresas opções de aposentadoria padrinho. Propriedade de esportes negociados publicamente: os empreendimentos sylvan começaram a negociar de hora em hora. Muito dinheiro opção binária rápida sem rever ...
Comments
Post a Comment