about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-03-10 06:32:33 +0000
committerUlrich Drepper <drepper@redhat.com>2001-03-10 06:32:33 +0000
commit719404ef2e29b2240da9c63c525a9493f9bf764a (patch)
treed5c5efbb22338d34bf11f14d628cb5b62d5c5483
parent9672b9372f7943f1a8a9d6c32c862459551985eb (diff)
downloadglibc-719404ef2e29b2240da9c63c525a9493f9bf764a.tar.gz
glibc-719404ef2e29b2240da9c63c525a9493f9bf764a.tar.xz
glibc-719404ef2e29b2240da9c63c525a9493f9bf764a.zip
(main): Don't perform the test if __dso_handle is not available.
-rw-r--r--dlfcn/tstatexit.c8
-rw-r--r--dlfcn/tstcxaatexit.c7
2 files changed, 15 insertions, 0 deletions
diff --git a/dlfcn/tstatexit.c b/dlfcn/tstatexit.c
index e3dfe4bd08..58bc8a02c0 100644
--- a/dlfcn/tstatexit.c
+++ b/dlfcn/tstatexit.c
@@ -21,6 +21,8 @@
 #include <stdlib.h>
 
 
+extern void *__dso_handle __attribute__ ((__weak__));
+
 int
 main (void)
 {
@@ -29,6 +31,12 @@ main (void)
   void (*fp) (void *);
   int v = 0;
 
+  if (&__dso_handle == NULL)
+    {
+      puts ("__dso_handle not available, cannot perform the test");
+      exit (0);
+    }
+
   h = dlopen (fname, RTLD_NOW);
   if (h == NULL)
     {
diff --git a/dlfcn/tstcxaatexit.c b/dlfcn/tstcxaatexit.c
index 9ae86d0275..b78ba64d36 100644
--- a/dlfcn/tstcxaatexit.c
+++ b/dlfcn/tstcxaatexit.c
@@ -20,6 +20,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+extern void *__dso_handle __attribute__ ((__weak__));
 
 int
 main (void)
@@ -29,6 +30,12 @@ main (void)
   void (*fp) (void *);
   int v = 0;
 
+  if (&__dso_handle == NULL)
+    {
+      puts ("__dso_handle not available, cannot perform the test");
+      exit (0);
+    }
+
   h = dlopen (fname, RTLD_LAZY);
   if (h == NULL)
     {