X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=binutils%2Ftestsuite%2Fbinutils-all%2Fdlltool.exp;h=553215253cfaa98746d62e92da8e282ad2dcccb6;hb=2379f9c475505ecedc97607b39af7184bd67aa88;hp=1493e6e19832446accc96354da66ab99c34359ca;hpb=aa83d1ec50580e15fe002044c8d8babb6da8a4c0;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/testsuite/binutils-all/dlltool.exp b/binutils/testsuite/binutils-all/dlltool.exp index 1493e6e198..553215253c 100644 --- a/binutils/testsuite/binutils-all/dlltool.exp +++ b/binutils/testsuite/binutils-all/dlltool.exp @@ -1,4 +1,4 @@ -# Copyright 2002, 2004, 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright (C) 2002-2019 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -30,6 +30,13 @@ if {![istarget "i*86-*-*pe*"] \ set target_xfail "no" } +# PR 19459: The ARM does not support inserting a leading underscore. +if { [istarget "arm-*-pe*"] } { + set target_no_leading_underscore "yes" +} else { + set target_no_leading_underscore "no" +} + if {![info exists DLLTOOL]} then { return } @@ -53,8 +60,8 @@ if { "$target_xfail" == "yes" } { setup_xfail *-* } -verbose "$DLLTOOL -l libversion.a --def $srcdir/$subdir/version.def" 1 -catch "exec $DLLTOOL -l libersion.a --def $srcdir/$subdir/version.def" err +verbose "$DLLTOOL -l libversion.a --def $srcdir/$subdir/version.def $dlltool_gas_flag" 1 +catch "exec $DLLTOOL -l libersion.a --def $srcdir/$subdir/version.def $dlltool_gas_flag" err if ![string match "" $err] then { send_log "$err\n" @@ -64,6 +71,10 @@ if ![string match "" $err] then { pass "dlltool (version.dll)" } +if { "$target_xfail" == "yes" } { + setup_xfail *-* +} + verbose "$DLLTOOL -p prefix --leading-underscore -l tmpdir/libalias.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" 1 catch "exec $DLLTOOL -p prefix --leading-underscore -l tmpdir/libalias.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" err @@ -77,7 +88,11 @@ if ![string match "" $err] then { pass "dlltool -p (execution)" set got [binutils_run $NM "tmpdir/libalias.a"] -set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol" +if { "$target_no_leading_underscore" == "yes" } { + set want "00000000 I __imp_prefixsymbol.*00000000 T prefixsymbol.*00000000 I __imp_symbol.*00000000 T symbol" +} else { + set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol" +} if [regexp $want $got] then { pass "dlltool -p (symbol names)" @@ -107,7 +122,11 @@ if ![string match "" $err] then { pass "dlltool -p (execution) alias-2.def" set got [binutils_run $NM "tmpdir/libalias2.a"] -set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol" +if { "$target_no_leading_underscore" == "yes" } { + set want "00000000 I __imp_prefixsymbol.*00000000 T prefixsymbol.*00000000 I __imp_symbol.*00000000 T symbol" +} else { + set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol" +} if [regexp $want $got] then { pass "dlltool -p (symbol names) alias-2.def" @@ -137,10 +156,6 @@ if ![string match "" $err] then { pass "dlltool (fastcall export no leading underscore)" } -if { "$target_xfail" == "yes" } { - setup_xfail *-* -} - verbose "$DLLTOOL --no-leading-underscore -p prefix -l tmpdir/libalias_nu.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" 1 catch "exec $DLLTOOL --no-leading-underscore -p prefix -l tmpdir/libalias_nu.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" err @@ -213,10 +228,6 @@ if ![string match "" $err] then { pass "dlltool (fastcall export leading underscore)" } -if { "$target_xfail" == "yes" } { - setup_xfail *-* -} - verbose "$DLLTOOL --leading-underscore -p prefix -l tmpdir/libalias_u.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" 1 catch "exec $DLLTOOL --leading-underscore -p prefix -l tmpdir/libalias_u.a -d $srcdir/$subdir/alias.def $dlltool_gas_flag" err @@ -230,7 +241,15 @@ if ![string match "" $err] then { pass "dlltool -p (execution leading-underscore)" set got [binutils_run $NM "tmpdir/libalias_u.a"] -set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol" +if { "$target_no_leading_underscore" == "yes" } { + set want "00000000 I __imp_prefixsymbol.*00000000 T prefixsymbol.*00000000 I __imp_symbol.*00000000 T symbol" +} else { + set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol" +} + +if { "$target_xfail" == "yes" } { + setup_xfail *-* +} if [regexp $want $got] then { pass "dlltool -p (symbol names leading underscore)" @@ -260,7 +279,11 @@ if ![string match "" $err] then { pass "dlltool -p (execution leading underscore) alias-2.def" set got [binutils_run $NM "tmpdir/libalias_u2.a"] -set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol" +if { "$target_no_leading_underscore" == "yes" } { + set want "00000000 I __imp_prefixsymbol.*00000000 T prefixsymbol.*00000000 I __imp_symbol.*00000000 T symbol" +} else { + set want "00000000 I __imp__prefix_symbol.*00000000 T _prefix_symbol.*00000000 I __imp__symbol.*00000000 T _symbol" +} if [regexp $want $got] then { pass "dlltool -p (symbol names leading underscore) alias-2.def"