section `.dram0.bss' will not fit in region `dram0_0_seg' -> But .bss Map does not cointain that much :-(

ThomasChr
Posts: 2
Joined: Sat Aug 24, 2019 11:35 am

section `.dram0.bss' will not fit in region `dram0_0_seg' -> But .bss Map does not cointain that much :-(

Postby ThomasChr » Sat Aug 24, 2019 11:43 am

Hello Forums,

hope you can help me. I'm trying to make my own doom clone for the ESP32 and I'm having some progress in compiling chocolate doom.
Unfortunately I have a problem with the .bss Segment, leading to the following Error:

Code: Select all

LD build/doomodroidgo.elf
/home/tc/.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld: /home/tc/.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/lib/esp32-psram/libc.a(lib_a-system.o): in function `_system_r':
/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/newlib/newlib/libc/stdlib/system.c:62: multiple definition of `_system_r'; /home/tc/mydoom/doomodroidgo/build/newlib/libnewlib.a(syscalls.o):/home/tc/mydoom/esp-idf/components/newlib/syscalls.c:25: first defined here
/home/tc/.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld: /home/tc/mydoom/doomodroidgo/build/doomodroidgo.elf section `.dram0.bss' will not fit in region `dram0_0_seg'
/home/tc/.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld: DRAM segment data does not fit.
/home/tc/.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld: region `dram0_0_seg' overflowed by 146408 bytes
collect2: error: ld returned 1 exit status
/home/tc/mydoom/esp-idf/make/project.mk:522: recipe for target '/home/tc/mydoom/doomodroidgo/build/doomodroidgo.elf' failed
This is the whole code: https://github.com/ThomasChr/doom_odroidgo
And attached is the memory map.

My problem is that I've checked every size for .bss Variables in the memory map but I can't find anything which is really eating up all the 0x2EE00 Bytes I should have. The biggest at the moment is statdump.o with 0x1904 Bytes and all other *.o Files are way smaller.

Can anyone tell me what is wrong here?

Thanks a lot!

Thomas

ThomasChr
Posts: 2
Joined: Sat Aug 24, 2019 11:35 am

Re: section `.dram0.bss' will not fit in region `dram0_0_seg' -> But .bss Map does not cointain that much :-(

Postby ThomasChr » Mon Aug 26, 2019 5:56 am

The user ducalex from the Odroid Go Forums found the problem: Some huge arrays like visplanes are under "Allocating common symbols" in the Linker Map.

If anyone stumbels about the same problem...

Thanks!

Thomas

PS: The ESP32 is fantastic, thanks a lot for that, guys!

Who is online

Users browsing this forum: Google [Bot] and 80 guests