Hi Boris,

sorry I forgot some details:

$ riscv64-unknown-elf-gcc helloworld.c -o binario.riscv ---> compiles and run.
The thing the helloworld I use includes "#include<omp.h>" because my
true workload needs this library.
$ riscv64-unknown-elf-gcc helloworld.c -fopenmp -o binario.riscv --->
won't compile
$ riscv64-unknown-linux-gnu-gcc helloworld.c -fopenmp -o binario.riscv
---> compiles
    if no interp-dir present ---> complains "failed to open
/lib/ld-linux-riscv64-lpd64d.so.1"
    with interp-dir ---> complains "Someone allocated physical memory ..."


The output of file is:
binario.riscv: ELF 64-bit LSB executable, UCB RISC-V, RVC,
double-float ABI, version 1 (SYSV), dynamically linked, interpreter
/lib/ld-linux-riscv64-lp64d.so.1, for GNU/Linux 4.15.0, with
debug_info, not stripped

I'm not shure what flags for objdump would be helpful and I don't want
to clutter this message. Please let me know if you need it.

Thanks for answering,
Felipe

On 4/29/22, Boris Shingarov <shinga...@labware.com> wrote:
> Felipe,
>
> What do `file` and `riscv-linux-gnu-objdump` (or whatever your
> cross-toolchain calls objdump) say about `binario.riscv`?  I don't know
> where that "--interp-dir sysroot" in your output came from, but it
> smells like we are dealing with dynamic-ELF here and I suggest you start
> from the much simpler static-ELF first.  What happens if you invoke gcc
> manually with something like
>
> riscv-linux-gnu-gcc -o binario.riscv helloworld.c
>
> does that work?
>
> Regards,
>
> Boris
>
> On 4/29/22 02:12, Felipe Vega wrote:
>> Hi,
>>
>> I know it might be a basic question, and I've seen it asked in similar
>> form but can't find (understand, really) the answer. I'm trying to run
>> a simple program in SE mode using the GNU cross compiler toolchain.
>> When i run it i get the following output:
>> -------------------------------------------------------------------------------------------
>> gem5 version 21.2.1.0
>> gem5 compiled Apr 23 2022 01:10:08
>> gem5 started Apr 29 2022 01:34:49
>> gem5 executing on fvAIO, pid 32017
>> command line: build/RISCV/gem5.opt configs/example/se.py --interp-dir
>> /opt/riscv/sysroot/ --cmd ../../versionC/c/binario.riscv
>>
>> Setting the interpreter path to: /opt/riscv/sysroot/
>> For dynamically linked applications you might still need to setup the
>> --redirects so that libraries are found
>>
>> Global frequency set at 1000000000000 ticks per second
>> warn: No dot file generated. Please install pydot to generate the dot
>> file and pdf.
>> build/RISCV/mem/mem_interface.cc:791: warn: DRAM device capacity (8192
>> Mbytes) does not match the address range assigned (512 Mbytes)
>> 0: system.remote_gdb: listening for remote gdb on port 7000
>> **** REAL SIMULATION ****
>> build/RISCV/sim/simulate.cc:194: info: Entering event queue @ 0.
>> Starting simulation...
>> build/RISCV/sim/mem_state.cc:443: info: Increasing stack size by one
>> page.
>> build/RISCV/sim/mem_state.cc:99: panic: Someone allocated physical
>> memory at VA 0x4000000000000000 without creating a VMA!
>> -----------------------------------------------------------------------
>>
>> I get this output even when I use a "Hello World" program.
>> Browsing on the project folders I found examples of compilation for
>> x86 using docker, so I tried to run it using gcc and the Makefile
>> found in the project, and again the gcc (v 11.2.0) doesn't work but
>> the docker version does.
>>
>> Is this the issue, do I have to compile the RISCV version using a
>> similar method, in which case how can I do that? Am I missing
>> something obvious? Sorry if its too RTFM but I really don't
>> understand?
>> _______________________________________________
>> gem5-users mailing list -- gem5-users@gem5.org
>> To unsubscribe send an email to gem5-users-le...@gem5.org
>
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to