riscvarchive / riscv-linux

RISC-V Linux Port
606 stars 210 forks source link

When compile linux kernel got error 'Error: Instruction csrr requires absolute expression' #40

Closed Shell32-Natsu closed 8 years ago

Shell32-Natsu commented 8 years ago

The error messages are

CC      arch/riscv/kernel/time.o
arch/riscv/kernel/time.c: Assembler messages:
arch/riscv/kernel/time.c:51: Error: Instruction csrr requires absolute expression
arch/riscv/kernel/time.c:15: Error: Instruction csrr requires absolute expression
scripts/Makefile.build:258: recipe for target 'arch/riscv/kernel/time.o' failed
make[1]: *** [arch/riscv/kernel/time.o] Error 1
Makefile:948: recipe for target 'arch/riscv/kernel' failed
make: *** [arch/riscv/kernel] Error 2

I have tried riscv64-unknown-linux-gnu-gcc compiled from the riscv-tools master branch and priv-1.9 branch but they all report error. The version of my kernel source code is 4.1.31.

Shell32-Natsu commented 8 years ago

I change to 4.6.7 kernel and use priv-1.9 branch of riscv-linux. All things work well.