summary refs log tree commit diff
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.tar.gz
glibc-fcacb36a0c1a5c1175952b0f2aedad54b0fb1f10.tar.xz
glibc-fcacb36a0c1a5c1175952b0f2aedad54b0fb1f10.zip
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 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__;
+}