objcopy dodaje ścieżkę do katalogu do nazwy symbolu

Wiążę się z używaniemobjcopy włączenie binarnej postaci pliku tekstowego do pliku wykonywalnego. (W czasie wykonywania potrzebuję pliku jako łańcucha). Działa to dobrze, dopóki linker nie musi znaleźć odniesień z nazw symboli. Problemem jestobjcopy poprzedza nazwy symboli ścieżką do pliku. Ponieważ używam GNU Autotools do wysyłania pakietu, ta zmieniona nazwa ścieżki zmienia się i nie wiem, jaki zewnętrzny symbol linkera użyć w programie 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 został wyprodukowany z (wyciąg z 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; $@

Jak mogę powiedziećobjcopy tylko dla nas trzon nazwy pliku jako symbole łącznika? Czy jest inny sposób na rozwiązanie tego problemu?

questionAnswers(4)

yourAnswerToTheQuestion