LX51: address of code constants can't be fixed when using option of "Linker Code Packing"
When using code banking and setting option of "Linker Code Packing", if code constants are placed in the same bank with the code referencing them, the address of code constants can't be fixed by LX51. Let's show this by an example. Place the following two files into Bank 1, then click "Options - LX51 Locate - User Segments" and add "?CO?C_bank11(B1:)". Compile and link, then start debug. When tracing into func1(), switch to disassembly mode, you can find that DPTR is set to 0x0000, not 0x8000!
================================= c_bank1.c
extern char code b1_code[];
void func1(void) { int i1;
i1 = b1_code[1]; }
================================= c_bank11.c
char code b1_code[4] = {'b','c','d','e'};