Я собираю ядро Android Nexus One из исходного кода, как можно найти на сайте разработчиков HTC . Я получил цепочку инструментов ARM, набрав android NDK с сайта android dev. Я могу запускать make clean и make defconfig без происшествий, но когда я запускаю make, он только добивается успеха перед тем, как столкнуться с ошибками компилятора.
В настоящее время я вижу следующее:
$ MY_DIR / nexus_one / arch / arm / include / asm / glue.h: 156: 29: ошибка: '#' не сопровождается параметром макроса
Оскорбительная строка:
1 /*
2 * Instruction Fault Status Register. (New register as of ARMv6)
3 * If processor has IFSR then set value, else set translation fault
4 */
5 #if defined(CONFIG_CPU_ABRT_EV7) || defined(CONFIG_CPU_ABRT_EV6)
6 # define CPU_PABORT_IFSR(reg) mrc p15, 0, reg, cr5, cr0, 1 @asm macro;
7 #else
8 # define CPU_PABORT_IFSR(reg) mov reg, #5 @asm macro;
9 #endif
В частности, строка 8 выше - это то, что содержит компилятор. Очевидно, у вас не может быть этого второго знака #, но я не совсем уверен, что происходит в этом коде, и он выглядит довольно важным, поэтому я не хочу его трогать.
Полагаю, я собираю не ту цепочку инструментов, может быть? Или, может быть, я как-то неправильно настроил? Кто-нибудь знает, что это такое?
спасибо,
Брайен