Ensure all module symbols from ldiskfs and OFED are available.
b=16112
i=brian
i=shadow
if LDISKFS_ENABLED
@SYMVERFILE@: @LDISKFS_DIR@/@SYMVERFILE@
if LDISKFS_ENABLED
@SYMVERFILE@: @LDISKFS_DIR@/@SYMVERFILE@
- cp @LDISKFS_DIR@/@SYMVERFILE@ @SYMVERFILE@
+ touch @SYMVERFILE@
+ -grep -v ldiskfs @SYMVERFILE@ > @SYMVERFILE@.old
+ cat @SYMVERFILE@.old @LDISKFS_DIR@/@SYMVERFILE@ > @SYMVERFILE@
endif
CSTK=/tmp/checkstack
endif
CSTK=/tmp/checkstack
LB_LINUX_RELEASE
]) # end of LB_LINUX_PATH
LB_LINUX_RELEASE
]) # end of LB_LINUX_PATH
+# LB_LINUX_SYMVERFILE
+# SLES 9 uses a different name for this file - unsure about vanilla kernels
+# around this version, but it matters for servers only.
+AC_DEFUN([LB_LINUX_SYMVERFILE],
+ [AC_MSG_CHECKING([name of module symbol version file])
+ if grep -q Modules.symvers $LINUX/scripts/Makefile.modpost ; then
+ SYMVERFILE=Modules.symvers
+ else
+ SYMVERFILE=Module.symvers
+ fi
+ AC_MSG_RESULT($SYMVERFILE)
+ AC_SUBST(SYMVERFILE)
+])
+
AC_DEFUN([LB_PROG_LINUX],
[LB_LINUX_PATH
LB_LINUX_ARCH
AC_DEFUN([LB_PROG_LINUX],
[LB_LINUX_PATH
LB_LINUX_ARCH
if test $LINUX_ARCH == "powerpc64"; then
CFLAGS="$CFLAGS -m64"
if test $LINUX_ARCH == "powerpc64"; then
CFLAGS="$CFLAGS -m64"
# or check
AC_DEFUN([LB_CHECK_SYMBOL_EXPORT],
[AC_MSG_CHECKING([if Linux was built with symbol $1 is exported])
# or check
AC_DEFUN([LB_CHECK_SYMBOL_EXPORT],
[AC_MSG_CHECKING([if Linux was built with symbol $1 is exported])
-grep -q -E '[[[:space:]]]$1[[[:space:]]]' $LINUX/Module.symvers 2>/dev/null
+grep -q -E '[[[:space:]]]$1[[[:space:]]]' $LINUX/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
export=0
rc=$?
if test $rc -ne 0; then
export=0
# we know at this point that the found OFED source is good
if test \( $ENABLEO2IB = 3 \); then
if test \( -f $O2IBPATH/Module.symvers \); then
# we know at this point that the found OFED source is good
if test \( $ENABLEO2IB = 3 \); then
if test \( -f $O2IBPATH/Module.symvers \); then
- AC_MSG_NOTICE([adding $O2IBPATH/Module.symvers to $PWD/Module.symvers])
- cat $O2IBPATH/Module.symvers >> $PWD/Module.symvers
+ AC_MSG_NOTICE([adding $O2IBPATH/Module.symvers to $PWD/$SYMVERFILE])
+ # strip out the existing symbols versions first
+ touch $O2IBPATH/Module.symvers
+ egrep -v $(echo $(awk '{ print $2 }' $O2IBPATH/Module.symvers) | tr ' ' '|') $PWD/$SYMVERFILE > $PWD/$SYMVERFILE.old
+ cat $PWD/$SYMVERFILE.old $O2IBPATH/Module.symvers > $PWD/$SYMVERFILE
else
AC_MSG_ERROR([an external source tree was specified for o2iblnd however I could not find a $O2IBPATH/Module.symvers there])
fi
else
AC_MSG_ERROR([an external source tree was specified for o2iblnd however I could not find a $O2IBPATH/Module.symvers there])
fi
-# LC_SYMVERFILE
-# SLES 9 uses a different name for this file - unsure about vanilla kernels
-# around this version, but it matters for servers only.
-AC_DEFUN([LC_SYMVERFILE],
- [AC_MSG_CHECKING([name of symverfile])
- if grep -q Modules.symvers $LINUX/scripts/Makefile.modpost ; then
- SYMVERFILE=Modules.symvers
- else
- SYMVERFILE=Module.symvers
- fi
- AC_MSG_RESULT($SYMVERFILE)
- AC_SUBST(SYMVERFILE)])
-
# LC_DQUOTOFF_MUTEX
# after 2.6.17 dquote use mutex instead if semaphore
AC_DEFUN([LC_DQUOTOFF_MUTEX],
# LC_DQUOTOFF_MUTEX
# after 2.6.17 dquote use mutex instead if semaphore
AC_DEFUN([LC_DQUOTOFF_MUTEX],
# 2.6.15
LC_INODE_I_MUTEX
# 2.6.15
LC_INODE_I_MUTEX
- # SLES 10 (at least)
- LC_SYMVERFILE
-
# 2.6.17
LC_DQUOTOFF_MUTEX
# 2.6.17
LC_DQUOTOFF_MUTEX