aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-elfvers
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2005-10-13 17:29:57 +0000
committerMark Mitchell <mark@codesourcery.com>2005-10-13 17:29:57 +0000
commit86043bbbd53f965b6f2003af2f96f55c6702d0de (patch)
tree7d60692bd4cfd11bcc87add6bf515321c42c27cb /ld/testsuite/ld-elfvers
parent16451949d7083391405bb46c06a2fadac01f5c42 (diff)
downloadgdb-86043bbbd53f965b6f2003af2f96f55c6702d0de.zip
gdb-86043bbbd53f965b6f2003af2f96f55c6702d0de.tar.gz
gdb-86043bbbd53f965b6f2003af2f96f55c6702d0de.tar.bz2
* ld.texino: Describe double-quoted string syntax for version
nodes. * ldlang.h (lang_new_vers_pattern): Add literal_p parameter. * ldgram.y (vers_defns): Allow NAME as well as VERS_IDENTIFIER. Adjust calls to lang_new_vers_pattern to pass literal_p argument. * ldlang.c (lang_vers_match): Fix indentation. Do not glob-match version nodes without a pattern. (lang_new_vers_pattern): Add literal_p parameter. (lang_do_version_exports_section): Pass it. * ld-elfvers/vers.exp: Add vers31. * ld-elfvers/vers31.c: New file. * ld-elfvers/vers31.dsym: Likewise. * ld-elfvers/vers31.map: Likewise. * ld-elfvers/vers31.ver: Likewise.
Diffstat (limited to 'ld/testsuite/ld-elfvers')
-rw-r--r--ld/testsuite/ld-elfvers/vers.exp3
-rw-r--r--ld/testsuite/ld-elfvers/vers31.c6
-rw-r--r--ld/testsuite/ld-elfvers/vers31.dsym2
-rw-r--r--ld/testsuite/ld-elfvers/vers31.map5
-rw-r--r--ld/testsuite/ld-elfvers/vers31.ver3
5 files changed, 19 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elfvers/vers.exp b/ld/testsuite/ld-elfvers/vers.exp
index bc11550..3426137 100644
--- a/ld/testsuite/ld-elfvers/vers.exp
+++ b/ld/testsuite/ld-elfvers/vers.exp
@@ -964,3 +964,6 @@ build_vers_lib_pic_flags "vers29" vers29.c vers29 "" "" vers29.ver vers29.dsym "
# Test #30 - test handling of symbol names global, local and extern in the
# version script.
build_vers_lib_pic "vers30" vers30.c vers30 "" vers30.map vers30.ver vers30.dsym ""
+
+# Test #31 -- quoted strings in version sections.
+build_vers_lib_pic "vers31" vers31.c vers31 "" vers31.map vers31.ver vers31.dsym ""
diff --git a/ld/testsuite/ld-elfvers/vers31.c b/ld/testsuite/ld-elfvers/vers31.c
new file mode 100644
index 0000000..78d3927
--- /dev/null
+++ b/ld/testsuite/ld-elfvers/vers31.c
@@ -0,0 +1,6 @@
+/* void f<int [3], char>(int (*) [3], char) */
+void _Z1fIA3_icEvPT_T0_() {}
+
+/* void f<double [3], long>(double (*) [3], long) */
+void _Z1fIA3_dlEvPT_T0_() {}
+
diff --git a/ld/testsuite/ld-elfvers/vers31.dsym b/ld/testsuite/ld-elfvers/vers31.dsym
new file mode 100644
index 0000000..8924ed8
--- /dev/null
+++ b/ld/testsuite/ld-elfvers/vers31.dsym
@@ -0,0 +1,2 @@
+[0]* g DO \*ABS\* [0]* VERS_31.0 VERS_31.0
+[0-9a-f]* g DF (.text|\*ABS\*) [0-9a-f]* VERS_31.0 _Z1fIA3_icEvPT_T0
diff --git a/ld/testsuite/ld-elfvers/vers31.map b/ld/testsuite/ld-elfvers/vers31.map
new file mode 100644
index 0000000..e2d4baf
--- /dev/null
+++ b/ld/testsuite/ld-elfvers/vers31.map
@@ -0,0 +1,5 @@
+VERS_31.0 {
+ extern "C++" {
+ "void f<int [3], char>(int (*) [3], char)";
+ };
+};
diff --git a/ld/testsuite/ld-elfvers/vers31.ver b/ld/testsuite/ld-elfvers/vers31.ver
new file mode 100644
index 0000000..b79a5ab
--- /dev/null
+++ b/ld/testsuite/ld-elfvers/vers31.ver
@@ -0,0 +1,3 @@
+Version definitions:
+1 0x01 0x0966595f vers31.so
+2 0x00 0x07923ab0 VERS_31.0