11 h = dlopen("./dlopen_dso.so", RTLD_LAZY|RTLD_LOCAL);
13 error("dlopen ./dlopen_dso.so failed: %s\n", dlerror());
16 error("dlsym i failed: %s\n", dlerror());
18 error("initialization failed: want i=1 got i=%d\n", *i);
19 f = (void (*)(void))dlsym(h, "f");
21 error("dlsym f failed: %s\n", dlerror());
24 error("f call failed: want i=2 got i=%d\n", *i);
25 g = dlopen(0, RTLD_LAZY|RTLD_LOCAL);
27 error("dlopen 0 failed: %s\n", dlerror());
31 error("dlsym i should have failed\n");
32 h = dlopen("./dlopen_dso.so", RTLD_LAZY|RTLD_GLOBAL);
35 error("dlsym i failed: %s\n", dlerror());
37 error("want i2=2, got i2=%d\n", *i2);