gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

C/C++ > What causes section overlaps and how to fix them?

#73582 - KeithE - Sun Feb 26, 2006 8:31 pm

I am getting this error when compiling:

Code:
c:/ham/gcc-arm/bin/arm-thumb-elf-ld: section .iwram [081a7604 -> 081ab7fb] overlaps section .rodata [0801d9a0 -> 081a760b]


Could anyone tell me what causes this error? Does it mean that IWRAM is full?

Thanks.

Keith

#73593 - tepples - Sun Feb 26, 2006 9:23 pm

For one thing, you're using the older HAM toolchain. Unless you have a specific need for hamlib, I'd suggest migrating to the devkitARM toolchain.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#73602 - KeithE - Sun Feb 26, 2006 9:35 pm

Well, I am using a bunch of hamlib functions, so I'd like to stick with ham. Any ideas on what specifically causes this problem?

#73604 - Quirky - Sun Feb 26, 2006 9:40 pm

Big arrays in IWRAM are the usual culprits. I'd check any big non-const data structures to see where they are being stored. Then check all data to see if any non-const data could really go in ROM.