From 86043bbbd53f965b6f2003af2f96f55c6702d0de Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Thu, 13 Oct 2005 17:29:57 +0000 Subject: * 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. --- ld/testsuite/ChangeLog | 8 ++++++++ ld/testsuite/ld-elfvers/vers.exp | 3 +++ ld/testsuite/ld-elfvers/vers31.c | 6 ++++++ ld/testsuite/ld-elfvers/vers31.dsym | 2 ++ ld/testsuite/ld-elfvers/vers31.map | 5 +++++ ld/testsuite/ld-elfvers/vers31.ver | 3 +++ 6 files changed, 27 insertions(+) create mode 100644 ld/testsuite/ld-elfvers/vers31.c create mode 100644 ld/testsuite/ld-elfvers/vers31.dsym create mode 100644 ld/testsuite/ld-elfvers/vers31.map create mode 100644 ld/testsuite/ld-elfvers/vers31.ver (limited to 'ld/testsuite') diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index c80b5db..4e5d217 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2005-10-13 Mark Mitchell + + * 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. + 2005-10-08 Paul Brook * ld-arm/arm-rel31.d: Ignore Arm object attribute sections. 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) */ +void _Z1fIA3_icEvPT_T0_() {} + +/* void f(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)"; + }; +}; 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 -- cgit v1.1