首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Riscv GCC 4.9.2不能编译linux 3.14.29

Riscv GCC 4.9.2不能编译linux 3.14.29
EN

Stack Overflow用户
提问于 2015-04-25 02:42:04
回答 2查看 556关注 0票数 2

当我使用riscv gcc (verison4.9.2)编译linux(3.14.29版)时,我遇到了一些错误,看起来gcc无法识别某些操作码,我如何解决这个问题?把gcc改为4.6版?谢谢

代码语言:javascript
复制
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.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-30 23:07:31

存储库中存在不匹配(这可能不是您的错)。您可以尝试检查"new_privileged_isa“分支,但问题是RISC-V特权规范(截至2015年4月30日)仍在变化中,我们不能保证分支机构的负责人都能一起工作。

票数 2
EN

Stack Overflow用户

发布于 2015-04-26 01:34:31

Chris,我使用以下方法安装riscv-tools:

代码语言:javascript
复制
git clone https://github.com/riscv/riscv-tools.git
git submodule update --init --recursive
./build.sh

并使用以下方法获取linux源代码:

代码语言:javascript
复制
 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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29860388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档