SOURCES: kernel-ppc-crtsavres.patch (NEW) - try to workaround http://bugzil...

arekm arekm at pld-linux.org
Tue Nov 4 09:31:12 CET 2008


Author: arekm                        Date: Tue Nov  4 08:31:12 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- try to workaround http://bugzilla.kernel.org/show_bug.cgi?id=11143

---- Files affected:
SOURCES:
   kernel-ppc-crtsavres.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/kernel-ppc-crtsavres.patch
diff -u /dev/null SOURCES/kernel-ppc-crtsavres.patch:1.1
--- /dev/null	Tue Nov  4 09:31:13 2008
+++ SOURCES/kernel-ppc-crtsavres.patch	Tue Nov  4 09:31:07 2008
@@ -0,0 +1,75 @@
+Fix linking modules against crtsavres.o
+
+Previously we got
+  CC      drivers/char/hw_random/rng-core.mod.o
+  LD [M]  drivers/char/hw_random/rng-core.ko
+/there/src/buildroot.git.ppc/build_powerpc_nofpu/staging_dir/usr/bin/powerpc-linux-uclibc-ld: arch/powerpc/lib/crtsavres.o: No such file: No such file or directory
+
+	* Makefile (LDFLAGS_MODULE_PREREQ): New variable to hold prerequisite
+	files for modules.
+	* arch/powerpc/Makefile: add crtsavres.o to LDFLAGS_MODULE_PREREQ.
+	* scripts/Makefile.modpost (cmd_as_o_S): Copy from Makefile.build.
+	(cmd_ld_ko_o): Also link LDFLAGS_MODULE_PREREQ.
+	Provide rule to build objects from assembler.
+
+Signed-off-by:  Bernhard Reutner-Fischer  <rep.dot.nop at gmail.com>
+
+diff -rup ../../x/linux-2.6.26.5.old/arch/powerpc/Makefile linux-2.6.26.5/arch/powerpc/Makefile
+--- ../../x/linux-2.6.26.5.old/arch/powerpc/Makefile	2008-09-08 19:40:20.000000000 +0200
++++ linux-2.6.26.5/arch/powerpc/Makefile	2008-10-07 14:28:08.000000000 +0200
+@@ -97,7 +97,7 @@ else
+ 	KBUILD_CFLAGS += $(call cc-option,-mtune=power4)
+ endif
+ else
+-LDFLAGS_MODULE	+= arch/powerpc/lib/crtsavres.o
++LDFLAGS_MODULE_PREREQ += arch/powerpc/lib/crtsavres.o
+ endif
+ 
+ ifeq ($(CONFIG_TUNE_CELL),y)
+diff -rup ../../x/linux-2.6.26.5.old/Makefile linux-2.6.26.5/Makefile
+--- ../../x/linux-2.6.26.5.old/Makefile	2008-09-08 19:40:20.000000000 +0200
++++ linux-2.6.26.5/Makefile	2008-10-07 14:15:59.000000000 +0200
+@@ -318,6 +318,7 @@ MODFLAGS	= -DMODULE
+ CFLAGS_MODULE   = $(MODFLAGS)
+ AFLAGS_MODULE   = $(MODFLAGS)
+ LDFLAGS_MODULE  =
++LDFLAGS_MODULE_PREREQ  =
+ CFLAGS_KERNEL	=
+ AFLAGS_KERNEL	=
+ 
+@@ -342,7 +343,7 @@ KERNELVERSION = $(VERSION).$(PATCHLEVEL)
+ export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
+ export ARCH SRCARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC
+ export CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE
+-export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
++export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE LDFLAGS_MODULE_PREREQ CHECK CHECKFLAGS
+ 
+ export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
+ export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
+diff -rup ../../x/linux-2.6.26.5.old/scripts/Makefile.modpost linux-2.6.26.5/scripts/Makefile.modpost
+--- ../../x/linux-2.6.26.5.old/scripts/Makefile.modpost	2008-09-08 19:40:20.000000000 +0200
++++ linux-2.6.26.5/scripts/Makefile.modpost	2008-10-07 14:24:34.000000000 +0200
+@@ -122,14 +122,21 @@ quiet_cmd_cc_o_c = CC      $@
+       cmd_cc_o_c = $(CC) $(c_flags) $(CFLAGS_MODULE)	\
+ 		   -c -o $@ $<
+ 
+-$(modules:.ko=.mod.o): %.mod.o: %.mod.c FORCE
++quiet_cmd_as_o_S = AS $(quiet_modtag)  $@
++cmd_as_o_S       = $(CC) $(a_flags) $(AFLAGS_MODULE) -c -o $@ $<
++
++$(LDFLAGS_MODULE_PREREQ): %.o: %.S FORCE
++	$(call if_changed_dep,as_o_S)
++
++$(modules:.ko=.mod.o): %.mod.o: %.mod.c $(LDFLAGS_MODULE_PREREQ) FORCE
+ 	$(call if_changed_dep,cc_o_c)
+ 
+ targets += $(modules:.ko=.mod.o)
+ 
+ # Step 6), final link of the modules
+ quiet_cmd_ld_ko_o = LD [M]  $@
+-      cmd_ld_ko_o = $(LD) -r $(LDFLAGS) $(LDFLAGS_MODULE) -o $@		\
++      cmd_ld_ko_o = $(LD) -r $(LDFLAGS) $(LDFLAGS_MODULE_PREREQ)	\
++			  $(LDFLAGS_MODULE) -o $@		\
+ 			  $(filter-out FORCE,$^)
+ 
+ $(modules): %.ko :%.o %.mod.o FORCE
================================================================


More information about the pld-cvs-commit mailing list