From d7e09157c4929c99a1342b21e920c6be3315b365 Mon Sep 17 00:00:00 2001 From: scjody Date: Tue, 24 Jul 2007 00:46:55 +0000 Subject: [PATCH] Branch b1_6 Update Module.symvers after building the ldiskfs module so its symbols appear in fsfilt_ldiskfs - avoids build warnings and kernel tainting. This commit includes both the original patch (which was backed out) and fixes to the build issues seen on SLES 9 and RHEL 4. b=12842 i=brian i=mjmac --- build/autoconf/lustre-build-linux.m4 | 15 +++++++++++++-- ldiskfs/ldiskfs/autoMakefile.am | 8 ++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/build/autoconf/lustre-build-linux.m4 b/build/autoconf/lustre-build-linux.m4 index d92ab36..ae29434 100644 --- a/build/autoconf/lustre-build-linux.m4 +++ b/build/autoconf/lustre-build-linux.m4 @@ -101,6 +101,7 @@ AC_SUBST(RELEASE) ]) # +# # LB_LINUX_PATH # # Find paths for linux, handling kernel-source rpms @@ -187,6 +188,16 @@ if grep rhconfig $LINUX_OBJ/include/linux/version.h >/dev/null ; then EXTRA_KCFLAGS="-include $KERNEL_SOURCE_HEADER $EXTRA_KCFLAGS" fi +# Find the modpost utility +AC_CHECK_FILE([$LINUX_OBJ/scripts/mod/modpost], + [MODPOST=$LINUX_OBJ/scripts/mod/modpost], + [AC_CHECK_FILE([$LINUX_OBJ/scripts/modpost], + [MODPOST=$LINUX_OBJ/scripts/modpost], + AC_MSG_ERROR([modpost not found.]) + )] +) +AC_SUBST(MODPOST) + # this is needed before we can build modules LB_LINUX_UML LB_LINUX_VERSION @@ -199,11 +210,11 @@ LB_LINUX_TRY_COMPILE([],[],[ AC_MSG_RESULT([no]) AC_MSG_WARN([Consult config.log for details.]) AC_MSG_WARN([If you are trying to build with a kernel-source rpm, consult build/README.kernel-source]) - AC_MSG_ERROR([Kernel modules cannot be build.]) + AC_MSG_ERROR([Kernel modules cannot be built.]) ]) LB_LINUX_RELEASE -]) +]) # end of LB_LINUX_PATH # # LB_LINUX_UML diff --git a/ldiskfs/ldiskfs/autoMakefile.am b/ldiskfs/ldiskfs/autoMakefile.am index f7b83ad..1815a9d 100644 --- a/ldiskfs/ldiskfs/autoMakefile.am +++ b/ldiskfs/ldiskfs/autoMakefile.am @@ -70,3 +70,11 @@ CLEANFILES = sources $(notdir $(linux_headers) $(ext3_headers) $(ext3_sources) $ clean: clean-am rm -rf linux linux-stage + +all: @LINUX_OBJ@/Module.symvers + +# Update the kernel's Module.symvers to add ldiskfs symbols before building +# fsfilt_ldiskfs - see bug 12842. +@LINUX_OBJ@/Module.symvers: ldiskfs.o + cd .. ; $(MODPOST) -m -i @LINUX_OBJ@/Module.symvers \ + -o @LINUX_OBJ@/Module.symvers ldiskfs/ldiskfs.o -- 1.8.3.1