If I take a simple program with bytes placed at word boundaries all works well. No errors,
If I now change it to byte boundaries I get,
Note, the only thing changed is the address where the second byte goes.
The error is on the fourth line up starting ::: error:
It appears that XC8 has decided the EEPROM needs to be on word boundaries like the program memory.