русский
Germany.ruForen → Архив Досок→ Programmierung

Куда при сборке gcc с сорсов написать -mfloat-abi=hard ?

24.03.21 08:29
Re: Куда при сборке gcc с сорсов написать -mfloat-abi=hard ?
 
wasja-de посетитель
in Antwort Wanderer_ 23.03.21 22:25, Zuletzt geändert 24.03.21 09:34 (wasja-de)

Какой у Вас toolchain на плате стоит?


Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/arm-angstrom-linux-gnueabi/6.2.1/lto-wrapper
Target: arm-angstrom-linux-gnueabi
Configured with: ../../../../../../work-shared/gcc-linaro-6.2-r2016.11/git/configure --build=x86_64-linux --host=arm-angstrom-linux-gnueabi --target=arm-angstrom-linux-gnueabi --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/build/jenkins/v2016.12/machine/ifc6410/build/tmp-angstrom-glibc/sysroots/ifc6410 --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=arm-angstrom-linux-gnueabi- --without-local-prefix --enable-lto --enable-libssp --enable-libitm --disable-bootstrap --disable-libmudflap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --without-isl --with-float=hard --with-sysroot=/ --with-build-sysroot=/build/jenkins/v2016.12/machine/ifc6410/build/tmp-angstrom-glibc/sysroots/ifc6410 --with-gxx-include-dir=/usr/include/c++/6.2.1 --without-long-double-128 --enable-nls --enable-initfini-array --with-arch=armv7-a
Thread model: posix
gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11)


Пробовали другой toolchain поставить? Вот здесь есть список.


Не получается, в ангстреме нет, другие не ставятся, вернее у меня не получилось.


Пробовали на Вашем Host PC этот GCC собрать?


надо cross-native, я несколько раз пробовал собирать на 9.3 и 10.2, но так и не получилось. crosstool-ng ставил, пытался с его помощью собрать, но, не все до конца понял и поставить не смог.


Почему не хотите поставить на вашем компьютере кросс компилятор для АРМа и на нём же делать компиляцию и отладку для дев-платы?

Нет, так нельзя. Если использовать софт с кросс-компилятора, то производительность будет около 200МФлоп/с, а если оптимизировать на самом арме, то где-то 1.5ГФлопс. Для меня эта разница критична. Оптимизация получается перекомпиляцией сотни вариантов с учетом размеров кеша и конвейерности инструкций, это очень сложно сделать даже для своего софта через cross-compile, а тут используется еще много стороннего софта, который не позволяет делать такую оптимизацию через cross-compile. Я не готов тот же атлас переписать. Я технически понимаю как это сделать, но по времени это на пару лет разработки может потянуть.

 

Sprung zu