Using of the preprocessor define SUBARCH as part of an directory name does not work in linux-2.6.12/arch/um/kernel/uml.lds.S: arch/um/sys-SUBARCH/unmap_fin.o => arch/um/sys- i386 /unmap_fin.o This patch works with linux 2.6.12-mm1 and gcc 2.95.