[openib-general] [PATCH] use mmiowb after doorbell ring

Jason Gunthorpe jgunthorpe at obsidianresearch.com
Wed Oct 18 14:00:08 PDT 2006


On Wed, Oct 18, 2006 at 01:43:03PM -0700, Roland Dreier wrote:

> The only two things I need to figure out, I hope with help from
> smarter people:

I'm by no means an expert, but this might be helpfull to someone who
is:

AC_DEFUN(rc_LIBSTDCPP_VER,
        [AC_MSG_CHECKING([libstdc++ version])
        dummy=if$$
        cat <<_LIBSTDCPP_>$dummy.cc
#include <features.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) { exit(0); }
_LIBSTDCPP_
        ${CXX-c++} $dummy.cc -o $dummy > /dev/null 2>&1

        if test "$?" = 0; then
                soname=`objdump -p ./$dummy |grep NEEDED|grep libstd`
                LIBSTDCPP_VER=`echo $soname | sed -e 's/.*NEEDED.*libstdc++\(-libc.*\(-.*\)\)\?.so.\(.*\)/\3\2/'`
        fi
        rm -f $dummy $dummy.cc

        if test -z "$LIBSTDCPP_VER"; then
                AC_MSG_WARN([cannot determine standard C++ library version number])
        else
                AC_MSG_RESULT([$LIBSTDCPP_VER])
                LIBSTDCPP_VER="-$LIBSTDCPP_VER"
        fi
        AC_SUBST(LIBSTDCPP_VER)
])

This is a fragment from another project I have that stamps a soname
with the libstdc++ soname (libstdc++ causes a similar issue). The
basic idea is to compile a dummy program and link it with the target
library then use objdump to extract the soname and assign a
substition variable. That bit goes in aclocal.m4

Once you have the subsitition I think a conditional fragment in the
makefile should be enough to solve the second problem.

Jason




More information about the general mailing list