objcopy preenche o caminho do diretório para o nome do símbolo

Eu estou amarrando para usarobjcopy para incluir uma forma binária de um arquivo de texto em um executável. (Em tempo de execução eu preciso do arquivo como uma string). Isso funciona bem até que o vinculador precise encontrar as referências dos nomes dos símbolos. O problema é queobjcopy preenche os nomes dos símbolos com o nome do caminho para o arquivo. Desde que eu estou usando o GNU Autotools para enviar o pacote, este prefixo pathname muda e eu não sei qual símbolo de linker externo usar no programa C / C ++.

nm libtest.a |grep textfile
textfile.o:
00001d21 D _binary__home_git_textfile_end
00001d21 A _binary__home_git_textfile_size
00000000 D _binary__home_git_textfile_start

libtest.a foi produzido com (extrato de Makefile.am):

SUFFIXES = .txt
.txt.$(OBJEXT):
    objcopy --input binary --output elf32-i386 --binary-architecture i386 
SUFFIXES = .txt
.txt.$(OBJEXT):
    objcopy --input binary --output elf32-i386 --binary-architecture i386 $< $@
lt; $@

Como posso eu saberobjcopy apenas para nós o tronco do nome do arquivo como símbolos de linker? Ou há outra maneira de contornar o problema?

questionAnswers(4)

yourAnswerToTheQuestion