We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Dear all,
I use arm-none-eabi-gcc 7.2.1 in my project, when I want to use -flto option to optimize bin size, error shows:
../../../tools/gcc/linux/gcc-arm-none-eabi/bin/arm-none-eabi-ar: creating /proj/lib_m.a../../../tools/gcc/linux/gcc-arm-none-eabi/bin/arm-none-eabi-ar: /proj/src/n1.o: plugin needed to handle lto object../../../tools/gcc/linux/gcc-arm-none-eabi/bin/arm-none-eabi-ar: /projsrc/nb_data.o: plugin needed to handle lto object
what's wrong with my code?
Thank you for your replay.
Please could you provide the complete command-line you use? Also, could you please let us know where did you get arm-none-eabi-gcc 7.2.1 from? It would help us triage the issue if you could give us a small test case that demonstrates the symptom you're observing.
Hi,
I've managed to reproduce your issue. Here are the steps I tried:
$ arm-none-eabi-gcc -c -O2 -flto foo.c -o foo.o
$ arm-none-eabi-gcc -c -O2 -flto bar.c -o bar.o
$ arm-none-eabi-ar -vr libfoobar.a foo.o bar.o
arm-none-eabi-ar: foo.o: plugin needed to handle lto object
Try giving a --plugin option to your ar command-line:
$ arm-none-eabi-ar -vr --plugin .../path/to/liblto_plugin.so libfoobar.a foo.o bar.o
liblto_plugin.so usually resides in .../path/to/gcc/install/bin/libexec/gcc/7.2.1/liblto_plugin.so
sorry for late, I have resolved the problem, in build I add -ffat-lto-objects, and in link I add --use-linker-plugin, so the "plugin needed to handle lto object" message appear no more!