LINUX.ORG.RU

GCC on Allwinner A10

 , , ,


2

2

Добрый вечер! Я тут экспериментирую с gentoo на A10. Решил собрать себе кросс-компилятор, но вот незадача: если на самом кубике я использую armv7a-hardfloat-linux-gnueabi-gcc, то у crossdev-ng его нет, есть только arm-cortex_a8-linux-gnueabi. Не совсем понимаю, это все таки разные компиляторы? Объясните пожалуйста нубу.

CFLAGS:

-march=armv7-a -mfloat-abi=hard -mfpu=neon -ftree-vectorize -mvectorize-with-neon-quad -mcpu=cortex-a8 -mtune=cortex-a8 -O2 -pipe --param=ssp-buffer-size=4 -fomit-frame-pointer

★★

Последнее исправление: shooter93 (всего исправлений: 1)

Ответ на: комментарий от armbox

Конечно нет, кросс-компилятор собираю на ноутбуке.

Кстати, была идея поднять виртуалку с гентой, и на ней, используя crossdev собрать armv7a-hardfloat-linux-gnueabi-gcc. В нем то есть этот компилятор. Но, лучше бы без виртуальной машины.

shooter93 ★★
() автор топика

за пару лет экспериментов, флаги компиляции на A10 у меня пришли к таким :

CFLAGS="-O2 -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -mthumb"

armbox
()
Ответ на: комментарий от shooter93

я собирал ядро сначала в виртуалке с гентой, потом стал на самом устройстве компилить, кросс-компилятор для ядра нужен ?

armbox
()
Ответ на: комментарий от armbox

C -mthumb кстати, не собирается libmad вроде. Потому что не применяется исправляющий сборку патч из дебиана.

shooter93 ★★
() автор топика
Ответ на: комментарий от armbox

Ты мне свой предлагаешь? Пока для ядра, потом думаю distcc использовать.

А этим arm-cortex_a8-linux-gnueabi опять ядро неработоспособное собирается. Ну им то ладно, я впервые компилю, да еще и кроссом.

Но вот почему оно перестало собиратся armv7a-hardfloat-linux-gnueabi-gcc 4.7.4 на самой железке? Надо вспоминать, что могло поменяться.

shooter93 ★★
() автор топика
Ответ на: комментарий от shooter93

Ты мне свой предлагаешь?

не, эт я спросил что именно ты собираешься кросс-компилятором собирать

А этим arm-cortex_a8-linux-gnueabi опять ядро неработоспособное собирается.

из-за того что в gentoo дефолтные компилятор и кросс-компилятор версии 4.8, в wiki sunxi даже warning есть по этой теме - http://linux-sunxi.org/Toolchain

armbox
()
Ответ на: комментарий от shooter93

C -mthumb кстати, не собирается libmad вроде.

у меня в /etc/portage/package.env

media-libs/libmad no-thumb
sys-libs/db no-thumb

и в /etc/portage/env/no-thumb

CFLAGS="${CFLAGS} -marm"
CXXFLAGS="${CFLAGS}"
armbox
()
Ответ на: комментарий от shooter93

А каким компилятором лучше ядро собирать? Ванильным, или от Linaro? Какой версией?

Ядро собираю и на A10 и на A20 с GCC 4.6.4 от Linaro. 
Тестил разные версии компилятора, в итоге на linaro 4.6.4 всё стабилизировалось, а с другими - вроде и нормально компилится и работает, но потом начинают вылазить мутные проблемы - то wifi отвалится, то вообще kernel panic случиться.
У меня куча времени ушло, пока понял что проблема в компиляторе, а не в чём то ещё.
armbox
()
Ответ на: комментарий от armbox

Собрал gcc-linaro-4.7 из оверлея init6, а он:

configure: error: C compiler cannot create executables

#cc test.c
/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/4.7.4/../../../../armv7a-hardfloat-linux-gnueabi/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
shooter93 ★★
() автор топика
Ответ на: комментарий от armbox

Пока развернул виртуальную машину с гентой и собираю кросс-компилятор:

localhost ~ # time crossdev --b =2.24-r3 --g =linaro-4.7_p201401 --k =3.4.75.sun4i+ --l =2.20 -t armv7a-hardfloat-linux-gnueabi

shooter93 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.