LINUX.ORG.RU

Как подставить в CROSS_COMPILE arm-linux-gnueabi-gcc-8?

 , ,


1

2

В Debian установлен кросскомпилятор который имеет наименование arm-linux-gnueabi-gcc-8, что необходимо передать в параметр CROSS_COMPILE что бы он нашел этот компилятор, делать ln -s arm-linux-gnueabi-gcc-8 arm-linux-gnueabi-gcc кажется слишком грубым.

★★★★★

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

ln -s arm-linux-gnueabi-gcc-8 arm-linux-gnueabi-gcc кажетсья слишком грубым.

а придётся

Harald ★★★★★
()

может какая тулза есть, которая автоматически симлинки делает, в зависимости от выбранной версии

Harald ★★★★★
()

Ну, можно так, чтобы локально было:

mkdir tchain
cd tchain
ln -s arm-linux-gnueabi-gcc-8 arm-linux-gnueabi-gcc
PATH="$PWD:$PATH"
make -С where/to CROSS_COMPILE=arm-linux-gnueabi-
xaizek ★★★★★
()
Ответ на: комментарий от xaizek

Халтура

include/linux/compiler-gcc.h:106:1: fatal error: linux/compiler-gcc8.h: Нет такого файла или каталога
 #include gcc_header(__GNUC__)
 ^~~~
splinter ★★★★★
() автор топика
Ответ на: комментарий от cvv

Нахрен, надоели эти страпоны, лучше слаку накачу.

splinter ★★★★★
() автор топика
Ответ на: Халтура от splinter

Значит надо скриптом, а не ссылкой делать. Забыл, что он будет искать по относительным путям.

xaizek ★★★★★
()
Ответ на: комментарий от splinter
$ head -1 /etc/os-release 
NAME=Slackware

Я не знаю, чего это они в Debian сделали, но через один CROSS_COMPILE это не разрулить, оно же префикс задаёт.

Кстати, там же и CC должен быть, наверное. Тогда просто:

make CC=gcc-8 CROSS_COMPILE=...
xaizek ★★★★★
()
Последнее исправление: xaizek (всего исправлений: 1)
Ответ на: комментарий от xaizek
splinter@bastile:~/workspace/5/linux/linux-3.18.20$ make CC=gcc-8 CROSS_COMPILE=arm-linux-gnuaebi- zImage ARCH=arm 
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: «include/generated/mach-types.h» не требует обновления.
  CC      kernel/bounds.s
gcc-8: error: unrecognized argument in option ‘-mabi=apcs-gnu’
gcc-8: note: valid arguments to ‘-mabi=’ are: ms sysv
gcc-8: error: unrecognized command line option ‘-mlittle-endian’; did you mean ‘-fconvert=little-endian’?
gcc-8: error: unrecognized command line option ‘-mapcs’; did you mean ‘-maes’?
gcc-8: error: unrecognized command line option ‘-mno-sched-prolog’; did you mean ‘-Wno-sign-promo’?
make[1]: *** [Kbuild:36: kernel/bounds.s] Ошибка 1
make: *** [Makefile:980: prepare0] Ошибка 2
splinter ★★★★★
() автор топика
Ответ на: комментарий от splinter

Моя последняя попытка (сломается на LD скорее всего):

make CC=arm-linux-gnuaebi-gcc-8 CROSS_COMPILE=arm-linux-gnuaebi- zImage ARCH=arm

Можно все нужные переменные явно указать, но то ещё извращение.

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

Всем спасибо, вернулся в slackware.

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