Riscv GCC 4.9.2 can';t编译linux 3.14.29
当我使用riscv gcc(verison 4.9.2)编译linux(版本3.14.29)时,我遇到了一些错误,gcc似乎无法识别某些操作码,我该如何解决?是否将gcc更改为4.6版?谢谢Riscv GCC 4.9.2 can';t编译linux 3.14.29,gcc,compiler-errors,linux-kernel,version,riscv,Gcc,Compiler Errors,Linux Kernel,Version,Riscv,当我使用riscv gcc(verison 4.9.2)编译linux(版本3.14.29)时,我遇到了一些错误,gcc似乎无法识别某些操作码,我该如何解决?是否将gcc更改为4.6版?谢谢 root@riscv-VirtualBox:/home/riscv/riscv/linux-3.14.29# make ARCH=riscv scripts/kconfig/conf --silentoldconfig Kconfig ...... /home/riscv/riscv/linux-3.1
root@riscv-VirtualBox:/home/riscv/riscv/linux-3.14.29# make ARCH=riscv
scripts/kconfig/conf --silentoldconfig Kconfig
......
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h: Assembler messages:
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h:22: Error: Instruction csrc requires absolute expression
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h:22: Error: Instruction csrc requires absolute expression
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h:10: Error: Instruction csrr requires absolute expression
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h:22: Error: Instruction csrc requires absolute expression
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h:22: Error: Instruction csrc requires absolute expression
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h:10: Error: Instruction csrr requires absolute expression
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h:16: Error: Instruction csrs requires absolute expression
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h:16: Error: Instruction csrs requires absolute expression
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h:10: Error: Instruction csrr requires absolute expression
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h:16: Error: Instruction csrs requires absolute expression
/home/riscv/riscv/linux-3.14.29/arch/riscv/include/asm/irqflags.h:16: Error: Instruction csrs requires absolute expression
make[1]: *** [init/main.o] Error 1
make: *** [init] Error 2
root@riscv-VirtualBox:/home/riscv/riscv/linux-3.14.29# riscv64-unknown-elf-gcc --version
riscv64-unknown-elf-gcc (GCC) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Chris,我使用以下方法安装RICV工具:
git clone https://github.com/riscv/riscv-tools.git
git submodule update --init --recursive
./build.sh
并使用以下方法获取linux源代码:
curl https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.29.tar.xz | tar -xJ
cd linux-3.14.29
git init
git remote add origin https://github.com/riscv/riscv-linux.git
git fetch
git checkout -f -t origin/master
您的存储库中存在不匹配(这可能不是您的错)。您可以尝试查看“new_privileged_isa”分支机构,但问题是RISC-V特权规范(截至2015年4月30日)仍在不断变化,我们无法保证分支机构的负责人都能协同工作 您正在使用riscv工具的主分支和riscv linux的主分支吗?(不是riscv gnu工具链的主分支,而是riscv工具主repo所指的任何提交)。是的,我使用了riscv工具的主分支和riscv linux的主分支,请参见下面我的安装步骤下面是我安装riscv工具和linux的步骤,有什么错误吗?谢谢你,我将尝试“新特权”分支机构查看“新特权”分支机构为我工作。谢谢。