Whamcloud - gitweb
LU-5597 build: Ensure MOFED Module symvers are used 98/15498/4
authorNathaniel Clark <nathaniel.l.clark@intel.com>
Thu, 2 Jul 2015 21:43:09 +0000 (17:43 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 29 Jul 2015 15:38:52 +0000 (15:38 +0000)
Change way extra symbols are included in build.  Use
KBUILD_EXTRA_SYMBOLS to directly included Modules.symvers
files instead of buildling Modules.symvers in buildroot
directory.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I4a6ee59f4e4eed9f878ad52993b8b17426f19d4a
Reviewed-on: http://review.whamcloud.com/15498
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
autoMakefile.am
build/Rules.in
config/lustre-build-zfs.m4
lnet/autoconf/lustre-lnet.m4

index 78f31ac..3bad8c2 100644 (file)
@@ -74,7 +74,7 @@ lustre-sources:
 if LINUX
 all-am: modules
 
-modules: ldiskfs-sources lustre-sources module-symvers
+modules: ldiskfs-sources lustre-sources
        $(MAKE) CC="$(CC)" $(CROSS_VARS) -C $(LINUX_OBJ)             \
        -f $(PWD)/build/Makefile LUSTRE_LINUX_CONFIG=$(LINUX_CONFIG) \
        LINUXINCLUDE='-I$$(srctree)/arch/$$(SRCARCH)/include -Iarch/$$(SRCARCH)/include/generated -Iinclude $$(if $$(KBUILD_SRC),-Iinclude2 -I$$(srctree)/include) -I$$(srctree)/arch/$$(SRCARCH)/include/uapi -Iarch/$$(SRCARCH)/include/generated/uapi -I$$(srctree)/include/uapi -Iinclude/generated/uapi -include $(CONFIG_INCLUDE)' \
@@ -195,32 +195,6 @@ if USES_DPKG
 EXTRA_DIST += debian/*
 endif
 
-module-symvers-zfs:
-if ZFS_ENABLED
-       @if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
-               cat @SPL_OBJ@/@SPL_SYMBOLS@ >>@SYMVERFILE@; \
-       elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
-               cat @SPL_OBJ@/module/@SPL_SYMBOLS@ >>@SYMVERFILE@; \
-       else \
-               echo -e "\n" \
-               "*** Missing spl symbols. Ensure you have built spl:\n" \
-               "*** - @SPL_OBJ@/@SYMVERFILE@\n"; \
-               exit 1; \
-       fi
-       @if [ -f @ZFS_OBJ@/@ZFS_SYMBOLS@ ]; then \
-               cat @ZFS_OBJ@/@ZFS_SYMBOLS@ >>@SYMVERFILE@; \
-       elif [ -f @ZFS_OBJ@/module/@ZFS_SYMBOLS@ ]; then \
-               cat @ZFS_OBJ@/module/@ZFS_SYMBOLS@ >>@SYMVERFILE@; \
-       else \
-               echo -e "\n" \
-               "*** Missing zfs symbols. Ensure you have built zfs:\n" \
-               "*** - @ZFS_OBJ@/@SYMVERFILE@\n"; \
-               exit 1; \
-       fi
-endif # ZFS_ENABLED
-
-module-symvers: module-symvers-zfs
-
 CSTK=/tmp/checkstack
 CSTKO=/tmp/checkstack.orig
 
index 0259bc6..7ab1f61 100644 (file)
@@ -34,6 +34,8 @@ EXTRA_CFLAGS := $(EXTRA_PRE_CFLAGS)
 EXTRA_CFLAGS += @EXTRA_KCFLAGS@ @CFLAGS@
 EXTRA_CFLAGS += $(EXTRA_POST_CFLAGS)
 
+KBUILD_EXTRA_SYMBOLS += @EXTRA_SYMBOLS@
+
 obj-m := $(patsubst %,%.o,$(MODULES))
 
 endif # PATCHLEVEL
index dd14cc6..f2f72ec 100644 (file)
@@ -147,8 +147,10 @@ AC_DEFUN([LB_SPL], [
                AC_MSG_CHECKING([spl file name for module symbols])
                AS_IF([test -r $splobj/$SYMVERFILE], [
                        splsym=$SYMVERFILE
+                       EXTRA_SYMBOLS="$EXTRA_SYMBOLS $splobj/$SYMVERFILE"
                ], [test -r $splobj/module/$SYMVERFILE], [
                        splsym=$SYMVERFILE
+                       EXTRA_SYMBOLS="$EXTRA_SYMBOLS $splobj/module/$SYMVERFILE"
                ], [
                        splsym="[Not found]"
                        enable_zfs=no
@@ -159,12 +161,11 @@ AC_DEFUN([LB_SPL], [
        SPL=${splsrc}
        SPL_OBJ=${splobj}
        SPL_VERSION=${splver}
-       SPL_SYMBOLS=${splsym}
 
        AC_SUBST(SPL)
        AC_SUBST(SPL_OBJ)
        AC_SUBST(SPL_VERSION)
-       AC_SUBST(SPL_SYMBOLS)
+       AC_SUBST(EXTRA_SYMBOLS)
 ])
 
 AC_DEFUN([LB_ZFS], [
@@ -253,8 +254,10 @@ AC_DEFUN([LB_ZFS], [
                AC_MSG_CHECKING([zfs file name for module symbols])
                AS_IF([test -r $zfsobj/$SYMVERFILE], [
                        zfssym=$SYMVERFILE
+                       EXTRA_SYMBOLS="$EXTRA_SYMBOLS $zfsobj/$SYMVERFILE"
                ], [test -r $zfsobj/module/$SYMVERFILE], [
                        zfssym=$SYMVERFILE
+                       EXTRA_SYMBOLS="$EXTRA_SYMBOLS $zfsobj/module/$SYMVERFILE"
                ], [
                        zfssym="[Not found]"
                        enable_zfs=no
@@ -265,12 +268,11 @@ AC_DEFUN([LB_ZFS], [
        ZFS=${zfssrc}
        ZFS_OBJ=${zfsobj}
        ZFS_VERSION=${zfsver}
-       ZFS_SYMBOLS=${zfssym}
 
        AC_SUBST(ZFS)
        AC_SUBST(ZFS_OBJ)
        AC_SUBST(ZFS_VERSION)
-       AC_SUBST(ZFS_SYMBOLS)
+       AC_SUBST(EXTRA_SYMBOLS)
 ])
 
 AC_DEFUN([LB_ZFS_DEVEL], [
index 649e484..2361415 100644 (file)
@@ -306,15 +306,9 @@ directory which is likely in ${O2IBPATH%-*}
                                fi
                        done
                        if test -n "$O2IB_SYMVER"; then
-                               AC_MSG_NOTICE([adding $O2IBPATH/$O2IB_SYMVER to $PWD/$SYMVERFILE])
-                               # strip out the existing symbols versions first
-                               if test -f $PWD/$SYMVERFILE; then
-                               egrep -v $(echo $(awk '{ print $2 }' $O2IBPATH/$O2IB_SYMVER) | tr ' ' '|') $PWD/$SYMVERFILE > $PWD/$SYMVERFILE.old
-                               else
-                                       touch $PWD/$SYMVERFILE.old
-                               fi
-                               cat $PWD/$SYMVERFILE.old $O2IBPATH/$O2IB_SYMVER > $PWD/$SYMVERFILE
-                               rm $PWD/$SYMVERFILE.old
+                               AC_MSG_NOTICE([adding $O2IBPATH/$O2IB_SYMVER to Symbol Path])
+                               EXTRA_SYMBOLS="$EXTRA_SYMBOLS $O2IBPATH/$O2IB_SYMVER"
+                               AC_SUBST(EXTRA_SYMBOLS)
                        else
                                AC_MSG_ERROR([an external source tree was, either specified or detected, for o2iblnd however I could not find a $O2IBPATH/Module.symvers there])
                        fi