1# Copyright 1993, 1994, 1995, 1997, 1998 Free Software Foundation, Inc. 2 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 2 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program; if not, write to the Free Software 15# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 16 17# Please email any bugs, comments, and/or additions to this file to: 18# bug-dejagnu@prep.ai.mit.edu 19 20# This file was written by Rob Savoye <rob@cygnus.com> 21# and rewritten by Ian Lance Taylor <ian@cygnus.com> 22 23if ![is_remote host] { 24 if {[which $SIZE] == 0} then { 25 perror "$SIZE does not exist" 26 return 27 } 28} 29 30send_user "Version [binutil_version $SIZE]" 31 32 33if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then { 34 return 35} 36 37if [is_remote host] { 38 set testfile [remote_download host tmpdir/bintest.o] 39} else { 40 set testfile tmpdir/bintest.o 41} 42 43set dec "\[0-9\]+" 44set hex "\[0-9a-fA-F\]+" 45 46# Test size with no arguments 47 48set got [binutils_run $SIZE "$SIZEFLAGS $testfile"] 49 50set want "($dec)\[ \]+($dec)\[ \]+($dec)\[ \]+($dec)\[ \]+($hex)\[ \]+${testfile}" 51 52if ![regexp $want $got all text data bss dtot hextot] then { 53 fail "size (no arguments)" 54} else { 55 if {$text < 8 || $data < 4} then { 56 # The z80-coff port defaults to a "binary" like output 57 # file format which does not include a data section. 58 setup_xfail "z80-*-coff" 59 fail "size (no arguments)" 60 } else { 61 pass "size (no arguments)" 62 } 63} 64 65# Test size -A 66 67set got [binutils_run $SIZE "$SIZEFLAGS -A ${testfile}"] 68 69set want "${testfile}.*(text|TEXT)\[^\n\r\]*\[ \]($dec)\[ \]+$dec.*(\\.data|DATA)\[^\n\r\]*\[ \]($dec)\[ \]+$dec" 70 71if ![regexp $want $got all textname textsize dataname datasize] then { 72 fail "size -A" 73} else { 74 verbose "text size: $textsize" 75 verbose "data size: $datasize" 76 if {$textsize < 8 || $datasize < 4} then { 77 fail "size -A" 78 } else { 79 pass "size -A" 80 } 81} 82