From 05056a8d5b72672948f507978c7ce1e2897d30be Mon Sep 17 00:00:00 2001 From: Dave Korn Date: Wed, 27 May 2009 18:40:56 +0000 Subject: 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. --- ld/testsuite/ld-pe/non-c-lang-syms.d | 10 ++++++++++ ld/testsuite/ld-pe/non-c-lang-syms.s | 15 +++++++++++++++ ld/testsuite/ld-pe/pe.exp | 7 +++++++ 3 files changed, 32 insertions(+) create mode 100755 ld/testsuite/ld-pe/non-c-lang-syms.d create mode 100755 ld/testsuite/ld-pe/non-c-lang-syms.s (limited to 'ld/testsuite/ld-pe') 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 -- cgit v1.1