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