Trying to make a working kernel with the gold linker

From: Theodore Ts'o
Date: Tue Apr 10 2012 - 22:23:41 EST



So I was trying to see if I could make the kernel build with the gold
linker (since until it can, I can't install it on my system).

I saw a message from HJ indicating one of the problems was x86_64 gold
used an incompatible max-page-size setting, so I tried changing it in
hopes that would make a bootable kernel.

No dice, it didn't work. (At least not with a 2.20 binutils-gold.)

Does anybody know what the other issues with the gold linker? Is the
2.22 binutils-gold more likely to work?

Thanks,

- Ted


diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 41a7237..ad769ed 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -119,7 +119,11 @@ asinstr := $(call as-instr,fxsaveq (%rax),-DCONFIG_AS_FXSAVEQ=1)
KBUILD_AFLAGS += $(cfi) $(cfi-sigframe) $(cfi-sections) $(asinstr)
KBUILD_CFLAGS += $(cfi) $(cfi-sigframe) $(cfi-sections) $(asinstr)

+ifeq ($(CONFIG_X86_32),y)
LDFLAGS := -m elf_$(UTS_MACHINE)
+else
+LDFLAGS := -m elf_$(UTS_MACHINE) -z max-page-size=0x200000
+endif

# Speed up the build
KBUILD_CFLAGS += -pipe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/