Hi,
I just upgraded to the 3.9 snapshot in FTP (this is on 386) and I find
that dlopen() does not work.
For example:
a.c:
extern int x;
int foo()
{
x = 1;
}
b.c:
#include <dlfcn.h>
int x = 0;
int main()
{
void *dl = dlopen("./liba.so", RTLD_LAZY|RTLD_GLOBAL);
if(!dl)
dlerror();
return !dl;
}
And then:
$ gcc -shared -o liba.so a.c
$ gcc b.c
$ ./a.out
./a.out:./liba.so: undefined symbol 'x'
This also happens if I change RTLD_LAZY to RTLD_NOW or anything else.
Is this a known issue? Did I do something wrong in the upgrade process?
Thanks,
Andrew