binutils-gdb/binutils/testsuite/binutils-all/size.exp
Alan Modra a2c5833233 Update year range in copyright notice of binutils files
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.
2022-01-02 12:04:28 +10:30

103 lines
2.9 KiB
Plaintext

# Copyright (C) 1993-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.
# Please email any bugs, comments, and/or additions to this file to:
# bug-dejagnu@prep.ai.mit.edu
# This file was written by Rob Savoye <rob@cygnus.com>
# and rewritten by Ian Lance Taylor <ian@cygnus.com>
if ![is_remote host] {
if {[which $SIZE] == 0} then {
perror "$SIZE does not exist"
return
}
}
send_user "Version [binutil_version $SIZE]"
if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
fail "size (assembling)"
} else {
if [is_remote host] {
set testfile [remote_download host tmpdir/bintest.o]
} else {
set testfile tmpdir/bintest.o
}
set dec "\[0-9\]+"
set hex "\[0-9a-fA-F\]+"
# Test size with no arguments
set got [binutils_run $SIZE "$SIZEFLAGS $testfile"]
set want "($dec)\[ \]+($dec)\[ \]+($dec)\[ \]+($dec)\[ \]+($hex)\[ \]+${testfile}"
if ![regexp $want $got all text data bss dtot hextot] then {
fail "size (no arguments)"
} else {
if {$text < 8 || $data < 4} then {
# The z80-coff port defaults to a "binary" like output
# file format which does not include a data section.
setup_xfail "z80-*-coff"
fail "size (no arguments)"
} else {
pass "size (no arguments)"
}
}
# Test size -A
set got [binutils_run $SIZE "$SIZEFLAGS -A ${testfile}"]
set want "${testfile}.*(text|TEXT|\\\$CODE\\\$|P)\[^\n\r\]*\[ \]($dec)\[ \]+$dec.*(\\.data|DATA|D_1)\[^\n\r\]*\[ \]($dec)\[ \]+$dec"
if ![regexp $want $got all textname textsize dataname datasize] then {
fail "size -A"
} else {
verbose "text size: $textsize"
verbose "data size: $datasize"
if {$textsize < 8 || $datasize < 4} then {
fail "size -A"
} else {
pass "size -A"
}
}
# Test size -G
set got [binutils_run $SIZE "$SIZEFLAGS -G $testfile"]
set want "($dec)\[ \]+($dec)\[ \]+($dec)\[ \]+($dec)\[ \]+${testfile}"
if ![regexp $want $got all text data bss dtot hextot] then {
fail "size -G"
} else {
if {$text < 8 || $data < 4} then {
# The z80-coff port defaults to a "binary" like output
# file format which does not include a data section.
setup_xfail "z80-*-coff"
fail "size -G"
} else {
pass "size -G"
}
}
}