diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-07-17 00:34:35 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-07-17 00:34:35 +0000 |
commit | 11fa51b8f64823ae4acb844d782540d72e130f40 (patch) | |
tree | 1c046af07c67ad58b6239473abc85ecceae9e65b /elf/circleload1.c | |
parent | d747a0a564d522ab31944eac60e923e4596b3684 (diff) | |
download | glibc-11fa51b8f64823ae4acb844d782540d72e130f40.tar.gz glibc-11fa51b8f64823ae4acb844d782540d72e130f40.tar.xz glibc-11fa51b8f64823ae4acb844d782540d72e130f40.zip |
Update.
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.
Diffstat (limited to 'elf/circleload1.c')
-rw-r--r-- | elf/circleload1.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/elf/circleload1.c b/elf/circleload1.c index 60f8fb5bad..7ac101a799 100644 --- a/elf/circleload1.c +++ b/elf/circleload1.c @@ -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]; |