diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-selective/selective.exp | 16 |
2 files changed, 18 insertions, 4 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index e36213f..3a4ed36 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2001-07-24 Loren J. Rittle <ljrittle@acm.org> + + * ld-selective/selective.exp: Support g++ V3 ABI (along side + the old ABI). Make comparisons against normalized (to + V3-style) demangled nm output. + 2001-07-24 Alan Modra <amodra@bigpond.net.au> * config/default.exp (ld_nm): Add "nmflags" arg. diff --git a/ld/testsuite/ld-selective/selective.exp b/ld/testsuite/ld-selective/selective.exp index 7e9d3b1..34ea32d 100644 --- a/ld/testsuite/ld-selective/selective.exp +++ b/ld/testsuite/ld-selective/selective.exp @@ -41,9 +41,10 @@ set seltests { {selective1 C 1.c {} {} {dropme1 dropme2} {alpha*-*}} {selective2 C 2.c {} {} {foo} {alpha*-* mips*-*}} {selective3 C 2.c {-u foo} {foo} {{foo 0}} {mips*-*}} - {selective4 C++ 3.cc {} {start foo__1A foo__1B} {bar__1A} {alpha*-* mips*-*}} - {selective5 C++ 4.cc {} {} {foo__1B foo__1A} {alpha*-* mips*-*}} - {selective6 C++ 5.cc {} {} {foo__1B foo__1A dropme1__Fv dropme2__Fv} {*-*-*}} + {selective4 C++ 3.cc {} {start a A::foo() B::foo()} {A::bar()} {mips*-*}} + {selective5 C++ 4.cc {} {start a A::bar()} {A::foo() B::foo()} {mips*-*}} + {selective6 C++ 5.cc {} {start a A::bar()} + {A::foo() B::foo() dropme1() dropme2()} {*-*-*}} } set cflags "-w -O -ffunction-sections -fdata-sections" @@ -106,11 +107,18 @@ foreach testitem $seltests { continue } - if ![ld_nm $nm "" $ldfile] { + if ![ld_nm $nm --demangle $ldfile] { unresolved $testname continue } + # Must make V2 demangled names look like V3 + foreach nm_output_key [array names nm_output] { + if [regsub \\(void\\) $nm_output_key () new_nm_output_key] { + set nm_output($new_nm_output_key) nm_output($nm_output_key) + } + } + # Check each mandated symbol and optionally mandated values. foreach mustsym $mustsyms { if { [llength [concat $mustsym]] == 1 } { |