summaryrefslogtreecommitdiff
path: root/dlfcn
diff options
context:
space:
mode:
Diffstat (limited to 'dlfcn')
-rw-r--r--dlfcn/Makefile6
-rw-r--r--dlfcn/bug-dlopen1.c12
2 files changed, 16 insertions, 2 deletions
diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index f359f56d82..abe40965ab 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -35,7 +35,7 @@ endif
libdl-shared-only-routines += eval
ifeq (yes,$(build-shared))
-tests = glrefmain failtest tst-dladdr default errmsg1 tstcxaatexit
+tests = glrefmain failtest tst-dladdr default errmsg1 tstcxaatexit bug-dlopen1
ifeq (yes,$(have-protected))
tests += tstatexit
endif
@@ -93,6 +93,8 @@ $(objpfx)tststatic.out: $(objpfx)tststatic $(objpfx)modstatic.so
$(objpfx)modstatic.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
+$(objpfx)bug-dlopen1: $(libdl)
+
# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
# This ensures they will load libc.so for needed symbols if loaded by
# a statically-linked program that hasn't already loaded it.
diff --git a/dlfcn/bug-dlopen1.c b/dlfcn/bug-dlopen1.c
new file mode 100644
index 0000000000..d91810a4f0
--- /dev/null
+++ b/dlfcn/bug-dlopen1.c
@@ -0,0 +1,12 @@
+/* Test case by Bruno Haible. It test whether the dynamic string
+ token expansion can handle $ signs which do not start one of the
+ recognized keywords. */
+
+#include <dlfcn.h>
+
+int main (void)
+{
+ dlopen ("gnu-gettext-GetURL$1", RTLD_GLOBAL | RTLD_LAZY);
+ dlopen ("gnu-gettext-GetURL${1", RTLD_GLOBAL | RTLD_LAZY);
+ return 0;
+}