I just ran across a case with C51 7.50 where the linker was not automatically selecting the far version of the library. My far pointers weren't working, despite the presence of XBANKING.A51. The problem seems to be that the project doesn't recognize that far memory is in use, despite the VARBANKING directive. Adding a dummy variable U8 FAR dummy; makes the project work right. Also, I could manually select the correct library (although this created an overly-large image, for some reason; about 14500 bytes with the dummy variable, and about 17000 with the manual library inclusion -- but I have to fit this code into 16K). Are there any other ways to force the toolchain to include the far library even when there are no far data (just far pointers)? The dummy variable approach is kind of cheesy.