Was ist GCC lto-wrapper?
Bin ich mit buildroot zu bereiten Bilder für embedded Systems. Ich will export-buildroots interne cross-compiler, so dass andere verwenden können, gleiche version, Nach Befehl überprüfen GCC-version: arm-linux-gcc -v
sehe ich konfiguriert COLLECT_LTO_WRAPPER
statischen Speicherort auf meine HDD
COLLECT_LTO_WRAPPER=/home/user/arm/buildroot/output/host/usr/libexec/gcc/arm-unknown-linux-uclibcgnueabi/4.7.1/lto-wrapper
Es wird nicht korrekt auf einem anderen system.
Ich war nur in der Lage zu finden, dass LTO bedeutet Link Time Optimization. Können Sie bitte erklären, was ist lto-wrapper verwendet und wenn nötig wird?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim kompilieren eine ausführbare Datei, gcc optimieren und Zusammenführen von gleichen Konstanten nur für die aktuelle Datei. Normalerweise, kann es nicht analysieren, das ganze Programm, da die
.o
Datei verknüpft sind mit ld.Das ist der Zweck der Interprozedurale Optimierung: Kompilieren Sie das ganze Programm, wenn es einen einzigen Quell-Datei, so dass, um den code mehr statisch.
Es ist ein problem, LD kann nicht wirklich erkennen, die exportiert GIMPLES.
Für diesen Zweck ld verwenden Sie die lto-plugin(liblto_plugin.so.0.0.0) die call oder die
lto-wrapper
direkt dem Aufruf der lto1, wo jeder lto1-lauch ist verantwortlich für die Herstellung einer "partition" (siehe das -flto-partition option und die lto-Partitionen-parameter in der gcc-Dokumentation).