mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
a2c5833233
The result of running etc/update-copyright.py --this-year, fixing all the files whose mode is changed by the script, plus a build with --enable-maintainer-mode --enable-cgen-maint=yes, then checking out */po/*.pot which we don't update frequently. The copy of cgen was with commit d1dd5fcc38ead reverted as that commit breaks building of bfp opcodes files.
302 lines
9.9 KiB
Plaintext
302 lines
9.9 KiB
Plaintext
# Copyright (C) 2002-2022 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
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
if {![istarget "i*86-*-*"]
|
|
&& ![istarget "x86_64-*-mingw*"]
|
|
&& ![istarget "arm-*-pe*"]} {
|
|
return
|
|
}
|
|
|
|
if {![istarget "i*86-*-*pe*"] \
|
|
&& ![istarget "i*86-*-cygwin*"] \
|
|
&& ![istarget "i*86-*-mingw32*"] \
|
|
&& ![istarget "arm-*-pe*"] \
|
|
&& ![istarget "x86_64-*-mingw*"] } {
|
|
set target_xfail "yes"
|
|
} else {
|
|
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
|
|
}
|
|
|
|
if {[which $DLLTOOL] == 0} then {
|
|
return
|
|
}
|
|
|
|
verbose "$DLLTOOL --leading-underscore -d $srcdir/$subdir/fastcall.def" 1
|
|
catch "exec $DLLTOOL --leading-underscore -d $srcdir/$subdir/fastcall.def" err
|
|
|
|
if ![string match "" $err] then {
|
|
send_log "$err\n"
|
|
verbose "$err" 1
|
|
fail "dlltool (fastcall export)"
|
|
} else {
|
|
pass "dlltool (fastcall export)"
|
|
}
|
|
|
|
if { "$target_xfail" == "yes" } {
|
|
setup_xfail *-*
|
|
}
|
|
|
|
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"
|
|
verbose "$err" 1
|
|
fail "dlltool (version.dll)"
|
|
} else {
|
|
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
|
|
|
|
if ![string match "" $err] then {
|
|
send_log "$err\n"
|
|
verbose "$err" 1
|
|
fail "dlltool -p (execution)"
|
|
continue
|
|
}
|
|
|
|
pass "dlltool -p (execution)"
|
|
|
|
set got [binutils_run $NM "tmpdir/libalias.a"]
|
|
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)"
|
|
} else {
|
|
fail "dlltool -p (symbol names)"
|
|
}
|
|
|
|
set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias.a"]
|
|
set want "(Contents of section .idata\\\$6:.*\\.\\.symbol\\.\\..*){2,2}"
|
|
|
|
if [regexp $want $got] then {
|
|
pass "dlltool -p (import name)"
|
|
} else {
|
|
fail "dlltool -p (import name)"
|
|
}
|
|
|
|
verbose "$DLLTOOL -p prefix --leading-underscore -l tmpdir/libalias2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" 1
|
|
catch "exec $DLLTOOL -p prefix --leading-underscore -l tmpdir/libalias2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" err
|
|
|
|
if ![string match "" $err] then {
|
|
send_log "$err\n"
|
|
verbose "$err" 1
|
|
fail "dlltool -p (execution) alias-2.def"
|
|
continue
|
|
}
|
|
|
|
pass "dlltool -p (execution) alias-2.def"
|
|
|
|
set got [binutils_run $NM "tmpdir/libalias2.a"]
|
|
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"
|
|
} else {
|
|
fail "dlltool -p (symbol names) alias-2.def"
|
|
}
|
|
|
|
set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias2.a"]
|
|
set want "(Contents of section .idata\\\$6:.*\\.\\.something\\..*){2,2}"
|
|
|
|
if [regexp $want $got] then {
|
|
pass "dlltool -p (import name) alias-2.def"
|
|
} else {
|
|
fail "dlltool -p (import name) alias-2.def"
|
|
}
|
|
|
|
# Here we test explicit without leading underscore
|
|
|
|
verbose "$DLLTOOL --no-leading-underscore -d $srcdir/$subdir/fastcall.def" 1
|
|
catch "exec $DLLTOOL --no-leading-underscore -d $srcdir/$subdir/fastcall.def" err
|
|
|
|
if ![string match "" $err] then {
|
|
send_log "$err\n"
|
|
verbose "$err" 1
|
|
fail "dlltool (fastcall export no leading underscore)"
|
|
} else {
|
|
pass "dlltool (fastcall export no leading underscore)"
|
|
}
|
|
|
|
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
|
|
|
|
if ![string match "" $err] then {
|
|
send_log "$err\n"
|
|
verbose "$err" 1
|
|
fail "dlltool -p (execution no leading underscore)"
|
|
continue
|
|
}
|
|
|
|
pass "dlltool -p (execution no leading underscore)"
|
|
|
|
set got [binutils_run $NM "tmpdir/libalias_nu.a"]
|
|
set want "00000000 I __imp_prefixsymbol.*00000000 T prefixsymbol.*00000000 I __imp_symbol.*00000000 T symbol"
|
|
|
|
if [regexp $want $got] then {
|
|
pass "dlltool -p (symbol names no leading underscore)"
|
|
} else {
|
|
fail "dlltool -p (symbol names no leading underscore)"
|
|
}
|
|
|
|
set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias_nu.a"]
|
|
set want "(Contents of section .idata\\\$6:.*\\.\\.symbol\\.\\..*){2,2}"
|
|
|
|
if [regexp $want $got] then {
|
|
pass "dlltool -p (import name no leading underscore)"
|
|
} else {
|
|
fail "dlltool -p (import name no leading underscore)"
|
|
}
|
|
|
|
verbose "$DLLTOOL --no-leading-underscore -p prefix -l tmpdir/libalias_nu2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" 1
|
|
catch "exec $DLLTOOL --no-leading-underscore -p prefix -l tmpdir/libalias_nu2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" err
|
|
|
|
if ![string match "" $err] then {
|
|
send_log "$err\n"
|
|
verbose "$err" 1
|
|
fail "dlltool -p (execution no leading underscore) alias-2.def"
|
|
continue
|
|
}
|
|
|
|
pass "dlltool -p (execution no leading underscore) alias-2.def"
|
|
|
|
set got [binutils_run $NM "tmpdir/libalias_nu2.a"]
|
|
set want "00000000 I __imp_prefixsymbol.*00000000 T prefixsymbol.*00000000 I __imp_symbol.*00000000 T symbol"
|
|
|
|
if [regexp $want $got] then {
|
|
pass "dlltool -p (symbol names no leading underscore) alias-2.def"
|
|
} else {
|
|
fail "dlltool -p (symbol names no leading underscore) alias-2.def"
|
|
}
|
|
|
|
set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias_nu2.a"]
|
|
set want "(Contents of section .idata\\\$6:.*\\.\\.something\\..*){2,2}"
|
|
|
|
if [regexp $want $got] then {
|
|
pass "dlltool -p (import name no leading underscore) alias-2.def"
|
|
} else {
|
|
fail "dlltool -p (import name no leading underscore) alias-2.def"
|
|
}
|
|
|
|
# Now we test with leading underscore
|
|
verbose "$DLLTOOL --leading-underscore -d $srcdir/$subdir/fastcall.def" 1
|
|
catch "exec $DLLTOOL --leading-underscore -d $srcdir/$subdir/fastcall.def" err
|
|
|
|
if ![string match "" $err] then {
|
|
send_log "$err\n"
|
|
verbose "$err" 1
|
|
fail "dlltool (fastcall export leading underscore)"
|
|
} else {
|
|
pass "dlltool (fastcall export leading underscore)"
|
|
}
|
|
|
|
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
|
|
|
|
if ![string match "" $err] then {
|
|
send_log "$err\n"
|
|
verbose "$err" 1
|
|
fail "dlltool -p (execution leading underscore)"
|
|
continue
|
|
}
|
|
|
|
pass "dlltool -p (execution leading-underscore)"
|
|
|
|
set got [binutils_run $NM "tmpdir/libalias_u.a"]
|
|
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)"
|
|
} else {
|
|
fail "dlltool -p (symbol names leading underscore)"
|
|
}
|
|
|
|
set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias_u.a"]
|
|
set want "(Contents of section .idata\\\$6:.*\\.\\.symbol\\..*){2,2}"
|
|
|
|
if [regexp $want $got] then {
|
|
pass "dlltool -p (import name leading underscore)"
|
|
} else {
|
|
fail "dlltool -p (import name leading underscore)"
|
|
}
|
|
|
|
verbose "$DLLTOOL --leading-underscore -p prefix -l tmpdir/libalias_u2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" 1
|
|
catch "exec $DLLTOOL --leading-underscore -p prefix -l tmpdir/libalias_u2.a -d $srcdir/$subdir/alias-2.def $dlltool_gas_flag" err
|
|
|
|
if ![string match "" $err] then {
|
|
send_log "$err\n"
|
|
verbose "$err" 1
|
|
fail "dlltool -p (execution) alias-2.def"
|
|
continue
|
|
}
|
|
|
|
pass "dlltool -p (execution leading underscore) alias-2.def"
|
|
|
|
set got [binutils_run $NM "tmpdir/libalias_u2.a"]
|
|
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"
|
|
} else {
|
|
fail "dlltool -p (symbol names leading underscore) alias-2.def"
|
|
}
|
|
|
|
set got [binutils_run $OBJDUMP "-s -j .idata\$6 tmpdir/libalias_u2.a"]
|
|
set want "(Contents of section .idata\\\$6:.*\\.\\.something\\..*){2,2}"
|
|
|
|
if [regexp $want $got] then {
|
|
pass "dlltool -p (import name leading underscore) alias-2.def"
|
|
} else {
|
|
fail "dlltool -p (import name leading underscore) alias-2.def"
|
|
}
|