How does the linker know that kernel is getting compiled or user application is getting compiled ?