about summary refs log tree commit diff
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;
+}