diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-03-04 19:51:54 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-03-04 19:51:54 +0000 |
commit | 273a3cfb9998b1370657a95f717019c70ec8eb06 (patch) | |
tree | ad370b0b0e31189cb461520e85a846b7760e11e9 /elf | |
parent | bd575f16b497e22fb421f385b6919fcb54af12e4 (diff) | |
download | glibc-273a3cfb9998b1370657a95f717019c70ec8eb06.zip glibc-273a3cfb9998b1370657a95f717019c70ec8eb06.tar.gz glibc-273a3cfb9998b1370657a95f717019c70ec8eb06.tar.bz2 |
Update.
* elf/global.c: New file.
* elf/globalmod1.c: New file.
* elf/Makefile: Add rules to build and run global.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/Makefile | 10 | ||||
-rw-r--r-- | elf/global.c | 7 | ||||
-rw-r--r-- | elf/globalmod1.c | 15 |
3 files changed, 29 insertions, 3 deletions
diff --git a/elf/Makefile b/elf/Makefile index 39f1478..8b243e5 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -57,7 +57,7 @@ distribute := $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \ neededobj1.c neededobj2.c neededobj3.c neededobj4.c \ neededobj5.c neededobj6.c firstobj.c \ unload2mod.c unload2dep.c ltglobmod1.c ltglobmod2.c \ - testobj.h vismod.h + testobj.h vismod.h globalmod1.c include ../Makeconfig @@ -101,7 +101,7 @@ tests = loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ constload1 order $(tests-vis-$(have-protected)) noload filter unload \ reldep reldep2 reldep3 next $(tests-nodelete-$(have-z-nodelete)) \ $(tests-nodlopen-$(have-z-nodlopen)) neededtest neededtest2 \ - neededtest3 neededtest4 unload2 lateglobal initfirst + neededtest3 neededtest4 unload2 lateglobal initfirst global test-srcs = tst-pathopt tests-vis-yes = vismain tests-nodelete-yes = nodelete @@ -114,7 +114,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ $(modules-nodlopen-$(have-z-nodlopen)) filtmod1 filtmod2 \ reldepmod1 reldepmod2 reldepmod3 reldepmod4 nextmod1 nextmod2 \ neededobj1 neededobj2 neededobj3 neededobj4 \ - neededobj5 neededobj6 firstobj \ + neededobj5 neededobj6 firstobj globalmod1 \ unload2mod unload2dep ltglobmod1 ltglobmod2 pathoptobj modules-vis-yes = vismod1 vismod2 vismod3 modules-nodelete-yes = nodelmod1 nodelmod2 nodelmod3 nodelmod4 @@ -271,6 +271,7 @@ $(objpfx)neededobj6.so: $(objpfx)neededobj5.so $(objpfx)unload2mod.so: $(objpfx)unload2dep.so $(objpfx)ltglobmod2.so: $(libdl) $(objpfx)firstobj.so: $(shared-thread-library) +$(objpfx)globalmod1.so: $(libdl) # filtmod1.so has a special rule $(filter-out $(objpfx)filtmod1.so, $(test-modules)): $(objpfx)%.so: $(objpfx)%.os @@ -394,3 +395,6 @@ $(objpfx)tst-pathopt.out: tst-pathopt.sh $(objpfx)tst-pathopt \ $(objpfx)initfirst: $(libdl) $(objpfx)initfirst.out: $(objpfx)firstobj.so + +$(objpfx)global: $(objpfx)globalmod1.so +$(objpfx)global.out: $(objpfx)reldepmod1.so diff --git a/elf/global.c b/elf/global.c new file mode 100644 index 0000000..6a4d960 --- /dev/null +++ b/elf/global.c @@ -0,0 +1,7 @@ +extern int test (void); + +int +main() +{ + return test (); +} diff --git a/elf/globalmod1.c b/elf/globalmod1.c new file mode 100644 index 0000000..778a558 --- /dev/null +++ b/elf/globalmod1.c @@ -0,0 +1,15 @@ +#include <dlfcn.h> +#include <stdio.h> + +int +test (void) +{ + (void) dlopen ("reldepmod4.so", RTLD_LAZY | RTLD_GLOBAL); + if (dlsym (RTLD_DEFAULT, "call_me") != NULL) + { + puts ("found \"call_me\""); + return 0; + } + puts ("didn't find \"call_me\""); + return 1; +} |