Wouldn't it be nice if SDCC and it's linker could
determine by itself that xdata initialization code is
not necessary when there is nothing to initialize?
The solution I think is to output ".globl
__mcs51_genXINIT" only when a non-empty XINIT is
written to the asm file.
Something similar is possible when both PSEG and XSEG
are empty, then don't write ".globl
Or even no ".globl __mcs51_genRAMCLEAR" when DSEG,
OSEG, ISEG and BSEG are all empty.