X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fliblustre%2Fgenlib.sh;h=dcfb67d4d5c0ed00a46b6832d3f2cca645d63f76;hb=b938b88935d44bd4d16ba48c7a97941676254c11;hp=1b41b63d83fe73a8149e93e64c41c4f509e6f7cc;hpb=b4e009fdece5000f3414ce442c782bd50d558089;p=fs%2Flustre-release.git diff --git a/lustre/liblustre/genlib.sh b/lustre/liblustre/genlib.sh index 1b41b63..dcfb67d 100755 --- a/lustre/liblustre/genlib.sh +++ b/lustre/liblustre/genlib.sh @@ -13,7 +13,12 @@ set -e AR=/usr/bin/ar # see http://osdir.com/ml/gmane.comp.gnu.binutils.bugs/2006-01/msg00016.php -LD=gcc +ppc64_CPU=`uname -p` +if [ "x${ppc64_CPU}" = "xppc64" ]; then + LD="gcc -m64" +else + LD="gcc" +fi RANLIB=/usr/bin/ranlib CWD=`pwd` @@ -76,6 +81,7 @@ build_obj_list ../lvfs liblvfs.a # lnet components libs build_obj_list ../../lnet/utils libuptlctl.a build_obj_list ../../libcfs/libcfs libcfs.a +build_obj_list ../../libcfs/libcfs libcfsutil.a if $(echo "$LND_LIBS" | grep "socklnd" >/dev/null) ; then build_obj_list ../../lnet/ulnds/socklnd libsocklnd.a fi @@ -109,7 +115,12 @@ OS=`uname` if test x$OS = xAIX; then $LD -shared -o $CWD/liblustre.so $ALL_OBJS -lpthread -Xlinker -bnoipath ../../libsyscall.so else -$LD -shared -nostdlib -o $CWD/liblustre.so $ALL_OBJS $CAP_LIBS $PTHREAD_LIBS $ZLIB +# using -nostdlib on Ubuntu causes errors such as: +#./llite_lib.o: In function `liblustre_process_log': +#/home/brian/rpm/BUILD/lustre-1.8.2.50/lustre/liblustre/llite_lib.c:234: undefined reference to `__stack_chk_fail_local' +# due to the use of SSP +#$LD -shared -nostdlib -o $CWD/liblustre.so $ALL_OBJS $CAP_LIBS $PTHREAD_LIBS $ZLIB +$LD -shared -o $CWD/liblustre.so $ALL_OBJS $CAP_LIBS $PTHREAD_LIBS $ZLIB fi rm -rf $sysio_tmp