From: Peter Oberparleiter Fix for linker error on UML: /usr/lib64/gcc/x86_64-suse-linux/4.2.1/../../../../x86_64-suse-linux/bin/ld:arch/um/kernel/vmlinux.lds:267: syntax error The error is triggered by the use of SORT(CONSTRUCTORS) in the UML linker script which conflicts with the kernel-call-constructors patch. Here is what the ld info page says about sorting constructors: If you are using the GNU C++ support for initialization priority, which provides some control over the order in which global constructors are run, you must sort the constructors at link time to ensure that they are executed in the correct order. As there's no C++ code inside the kernel it should be safe to remove the SORT construct. Found-by: Miklos Szeredi Signed-off-by: Peter Oberparleiter Cc: Jeff Dike Cc: Sam Ravnborg Signed-off-by: Andrew Morton --- arch/um/kernel/dyn.lds.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN arch/um/kernel/dyn.lds.S~kernel-call-constructors-uml-fix-1 arch/um/kernel/dyn.lds.S --- a/arch/um/kernel/dyn.lds.S~kernel-call-constructors-uml-fix-1 +++ a/arch/um/kernel/dyn.lds.S @@ -102,7 +102,7 @@ SECTIONS *(.data.init_irqstack) DATA_DATA *(.data.* .gnu.linkonce.d.*) - SORT(CONSTRUCTORS) + CONSTRUCTORS } .data1 : { *(.data1) } .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } _