diff options
Diffstat (limited to 'lib/mlibc/tests/rtdl/scope5')
-rw-r--r-- | lib/mlibc/tests/rtdl/scope5/libfoo.c | 1 | ||||
-rw-r--r-- | lib/mlibc/tests/rtdl/scope5/meson.build | 5 | ||||
-rw-r--r-- | lib/mlibc/tests/rtdl/scope5/test.c | 27 |
3 files changed, 0 insertions, 33 deletions
diff --git a/lib/mlibc/tests/rtdl/scope5/libfoo.c b/lib/mlibc/tests/rtdl/scope5/libfoo.c deleted file mode 100644 index 85e6cd8..0000000 --- a/lib/mlibc/tests/rtdl/scope5/libfoo.c +++ /dev/null @@ -1 +0,0 @@ -void foo() {} diff --git a/lib/mlibc/tests/rtdl/scope5/meson.build b/lib/mlibc/tests/rtdl/scope5/meson.build deleted file mode 100644 index 22ade5b..0000000 --- a/lib/mlibc/tests/rtdl/scope5/meson.build +++ /dev/null @@ -1,5 +0,0 @@ -libfoo = shared_library('foo', 'libfoo.c') -test_link_with = [libfoo] - -libfoo_native = shared_library('native-foo', 'libfoo.c', native: true) -test_native_link_with = [libfoo_native] diff --git a/lib/mlibc/tests/rtdl/scope5/test.c b/lib/mlibc/tests/rtdl/scope5/test.c deleted file mode 100644 index 2c11c2e..0000000 --- a/lib/mlibc/tests/rtdl/scope5/test.c +++ /dev/null @@ -1,27 +0,0 @@ -#include <dlfcn.h> -#include <stdio.h> -#include <assert.h> - -#ifdef USE_HOST_LIBC -#define LIBFOO "libnative-foo.so" -#else -#define LIBFOO "libfoo.so" -#endif - -// We need to have a relocation against foo for DT_NEEDED. -void foo(); -void bar() { foo(); } - -int main() { - // In this test, we have exec -> foo (where '->' means 'depends on'). - // This means that foo is in the global scope due to DT_NEEDED. - // We then dlopen it again with RTLD_LOCAL, which should just return - // the already-loaded object, but used to crash in the mlibc linker instead. - - void *foo = dlopen(LIBFOO, RTLD_LOCAL | RTLD_NOW); - assert(foo); - assert(dlsym(foo, "foo")); - assert(dlsym(RTLD_DEFAULT, "foo")); - - dlclose(foo); -} |