is there a solution to solve "Someone allocated physical memory at VA 0x400000...0 without creating a VMA"?

266 views Asked by At

I'm trying to use cross-compiler to compile a c file to a RISCV executable program which is simply to print the thread id. the program uses pthrad.h and print the thread id in a for circle. there are just simply thread_creat(), thread_deatch() I use gcc to complie the file to a X86 program and it runs well. However, when I use riscv-linux-gnu-gcc to compile the file to a RISCV program and the gem5 where the program runs will report the error as follows enter image description here So I tried to use --debug-flags= to make clear where it goes wrong, but I get a message that I can't understand enter image description here for this, I have checked there is a ld.so.cache file in my linux system. Though I know what is VMA, there is not document or hint telling me how to manage this problem such as how to creat VMA in gem5. I hope to reap some help from you. Thank you!

0

There are 0 answers