1*4882a593Smuzhiyunkernel: use LDFLAGS when linking modules 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunCurrently, linking module objects is simply using $(LD), assuming that 4*4882a593Smuzhiyunthe default emulation is correct for the current architecture. 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunHowever, that might not be the case when the toolchain default is not 7*4882a593Smuzhiyunthe same as the current arch. For example, if the toolchain defaults to 8*4882a593Smuzhiyuni386 and is capable of x86_64, and we're targetting x86_64 (or the 9*4882a593Smuzhiyunopposite), the link would fail because the ld emulation is incorrect: 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun .../i686-pc-linux-gnu-ld: Relocatable linking with relocations from 12*4882a593Smuzhiyun format elf64-x86-64 (.../nvidia-driver-370.23/kernel/nvidia/nv-frontend.o) 13*4882a593Smuzhiyun to format elf32-i386 (.../nvidia-driver-370.23/kernel/nvidia/nv-interface.o) 14*4882a593Smuzhiyun is not supported 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunAdd use of $(LDFLAGS) when doing the link, as the kernel provides the 17*4882a593Smuzhiyunproper emulation in those. 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunSigned-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun--- 22*4882a593SmuzhiyunIssue reported upstream: 23*4882a593Smuzhiyun https://devtalk.nvidia.com/default/topic/958653/ 24*4882a593Smuzhiyun 25*4882a593Smuzhiyundiff -durN nvidia-driver-370.23.orig/kernel/nvidia/nvidia.Kbuild nvidia-driver-370.23/kernel/nvidia/nvidia.Kbuild 26*4882a593Smuzhiyun--- nvidia-driver-370.23.orig/kernel/nvidia/nvidia.Kbuild 2016-08-09 01:57:50.000000000 +0200 27*4882a593Smuzhiyun+++ nvidia-driver-370.23/kernel/nvidia/nvidia.Kbuild 2016-08-20 12:25:02.780233423 +0200 28*4882a593Smuzhiyun@@ -87,7 +87,7 @@ 29*4882a593Smuzhiyun always += $(NVIDIA_INTERFACE) 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun $(obj)/$(NVIDIA_INTERFACE): $(addprefix $(obj)/,$(NVIDIA_OBJECTS)) 32*4882a593Smuzhiyun- $(LD) -r -o $@ $^ 33*4882a593Smuzhiyun+ $(LD) $(LDFLAGS) -r -o $@ $^ 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun # 37*4882a593Smuzhiyundiff -durN nvidia-driver-370.23.orig/kernel/nvidia-modeset/nvidia-modeset.Kbuild nvidia-driver-370.23/kernel/nvidia-modeset/nvidia-modeset.Kbuild 38*4882a593Smuzhiyun--- nvidia-driver-370.23.orig/kernel/nvidia-modeset/nvidia-modeset.Kbuild 2016-08-09 01:43:19.000000000 +0200 39*4882a593Smuzhiyun+++ nvidia-driver-370.23/kernel/nvidia-modeset/nvidia-modeset.Kbuild 2016-08-20 12:25:39.596772662 +0200 40*4882a593Smuzhiyun@@ -70,7 +70,7 @@ 41*4882a593Smuzhiyun always += $(NVIDIA_MODESET_INTERFACE) 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun $(obj)/$(NVIDIA_MODESET_INTERFACE): $(addprefix $(obj)/,$(NVIDIA_MODESET_OBJECTS)) 44*4882a593Smuzhiyun- $(LD) -r -o $@ $^ 45*4882a593Smuzhiyun+ $(LD) $(LDFLAGS) -r -o $@ $^ 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun # 48*4882a593Smuzhiyun # Register the conftests needed by nvidia-modeset.ko 49