diff options
author | Ian Moffett <ian@osmora.org> | 2024-03-07 17:28:52 -0500 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2024-03-07 18:24:51 -0500 |
commit | f5e48e94a2f4d4bbd6e5628c7f2afafc6dbcc459 (patch) | |
tree | 93b156621dc0303816b37f60ba88051b702d92f6 /lib/mlibc/tests/rtdl/rtld_next | |
parent | bd5969fc876a10b18613302db7087ef3c40f18e1 (diff) |
build: Build mlibc + add distclean target
Signed-off-by: Ian Moffett <ian@osmora.org>
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); -} |