Source: linux Version: 3.2.23-1 Severity: important User: debian-al...@lists.debian.org Usertags: alpha Tags: patch X-Debbugs-CC: debian-al...@lists.debian.org Justification: Fails to build from source but built in the past.
linux no longer builds on Alpha due to the demise of gcc-4.5 in unstable. We will have to move to the default compiler (gcc-4.6) but using gcc-4.6 to build the kernel results in relocation errors against the sbss section during the link. This can be worked around by modifying the -msmall-data compiler argument in arch/alpha/Makefile to -mlarge-data. It means extra CPU instructions to access kernel global variables thus a slightly larger and less efficient kernel. I did try to ask the gcc Alpha maintainer why using gcc-4.6 should have such an effect but did not get back a particularly informative answer. So if you could remove the requirement to build the kernel with gcc-4.5 and apply the attached patch to switch to the large data model for the next linux source upload, I should be grateful. Cheers Michael.
diff --git a/arch/alpha/Makefile b/arch/alpha/Makefile index 4759fe7..b5d44bd 100644 --- a/arch/alpha/Makefile +++ b/arch/alpha/Makefile @@ -12,7 +12,7 @@ NM := $(NM) -B LDFLAGS_vmlinux := -static -N #-relax CHECKFLAGS += -D__alpha__ -m64 -cflags-y := -pipe -mno-fp-regs -ffixed-8 -msmall-data +cflags-y := -pipe -mno-fp-regs -ffixed-8 -mlarge-data cflags-y += $(call cc-option, -fno-jump-tables) cpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4