On Fri, Oct 15, 2010 at 00:38, Jeff Squyres (jsquyres) <firstname.lastname@example.org> wrote:
Huh. Can you make V=1 to build libmpi and use the same kind of options to build your sample library?
Make log here
After some digging, this looks like a clang bug. First, from the comments on
there seems to be some resistance to the #pragma weak g2 = g3, but since these things work with clang-2.8, that isn't the whole story. Indeed,
#pragma GCC visibility push(default)
#pragma weak fake = real
#pragma GCC visibility pop
does not expose the symbol "fake". This must be a bug, but an arguably better way to set up the aliasing is
int fake(int i) __attribute__((weak, alias("real")));
which does work. I'll report the bug, but maybe Open MPI could use a more complete test for visibility working with weak aliasing? Or just don't support clang-2.8.