SDLDGB produces invalid files for objects that contain _CODE_N and _DATA_N areas. Generating of rom files with MAKEBIN utility was artificially limited to 32K in it's code. Banked code support is fixed in z80 port and is usable, but the problem with the linker remains.
Here is a description, what is wrong with the linker exactly and what should be done to bring sdldgb back to life.
Offsets generated by sdldgb inside _CODE_N areas are invalid, because all _CODE_N areas are concatenated to _CODE, instead of having 0x4000 as base address for each _CODE_N area. If you try to workaround that by specifying 0x4000 for every _CODE_N in commandline, then the code and constant data of different _DATA_N areas simply become overwritten in the resulting file.
The same problem is also with _DATA_N areas which are concatenated with _DATA. Base address for every _DATA_N must be 0xA000 instead.
How that should work:
I gonna to try if I can teach makebin to handle virtual addresses -> https://sourceforge.net/p/sdcc/support-requests/115/
That should be fully fixed by now