summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--elf/Makefile8
-rw-r--r--elf/filter.c14
-rw-r--r--elf/filtmod1.c5
-rw-r--r--elf/filtmod2.c5
5 files changed, 35 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5d9be22c22..40a99576ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2000-07-20 Ulrich Drepper <drepper@redhat.com>
+ * 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.
+
* elf/rtld.c: Define _dl_bind_not variable.
(process_envvars): Recognize LD_BIND_NOT and set _dl_bind_not.
* elf/dl-support.c: Likewise.
diff --git a/elf/Makefile b/elf/Makefile
index 2da8acaf41..360e764a52 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 0000000000..76bc91adc5
--- /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 0000000000..3810d7fa84
--- /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 0000000000..3810d7fa84
--- /dev/null
+++ b/elf/filtmod2.c
@@ -0,0 +1,5 @@
+const char *
+foo (void)
+{
+ return __FILE__;
+}