X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=linux-2.6-10003-gcc-4.6-vdso.patch;fp=linux-2.6-10003-gcc-4.6-vdso.patch;h=38198bac84a6afb827b3cb6539e2d663e7eaebc9;hb=5d10ad8dd688c9300894f53508bbeace6a737309;hp=0000000000000000000000000000000000000000;hpb=be045a194eb6c82c66a4d4b9fcc7986d0e1e417a;p=linux-2.6.git diff --git a/linux-2.6-10003-gcc-4.6-vdso.patch b/linux-2.6-10003-gcc-4.6-vdso.patch new file mode 100644 index 000000000..38198bac8 --- /dev/null +++ b/linux-2.6-10003-gcc-4.6-vdso.patch @@ -0,0 +1,40 @@ +commit de2a8cf98ecdde25231d6c5e7901e2cffaf32af9 +Author: H. Peter Anvin +Date: Mon Dec 13 16:01:38 2010 -0800 + + x86, gcc-4.6: Use gcc -m options when building vdso + + The vdso Makefile passes linker-style -m options not to the linker but + to gcc. This happens to work with earlier gcc, but fails with gcc + 4.6. Pass gcc-style -m options, instead. + + Note: all currently supported versions of gcc supports -m32, so there + is no reason to conditionalize it any more. + + Reported-by: H. J. Lu + Signed-off-by: H. Peter Anvin + LKML-Reference: + Cc: + +diff --git a/arch/x86/vdso/Makefile b/arch/x86/vdso/Makefile +index 4a2afa1..b6552b1 100644 +--- a/arch/x86/vdso/Makefile ++++ b/arch/x86/vdso/Makefile +@@ -25,7 +25,7 @@ targets += vdso.so vdso.so.dbg vdso.lds $(vobjs-y) + + export CPPFLAGS_vdso.lds += -P -C + +-VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 -Wl,-soname=linux-vdso.so.1 \ ++VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \ + -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 + + $(obj)/vdso.o: $(src)/vdso.S $(obj)/vdso.so +@@ -69,7 +69,7 @@ vdso32.so-$(VDSO32-y) += sysenter + vdso32-images = $(vdso32.so-y:%=vdso32-%.so) + + CPPFLAGS_vdso32.lds = $(CPPFLAGS_vdso.lds) +-VDSO_LDFLAGS_vdso32.lds = -m elf_i386 -Wl,-soname=linux-gate.so.1 ++VDSO_LDFLAGS_vdso32.lds = -m32 -Wl,-soname=linux-gate.so.1 + + # This makes sure the $(obj) subdirectory exists even though vdso32/ + # is not a kbuild sub-make subdirectory.