Before, in sdcc 2.5.x, I could declare a variable in data EEPROM like
const unsigned char __at 0x2100 eedata=0x1c;
…and it would put do so.
Now it tries to encode it like an array in code memory producing ASM like
ID_0016_ascii_3 code 0x2100
the retlw instruction obviously has no reason to be in data EEPROM.
I've tried specifiers like __data and __code. They don't make any difference.
This breaks an awful lot of my code and I'm wondering how to fix it.