Keep in mind that you should not change the behaviour of all the other compilers, because people depend on it!
That was an accident. I fixed this by introducing a dedicated flag to request C::B pathwalk
Also if you can show full log from the compiler to see what is required.
-------------- Clean: Debug in lcd-keil ---------------
Cleaned "lcd-keil - Debug"
-------------- Build: Debug in lcd-keil ---------------
C51.exe lcd.c OBJECT(obj\Debug\lcd.obj) WARNINGLEVEL(2) OBJECTEXTEND SMALL DEBUG INCDIR(C:\eda\Keil\C51\inc;"C:\Program Files\AXSEM\AXSDB\examples\libmf\include")
C51 COMPILER V8.02 - SN: XXXXX-XXXXXX
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2006
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
BL51.exe "obj\Debug\lcd.obj,\"C:\Program Files\AXSEM\AXSDB\examples\libmf\keil\libmf.lib\"" TO bin\Debug\lcd-keil.omf DW(6) RAMSIZE(256) XDATA(0x0-0x1FFF) CODE(0x0-0xFFFF)
BL51 BANKED LINKER/LOCATER V6.00 - SN: XXXXX-XXXXXX
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2005
Program Size: data=14.0 xdata=438 code=313
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
Output size is 12.59 KB
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings (0 minutes, 0 seconds)