From ff5fad1641bbd3b76501e01467b179c6aa6421b8 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 1 Aug 1999 21:43:03 +0000 Subject: Update. * elf/Makefile (tests): Add resolvfail. Add rules to build the program. * elf/resolvfail.c: New file. --- elf/Makefile | 8 +++++++- elf/resolvfail.c | 25 +++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 elf/resolvfail.c (limited to 'elf') diff --git a/elf/Makefile b/elf/Makefile index 5cecc2b3ac..cd0f390d6f 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -71,7 +71,7 @@ install-rootsbin += ldconfig endif ifeq (yes,$(build-shared)) -tests = loadtest restest1 preloadtest loadfail multiload origtest +tests = loadtest restest1 preloadtest loadfail multiload origtest resolvfail endif modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ testobj1_1 failobj @@ -237,3 +237,9 @@ $(objpfx)multiload.out: $(objpfx)testobj1.so $(objpfx)origtest: $(libdl) $(objpfx)origtest.out: $(objpfx)testobj1.so + +ifeq ($(have-thread-library),yes) +$(objpfx)resolvfail: $(libdl) $(shared-thread-library) +else +$(objpfx)resolvfail: $(libdl) +endif diff --git a/elf/resolvfail.c b/elf/resolvfail.c new file mode 100644 index 0000000000..9dd5cbe3d0 --- /dev/null +++ b/elf/resolvfail.c @@ -0,0 +1,25 @@ +#include + +static const char obj[] = "testobj1.so"; + +int +main (void) +{ + void *d = dlopen (obj, RTLD_LAZY); + int n; + + if (d == NULL) + { + printf ("cannot load %s: %s\n", obj, dlerror ()); + return 1; + } + + for (n = 0; n < 10000; ++n) + if (dlsym (d, "does not exist") != NULL) + { + puts ("dlsym() did not fail"); + return 1; + } + + return 0; +} -- cgit 1.4.1