aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-pe
diff options
context:
space:
mode:
authorDave Korn <dave.korn@artimi.com>2009-05-27 18:40:56 +0000
committerDave Korn <dave.korn@artimi.com>2009-05-27 18:40:56 +0000
commit05056a8d5b72672948f507978c7ce1e2897d30be (patch)
tree1393f040fe5028138329b878204491fd11f24bee /ld/testsuite/ld-pe
parent97c4411662ebaae1d51ff328632f26c82a3bda89 (diff)
downloadgdb-05056a8d5b72672948f507978c7ce1e2897d30be.zip
gdb-05056a8d5b72672948f507978c7ce1e2897d30be.tar.gz
gdb-05056a8d5b72672948f507978c7ce1e2897d30be.tar.bz2
ld/ChangeLog
* deffilep.y (%union): Add new string-type semantic value 'digits'. (%token): Remove NUMBER as token, add DIGITS. (%type): Add NUMBER as type. Add new id types anylang_id, opt_id. (ALIGNCOMM): Parse an anylang_id instead of a plain ID. (anylang_id): New production. (opt_digits): Likewise. (opt_id): Likewise. (NUMBER): Likewise. (def_lex): Return strings of digits in raw string form as DIGITS token, instead of converting to numeric integer type. ld/testsuite/ChangeLog * ld-pe/non-c-lang-syms.c: New dump test source file. * ld-pe/non-c-lang-syms.d: New dump test pattern file. * ld-pe/pe.exp: Run new "foreign symbol" test.
Diffstat (limited to 'ld/testsuite/ld-pe')
-rwxr-xr-xld/testsuite/ld-pe/non-c-lang-syms.d10
-rwxr-xr-xld/testsuite/ld-pe/non-c-lang-syms.s15
-rw-r--r--ld/testsuite/ld-pe/pe.exp7
3 files changed, 32 insertions, 0 deletions
diff --git a/ld/testsuite/ld-pe/non-c-lang-syms.d b/ld/testsuite/ld-pe/non-c-lang-syms.d
new file mode 100755
index 0000000..3c7fa93
--- /dev/null
+++ b/ld/testsuite/ld-pe/non-c-lang-syms.d
@@ -0,0 +1,10 @@
+#...
+[0-9A-Fa-f]{6,14}[08]0 B _?test\$equiv\.eq\.
+[0-9A-Fa-f]{6,14}[02468aAcCeE]0 B _?test\$equiv\.eq\.100
+[0-9A-Fa-f]{6,14}[0-9A-Fa-f]0 B _?test\$equiv\.eq\.1_
+[0-9A-Fa-f]{6,14}[048cC]0 B _?test\$equiv\.eq\._
+[0-9A-Fa-f]{6,14}[08]0 B _?test_equiv\.eq\.
+[0-9A-Fa-f]{6,14}[02468aAcCeE]0 B _?test_equiv\.eq\.100
+[0-9A-Fa-f]{6,14}[0-9A-Fa-f]0 B _?test_equiv\.eq\.1_
+[0-9A-Fa-f]{6,14}[048cC]0 B _?test_equiv\.eq\._
+#...
diff --git a/ld/testsuite/ld-pe/non-c-lang-syms.s b/ld/testsuite/ld-pe/non-c-lang-syms.s
new file mode 100755
index 0000000..e849d9e
--- /dev/null
+++ b/ld/testsuite/ld-pe/non-c-lang-syms.s
@@ -0,0 +1,15 @@
+
+main:
+_main:
+ nop
+
+ .comm _test_equiv.eq.1_, 16, 4
+ .comm _test_equiv.eq.100, 16, 5
+ .comm _test_equiv.eq._, 16, 6
+ .comm _test_equiv.eq., 16, 7
+
+ .comm _test$equiv.eq.1_, 16, 4
+ .comm _test$equiv.eq.100, 16, 5
+ .comm _test$equiv.eq._, 16, 6
+ .comm _test$equiv.eq., 16, 7
+
diff --git a/ld/testsuite/ld-pe/pe.exp b/ld/testsuite/ld-pe/pe.exp
index 3fcf8cb..648e9a0 100644
--- a/ld/testsuite/ld-pe/pe.exp
+++ b/ld/testsuite/ld-pe/pe.exp
@@ -69,3 +69,10 @@ run_dump_test "longsecn-4"
run_dump_test "longsecn-5"
run_dump_test "orphan"
+
+set foreign_sym_test {
+ {"non-C aligned common" "" "" {non-c-lang-syms.s}
+ {{nm -C non-c-lang-syms.d}} "non-c-lang-syms.x"}
+}
+
+run_ld_link_tests $foreign_sym_test