aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-07-21 06:58:27 +0000
committerUlrich Drepper <drepper@redhat.com>2000-07-21 06:58:27 +0000
commitfcacb36a0c1a5c1175952b0f2aedad54b0fb1f10 (patch)
tree3041bb3060bb4ace63f7b1a5adb2df837adaccce /elf
parentf53c03c20d6039d78cf1ccb43fbbbe79e0ec7e9e (diff)
downloadglibc-fcacb36a0c1a5c1175952b0f2aedad54b0fb1f10.zip
glibc-fcacb36a0c1a5c1175952b0f2aedad54b0fb1f10.tar.gz
glibc-fcacb36a0c1a5c1175952b0f2aedad54b0fb1f10.tar.bz2
Update.
* elf/Makefile (tests): Add filter. Add rules to generate filter. * elf/filter.c: New file. * elf/filtmod1.c: New file. * elf/filtmod2.c: New file.
Diffstat (limited to 'elf')
-rw-r--r--elf/Makefile8
-rw-r--r--elf/filter.c14
-rw-r--r--elf/filtmod1.c5
-rw-r--r--elf/filtmod2.c5
4 files changed, 30 insertions, 2 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 2da8aca..360e764 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -85,7 +85,7 @@ endif
ifeq (yes,$(build-shared))
tests = loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
- constload1 order $(tests-vis-$(have-protected)) noload \
+ constload1 order $(tests-vis-$(have-protected)) noload filter \
$(tests-nodelete-$(have-z-nodelete)) \
$(tests-nodlopen-$(have-z-nodlopen))
tests-vis-yes = vismain
@@ -96,7 +96,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
testobj1_1 failobj constload2 constload3 \
dep1 dep2 dep3 dep4 $(modules-vis-$(have-protected)) \
$(modules-nodelete-$(have-z-nodelete)) \
- $(modules-nodlopen-$(have-z-nodlopen))
+ $(modules-nodlopen-$(have-z-nodlopen)) filtmod1 filtmod2
modules-vis-yes = vismod1 vismod2 vismod3
modules-nodelete-yes = nodelmod1 nodelmod2 nodelmod3 nodelmod4
modules-nodlopen-yes = nodlopenmod
@@ -243,6 +243,7 @@ $(objpfx)dep1.so: $(objpfx)dep2.so $(objpfx)dep4.so
$(objpfx)dep2.so: $(objpfx)dep3.so $(objpfx)dep4.so
$(objpfx)dep4.so: $(objpfx)dep3.so
$(objpfx)nodelmod3.so: $(objpfx)nodelmod4.so
+$(objpfx)filtmod1.so: $(objpfx)filtmod2.so
$(test-modules): $(objpfx)%.so: $(objpfx)%.os
$(build-module)
@@ -313,3 +314,6 @@ $(objpfx)nodelete.out: $(objpfx)nodelmod1.so $(objpfx)nodelmod2.so \
LDFLAGS-nodlopenmod.so = -Wl,--enable-new-dtags,-z,nodlopen
$(objpfx)nodlopen: $(libdl)
$(objpfx)nodlopen.out: $(objpfx)nodlopenmod.so
+
+LDFLAGS-filtmod1.so = -Wl,-F,$(objpfx)filtmod2.so
+$(objpfx)filter: $(objpfx)filtmod1.so
diff --git a/elf/filter.c b/elf/filter.c
new file mode 100644
index 0000000..76bc91a
--- /dev/null
+++ b/elf/filter.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+#include <string.h>
+
+extern const char *foo (void);
+
+int
+main (void)
+{
+ const char *s = foo ();
+
+ printf ("called `foo' from `%s'\n", s);
+
+ return strcmp (s, "filtmod2.c");
+}
diff --git a/elf/filtmod1.c b/elf/filtmod1.c
new file mode 100644
index 0000000..3810d7f
--- /dev/null
+++ b/elf/filtmod1.c
@@ -0,0 +1,5 @@
+const char *
+foo (void)
+{
+ return __FILE__;
+}
diff --git a/elf/filtmod2.c b/elf/filtmod2.c
new file mode 100644
index 0000000..3810d7f
--- /dev/null
+++ b/elf/filtmod2.c
@@ -0,0 +1,5 @@
+const char *
+foo (void)
+{
+ return __FILE__;
+}