There is support in Jeff's linkscript for overlays.
Segments .iwram0 through .iwram9 form overlays in IWRAM.
Segments .ewram0 through .ewram9 form overlays in EWRAM.
__iwram_overlay_lma and __ewram_overlay_lma are symbols
defined by the Linkscript to be the start of the overlay area in RAM.
You would need symbols in your overlay code to define start and stop
addresses for the overlays to know what to copy in for a particular
overlay. The Linker will automatically size the overlay area to the
minimum necessary size (largest of the individual overlays).
I've not used this myself, but the support in the linker/linkscript is
definitely there.
- John