Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 17 Jul 2002 00:34:35 +0000 (00:34 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 17 Jul 2002 00:34:35 +0000 (00:34 +0000)
2002-07-01  H.J. Lu  <hjl@gnu.org>

* elf/circleload1.c (load_dso): Call "circlemod1" and check
return value.

* elf/circlemod1.c (circlemod1): Return int.
* elf/circlemod2.c (circlemod2): Likewise.
* elf/circlemod2a.c (circlemod2): Likewise.
* elf/circlemod3.c (circlemod3): Likewise.
(circlemod3a): A new function.

ChangeLog
elf/circleload1.c
elf/circlemod1.c
elf/circlemod2.c
elf/circlemod2a.c
elf/circlemod3.c

index 556dc4a..2e58fcc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2002-07-01  H.J. Lu  <hjl@gnu.org>
+
+       * elf/circleload1.c (load_dso): Call "circlemod1" and check
+       return value.
+
+       * elf/circlemod1.c (circlemod1): Return int.
+       * elf/circlemod2.c (circlemod2): Likewise.
+       * elf/circlemod2a.c (circlemod2): Likewise.
+       * elf/circlemod3.c (circlemod3): Likewise.
+       (circlemod3a): A new function.
+
 2002-07-16  Ulrich Drepper  <drepper@redhat.com>
 
        * catgets/tst-catgets.c (main): Don't expect results for
index 60f8fb5..7ac101a 100644 (file)
@@ -102,6 +102,24 @@ load_dso (const char **loading, int undef, int flag)
          printf ("ERRORS: dlopen shouldn't work for RTLD_NOW\n");
        }
 
+      if (!undef)
+       {
+         int (*func) (void);
+
+         func = dlsym (obj, "circlemod1");
+         if (func == NULL)
+           {
+             ++errors;
+             printf ("ERRORS: cannot get address of \"circlemod1\": %s\n",
+                     dlerror ());
+           }
+         else if (func () != 3)
+           {
+             ++errors;
+             printf ("ERRORS: function \"circlemod1\" returned wrong result\n");
+           }
+       }
+
       loaded[0] = loading [0];
       loaded[1] = loading [1];
       loaded[2] = loading [2];
index 6b61a4d..933ccd3 100644 (file)
@@ -1,7 +1,7 @@
-extern void circlemod2 (void);
+extern int circlemod2 (void);
 
-void
+int
 circlemod1 (void)
 {
-  circlemod2 ();
+  return circlemod2 ();
 }
index 1c67abc..ed8c117 100644 (file)
@@ -1,9 +1,9 @@
 extern void circlemod2_undefined (void);
-extern void circlemod3 (void);
+extern int circlemod3 (void);
 
-void
+int
 circlemod2 (void)
 {
   circlemod2_undefined ();
-  circlemod3 ();
+  return circlemod3 ();
 }
index f8664a9..dc6410b 100644 (file)
@@ -1,7 +1,7 @@
-extern void circlemod3 (void);
+extern int circlemod3 (void);
 
-void
+int
 circlemod2 (void)
 {
-  circlemod3 ();
+  return circlemod3 ();
 }
index 6ac00a0..8d16fe6 100644 (file)
@@ -1,9 +1,14 @@
-extern void circlemod1 (void);
-extern void circlemod2 (void);
+extern int circlemod1 (void);
+extern int circlemod2 (void);
 
-void
+int
 circlemod3 (void)
 {
-  circlemod1 ();
-  circlemod2 ();
+  return 3;
+}
+
+int
+circlemod3a (void)
+{
+  return circlemod1 () + circlemod2 ();
 }