From 6cba4c1958b8bc25e7c675fd7ec6bf2772c7c0f0 Mon Sep 17 00:00:00 2001 From: Nathaniel Clark Date: Thu, 2 Jul 2015 17:43:09 -0400 Subject: [PATCH] LU-5597 build: Ensure MOFED Module symvers are used 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 Change-Id: I4a6ee59f4e4eed9f878ad52993b8b17426f19d4a Reviewed-on: http://review.whamcloud.com/15498 Tested-by: Jenkins Reviewed-by: Dmitry Eremin Reviewed-by: James Simmons Tested-by: Maloo Reviewed-by: Oleg Drokin --- autoMakefile.am | 28 +--------------------------- build/Rules.in | 2 ++ config/lustre-build-zfs.m4 | 10 ++++++---- lnet/autoconf/lustre-lnet.m4 | 12 +++--------- 4 files changed, 12 insertions(+), 40 deletions(-) diff --git a/autoMakefile.am b/autoMakefile.am index 78f31ac..3bad8c2 100644 --- a/autoMakefile.am +++ b/autoMakefile.am @@ -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 diff --git a/build/Rules.in b/build/Rules.in index 0259bc6..7ab1f61 100644 --- a/build/Rules.in +++ b/build/Rules.in @@ -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 diff --git a/config/lustre-build-zfs.m4 b/config/lustre-build-zfs.m4 index dd14cc6..f2f72ec 100644 --- a/config/lustre-build-zfs.m4 +++ b/config/lustre-build-zfs.m4 @@ -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], [ diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4 index 649e484..2361415 100644 --- a/lnet/autoconf/lustre-lnet.m4 +++ b/lnet/autoconf/lustre-lnet.m4 @@ -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 -- 1.8.3.1