diff options
Diffstat (limited to 'lib/mlibc/tests/rtdl/rtld_next')
-rw-r--r-- | lib/mlibc/tests/rtdl/rtld_next/libbar.c | 16 | ||||
-rw-r--r-- | lib/mlibc/tests/rtdl/rtld_next/libfoo.c | 17 | ||||
-rw-r--r-- | lib/mlibc/tests/rtdl/rtld_next/meson.build | 25 | ||||
-rw-r--r-- | lib/mlibc/tests/rtdl/rtld_next/test.c | 26 |
4 files changed, 0 insertions, 84 deletions
diff --git a/lib/mlibc/tests/rtdl/rtld_next/libbar.c b/lib/mlibc/tests/rtdl/rtld_next/libbar.c deleted file mode 100644 index c0950c5..0000000 --- a/lib/mlibc/tests/rtdl/rtld_next/libbar.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <dlfcn.h> - -typedef char *charFn(void); - -__attribute__((weak)) -char *definedInBoth() { - return "bar"; -} - -charFn *barGetDefault() { - return (charFn *)dlsym(RTLD_DEFAULT, "definedInBoth"); -} - -charFn *barGetNext() { - return (charFn *)dlsym(RTLD_NEXT, "definedInBoth"); -} diff --git a/lib/mlibc/tests/rtdl/rtld_next/libfoo.c b/lib/mlibc/tests/rtdl/rtld_next/libfoo.c deleted file mode 100644 index 1d46b73..0000000 --- a/lib/mlibc/tests/rtdl/rtld_next/libfoo.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <dlfcn.h> - -typedef char *charFn(void); - -__attribute__((weak)) -char *definedInBoth() { - return "foo"; -} - -charFn *fooGetDefault() { - return (charFn *)dlsym(RTLD_DEFAULT, "definedInBoth"); -} - -charFn *fooGetNext() { - return (charFn *)dlsym(RTLD_NEXT, "definedInBoth"); -} - diff --git a/lib/mlibc/tests/rtdl/rtld_next/meson.build b/lib/mlibc/tests/rtdl/rtld_next/meson.build deleted file mode 100644 index d156c24..0000000 --- a/lib/mlibc/tests/rtdl/rtld_next/meson.build +++ /dev/null @@ -1,25 +0,0 @@ -# Prevent tail calls, as it breaks libc's 'calling object' detection. -no_tail_calls = '-fno-optimize-sibling-calls' - -libfoo = shared_library('foo', 'libfoo.c', - dependencies: libc_dep, - c_args: no_tail_calls, -) -libbar = shared_library('bar', 'libbar.c', - dependencies: libc_dep, - c_args: no_tail_calls, -) -test_link_with = [libfoo, libbar] # foo is linked before bar - -libfoo_native = shared_library('native-foo', 'libfoo.c', - c_args: [no_tail_calls, '-D_GNU_SOURCE'], - link_args: '-ldl', - native: true -) -libbar_native = shared_library('native-bar', 'libbar.c', - c_args: [no_tail_calls, '-D_GNU_SOURCE'], - link_args: '-ldl', - native: true -) -test_native_link_with = [libfoo_native, libbar_native] - diff --git a/lib/mlibc/tests/rtdl/rtld_next/test.c b/lib/mlibc/tests/rtdl/rtld_next/test.c deleted file mode 100644 index 3e90a63..0000000 --- a/lib/mlibc/tests/rtdl/rtld_next/test.c +++ /dev/null @@ -1,26 +0,0 @@ -#include <string.h> -#include <assert.h> - -typedef char *charFn(void); -charFn *fooGetDefault(void); -charFn *fooGetNext(void); -charFn *barGetDefault(void); -charFn *barGetNext(void); - -int main() { - charFn *ret; - - ret = fooGetDefault(); - assert(ret != NULL); - assert(!strcmp(ret(), "foo")); - - ret = fooGetNext(); - assert(ret != NULL); - assert(!strcmp(ret(), "bar")); - - ret = barGetDefault(); - assert(ret != NULL); - assert(!strcmp(ret(), "foo")); - - assert(barGetNext() == NULL); -} |