From fec8e9db57394a77a9f757aab4c342baa098a1aa Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Mon, 1 Sep 2003 23:43:42 +0000 Subject: move the ldso tests to dlopen where they belong --- test/ldso/.cvsignore | 4 ---- test/ldso/Makefile | 44 -------------------------------------------- test/ldso/dltest.c | 45 --------------------------------------------- test/ldso/libtest.c | 16 ---------------- 4 files changed, 109 deletions(-) delete mode 100644 test/ldso/.cvsignore delete mode 100644 test/ldso/Makefile delete mode 100644 test/ldso/dltest.c delete mode 100644 test/ldso/libtest.c (limited to 'test/ldso') diff --git a/test/ldso/.cvsignore b/test/ldso/.cvsignore deleted file mode 100644 index 7232c47f9..000000000 --- a/test/ldso/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -dltest -dltest2 -libtest.so -libtest2.so diff --git a/test/ldso/Makefile b/test/ldso/Makefile deleted file mode 100644 index bfd8444c7..000000000 --- a/test/ldso/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# Makefile for uClibc -# -# Copyright (C) 2000-2003 Erik Andersen -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, or (at your option) any -# later version. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -TESTDIR=../ -include $(TESTDIR)/Rules.mak - -all: run - - -dltest: dltest.c - $(CC) $(CFLAGS) -DLIBNAME="\"./libtest.so\"" dltest.c -ldl -lpthread -o dltest - -libtest.so: libtest.c - $(CC) $(CFLAGS) -fPIC -shared -Wl,-soname,libtest.so libtest.c -o libtest.so - -# Second time, directly link libtest2.so with libpthread -dltest2: dltest.c - $(CC) $(CFLAGS) -DLIBNAME="\"./libtest2.so\"" dltest.c -ldl -lpthread -o dltest2 - -libtest2.so: libtest.c - $(CC) $(CFLAGS) -fPIC -shared -Wl,-soname,libtest2.so libtest.c -o libtest2.so -lpthread - -run: dltest libtest.so dltest2 libtest2.so - ./dltest2 - ./dltest - -clean: - rm -f *.o dltest dltest2 libtest.so libtest2.so - diff --git a/test/ldso/dltest.c b/test/ldso/dltest.c deleted file mode 100644 index 244f3b76b..000000000 --- a/test/ldso/dltest.c +++ /dev/null @@ -1,45 +0,0 @@ -#include -#include -#include -#include -#include - -#ifdef __UCLIBC__ -extern void _dlinfo(void); -#endif - -int main(int argc, char **argv) -{ - int ret = EXIT_SUCCESS; - void *handle; - void (*mydltest)(void *value1, void *value2); - char *error; - uint32_t *value1, *value2; - - handle = dlopen (LIBNAME, RTLD_LAZY); - if (!handle) { - fprintf(stderr, "Could not open ./libtest.so: %s\n", dlerror()); - exit(1); - } - - mydltest = dlsym(handle, "dltest"); - if ((error = dlerror()) != NULL) { - fprintf(stderr, "Could not locate symbol 'dltest': %s\n", error); - exit(1); - } - - mydltest(&value1, &value2); - printf("dltest: __pthread_return_0=%p\n", value1); - printf("dltest: pthread_self=%p\n", value2); - if (value1 == value2) { - ret = EXIT_FAILURE; - printf("dltest: values should NOT be equal Weak values resolved incorrectly!\n"); - } else { - printf("dltest: weak symbols resoved correctly.\n"); - } - - dlclose(handle); - - return ret; -} - diff --git a/test/ldso/libtest.c b/test/ldso/libtest.c deleted file mode 100644 index cdb37403d..000000000 --- a/test/ldso/libtest.c +++ /dev/null @@ -1,16 +0,0 @@ -#include -#include -#include - -extern int __pthread_return_0(void); - -void dltest(uint32_t **value1, uint32_t **value2) -{ - *value1 = (uint32_t *) __pthread_return_0; - *value2 = (uint32_t *) pthread_self; -#if 0 - printf("dltest: __pthread_return_0=%p\n", __pthread_return_0); - printf("dltest: pthread_self=%p\n", pthread_self); -#endif -} - -- cgit v1.2.3