Я пытаюсь создать gcc 4.6, который "просто работает" на Synology DS214 с DSM 5.1 (ОС Synology, которая по сути является ужасно устаревшей Linux 3.2.x), т.е. позволяет мне компилировать приложения на коробке. Я испытываю ту же проблему с обоими скомпилированными GCC, созданными с

env CC=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc \
LD=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ld \
RANLIB=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ranlib \
AR=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ar \
CFLAGS=" -I/usr/local/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/include -mhard-float -mfpu=vfpv3-d16" \
LDFLAGS=" -L/usr/local/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/lib" \
auto-apt run ./configure --host=arm-marvell-linux --target=arm-marvell-linux \
--prefix=$USER/syno-prefix --disable-shared --enable-obsolete
make 
make install

с набором инструментов Synology в Ubuntu 14.10 amd64 и рекомендуемыми параметрами для процессора armadaxp и набором инструментов crosstools-ng (сайт проекта) с eglibc 2.18, gcc 4.6.4, linux 3.2.40 и уровнями architecture-level s armv7-a и armadaxp (последнее не работает, ошибка "Неизвестная арка") и настройка процессора для cortex-a9 и CFLAGS -mhard-float -mfpu=vfpv3-d16" потому что после нескольких часов поиска единственным указанием на необходимые параметры архитектуры было руководство по компиляции Передача на устройстве MyCloud с armv7l.

Как кросс-скомпилированный gcc и набор инструментов вызывают ошибку

/usr/local/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: armelf_linux armelf armelfb armelfb_linux
collect2: ld returned 1 exit status

config.log) при компиляции, например, binutils 2.24 и trafficserver 5.1.0 (добавление LDFLAGS=" -marmelf_linux" до того, как конфигурация вызывает cc1: error: unrecognized command line option '-marmelf_linux'). Ошибка кажется систематической. Как начать выяснять конкретные аппаратные параметры для параметров набора инструментов в целом и в особенности для обозначенного устройства?

Некоторые сведения о цели, где должен запускаться gcc :

# cat /proc/cpuinfo 
Processor   : Marvell PJ4Bv7 Processor rev 2 (v7l)
processor   : 0
BogoMIPS    : 1064.96

processor   : 1
BogoMIPS    : 1064.96

Features    : swp half thumb fastmult vfp edsp vfpv3 tls 
CPU implementer : 0x56
CPU architecture: 7
CPU variant : 0x2
CPU part    : 0x584
CPU revision    : 2

Hardware    : Marvell Armada XP Development Board
Revision    : 0000
Serial      : 0000000000000000

Я пытался начать с чтения о ARM и единицах с плавающей запятой (в основном в Википедии), но для того, чтобы угадать, какие параметры необходимы, нужно много для начала.

РЕДАКТИРОВАТЬ 1: Я только что понял, что было бы хорошо, чтобы установить параметр Toolchain type на Canadian а не Cross , но тогда я все еще crosstools-ng требует, чтобы была установлена опция machine (сбой с ошибкой Invalid configuration `': machine `' not recognized), что возвращает меня к проблеме отсутствия знаний о процессорах и деталях архитектуры - и, конечно, нет способа выяснить, что на самом деле означает "машина" ...

0