Hi Sebastian,
On Mon, May 28, 2018 at 6:39 AM, Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote: > Hello, > > on which board do the RISC-V BSPs run? The memory is located at 0x1000_0000. > None so far. I only ran in on Spike (RISC-V simulator). At the time of the port (2015), there were no hardware or boards for RISC-V > The FE310-G000 has the ROM at 0x2000_0000 and RAM (DTIM) at 0x8000_0000. > > The FU540-C000 (and Qemu "virt") has the ROM at 0x2000_0000 and RAM (DDR) at > 0x8000_0000. > > So, why is the memory at 0x1000_0000 and not 0x8000_0000? > That's basically a hack. The reason is when I tried to change RAM to 0x80000000 (above 2GiB), I get relocations errors even when I pass -mcmodel=medany (riscv-pk and seL4 but they don't use stdlib or startfiles from gcc). Maybe you can help with that error and suggest a solution as I don't know? The errors happen during linking stage of libc and crt* stuff. Please see error log below: riscv64-rtems5-gcc -mcmodel=medany -march=rv64imac -mabi=lp64 -Os -B/local/scratch/hmka2/Coding/RTEMS/build/riscv64-rtems5/c/riscv64_generic/lib/libbsp/riscv/riscv_generic -B/local/scratch/hmka2/Coding/RTEMS/rtems/bsps/riscv/riscv_generic/start -specs bsp_specs -qrtems -L./../../../../riscv64_generic/lib -L/local/scratch/hmka2/Coding/RTEMS/rtems/bsps/riscv/share d/start -Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -o loopback.exe loopback/loopback-init.o riscv64-rtems5-gcc -mcmodel=medany -march=rv64imac -mabi=lp64 -Os -B/local/scratch/hmka2/Coding/RTEMS/build/riscv64-rtems5/c/riscv64_generic/lib/libbsp/riscv/riscv_generic -B/local/scratch/hmka2/Coding/RTEMS/rtems/bsps/riscv/riscv_generic/start -specs bsp_specs -qrtems -L./../../../../riscv64_generic/lib -L/local/scratch/hmka2/Coding/RTEMS/rtems/bsps/riscv/share d/start -Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -o minimum.exe minimum/minimum-init.o /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/bin/ld: /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/rv64imac/lp64/crtbegin.o: in function `deregister_tm_clones': crtstuff.c:(.text+0x0): relocation truncated to fit: R_RISCV_HI20 against `__TMC_LIST__' /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/bin/ld: /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-findfp.o): in function `std': /local/scratch/hmka2/Coding/RTEMS/rtems-source-builder/rtems/build/riscv64-rtems5-gcc-7.3.0-newlib-3.0.0-x86_64-linux-gnu-1/build/riscv64-rtems5/rv64imac/lp64/newlib/libc/stdio/../../../../../../../gcc-7.3.0/newlib/libc/stdio/findfp.c:60:(.text+0x34): relocation truncated to fit: R_RISCV_HI20 against symbol `__sread' defined in .text section in /local/scratch/hmk a2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-stdio.o) /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/bin/ld: /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-locale.o): in function `_setlocale_r': /local/scratch/hmka2/Coding/RTEMS/rtems-source-builder/rtems/build/riscv64-rtems5-gcc-7.3.0-newlib-3.0.0-x86_64-linux-gnu-1/build/riscv64-rtems5/rv64imac/lp64/newlib/libc/locale/../../../../../../../gcc-7.3.0/newlib/libc/locale/locale.c:295:(.text+0x8): relocation truncated to fit: R_RISCV_HI20 against `.LC0' /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/bin/ld: /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-mbtowc_r.o): in function `__get_current_locale': /local/scratch/hmka2/Coding/RTEMS/rtems-source-builder/rtems/build/riscv64-rtems5-gcc-7.3.0-newlib-3.0.0-x86_64-linux-gnu-1/build/riscv64-rtems5/rv64imac/lp64/newlib/libc/stdlib/../../../../../../../gcc-7.3.0/newlib/libc/stdlib/../locale/setlocale.h:230:(.text+0x20): relocation truncated to fit: R_RISCV_HI20 against symbol `__global_locale' defined in .data secti on in /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-locale.o) /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/bin/ld: /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-strcpy.o): in function `__libc_detect_null': /local/scratch/hmka2/Coding/RTEMS/rtems-source-builder/rtems/build/riscv64-rtems5-gcc-7.3.0-newlib-3.0.0-x86_64-linux-gnu-1/build/riscv64-rtems5/rv64imac/lp64/newlib/libc/machine/riscv/../../../../../../../../gcc-7.3.0/newlib/libc/machine/riscv/sys/string.h:20:(.text+0x8): relocation truncated to fit: R_RISCV_HI20 against `.LC0' /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/bin/ld: /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-strlen.o): in function `strlen': /local/scratch/hmka2/Coding/RTEMS/rtems-source-builder/rtems/build/riscv64-rtems5-gcc-7.3.0-newlib-3.0.0-x86_64-linux-gnu-1/build/riscv64-rtems5/rv64imac/lp64/newlib/libc/machine/riscv/../../../../../../../../gcc-7.3.0/newlib/libc/machine/riscv/strlen.c:24:(.text+0x8): relocation truncated to fit: R_RISCV_HI20 against `.LC0' /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/bin/ld: /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-wctomb_r.o): in function `__get_current_locale': /local/scratch/hmka2/Coding/RTEMS/rtems-source-builder/rtems/build/riscv64-rtems5-gcc-7.3.0-newlib-3.0.0-x86_64-linux-gnu-1/build/riscv64-rtems5/rv64imac/lp64/newlib/libc/stdlib/../../../../../../../gcc-7.3.0/newlib/libc/stdlib/../locale/setlocale.h:230:(.text+0x1c): relocation truncated to fit: R_RISCV_HI20 against symbol `__global_locale' defined in .data secti on in /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-locale.o) /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/bin/ld: /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-__atexit.o): in function `__register_exitproc': /local/scratch/hmka2/Coding/RTEMS/rtems-source-builder/rtems/build/riscv64-rtems5-gcc-7.3.0-newlib-3.0.0-x86_64-linux-gnu-1/build/riscv64-rtems5/rv64imac/lp64/newlib/libc/stdlib/../../../../../../../gcc-7.3.0/newlib/libc/stdlib/__atexit.c:75:(.text+0x4): relocation truncated to fit: R_RISCV_HI20 against symbol `__atexit_recursive_mutex' defined in .bss section in /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-__call_atexit.o) /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/bin/ld: /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-__call_atexit.o): in function `__call_exitprocs': /local/scratch/hmka2/Coding/RTEMS/rtems-source-builder/rtems/build/riscv64-rtems5-gcc-7.3.0-newlib-3.0.0-x86_64-linux-gnu-1/build/riscv64-rtems5/rv64imac/lp64/newlib/libc/stdlib/../../../../../../../gcc-7.3.0/newlib/libc/stdlib/__call_atexit.c:79:(.text+0x4): relocation truncated to fit: R_RISCV_HI20 against `.LANCHOR0' /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/bin/ld: /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-fflush.o): in function `fflush': /local/scratch/hmka2/Coding/RTEMS/rtems-source-builder/rtems/build/riscv64-rtems5-gcc-7.3.0-newlib-3.0.0-x86_64-linux-gnu-1/build/riscv64-rtems5/rv64imac/lp64/newlib/libc/stdio/../../../../../../../gcc-7.3.0/newlib/libc/stdio/fflush.c:291:(.text+0x24e): relocation truncated to fit: R_RISCV_HI20 against symbol `_fflush_r' defined in .text section in /local/scratch /hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/rv64imac/lp64/libc.a(lib_a-fflush.o) /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/bin/ld: /local/scratch/hmka2/development/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/rv64imac/lp64/libgcc.a(_clzsi2.o): in function `__clzdi2': /local/scratch/hmka2/Coding/RTEMS/rtems-source-builder/rtems/build/riscv64-rtems5-gcc-7.3.0-newlib-3.0.0-x86_64-linux-gnu-1/build/riscv64-rtems5/rv64imac/lp64/libgcc/../../../../../gcc-7.3.0/libgcc/libgcc2.c:710:(.text+0x12): additional relocation overflows omitted from the output > -- > Sebastian Huber, embedded brains GmbH > > Address : Dornierstr. 4, D-82178 Puchheim, Germany > Phone : +49 89 189 47 41-16 > Fax : +49 89 189 47 41-09 > E-Mail : sebastian.hu...@embedded-brains.de > PGP : Public key available on request. > > Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. > -- Hesham _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel