Подтвердить что ты не робот

Clang Cross Compiling для ARM?

Можно ли настроить Clang для кросс-компиляции для процессора ARM? Хост, скорее всего, будет на x86 (AMD64 - вероятно Ubuntu 12.04), и целью будет ARM (Raspberry Pi, а также Pandaboard - сделают отдельные компиляции для каждого), я могу в какой-то момент также захотеть перебрать компиляцию для архитектуры PowerPC? Источник программы находится в C.

4b9b3361

Ответ 1

Для кросс-компиляции для Raspberry Pi, выполняющего soft-float Linux-дистрибутивы, добавляет флаги -ccc-host-triple arm-eabi -marm -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=softfp

Для кросс-компиляции для Raspberry Pi, использующего жесткие диски Linux, используют флаги -ccc-host-triple arm-eabi -marm -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard

Для кросс-компиляции для использования Pandaboard используйте флаги -ccc-host-triple arm-eabiv7 -mthumb -mfpu=neon-fp16 -mcpu=cortex-a9 -mtune=cortex-a9 -mfloat-abi=hard (предполагая, что ваш Pandaboard запускает Ubuntu)

Примечание: более поздняя версия clang использует -target вариант вместо -ccc-host-triple

Ответ 2

См. EmbToolkit проект. Это дает возможность генерировать clang/llvm или gcc на основе кросс-компилятора.