4 |
# it under the terms of the GNU General Public License as published by |
# 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 |
# the Free Software Foundation; either version 2 of the License, or |
6 |
# (at your option) any later version. |
# (at your option) any later version. |
7 |
# |
# |
8 |
# This program is distributed in the hope that it will be useful, |
# This program is distributed in the hope that it will be useful, |
9 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 |
# GNU General Public License for more details. |
# GNU General Public License for more details. |
12 |
# |
# |
13 |
# You should have received a copy of the GNU General Public License |
# You should have received a copy of the GNU General Public License |
14 |
# along with this program; if not, write to the Free Software |
# along with this program; if not, write to the Free Software |
15 |
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
16 |
|
|
17 |
# Please email any bugs, comments, and/or additions to this file to: |
# Please email any bugs, comments, and/or additions to this file to: |
18 |
# bug-dejagnu@gnu.org |
# bug-dejagnu@gnu.org |
42 |
perror "Need GNU size from the binutils" 0 |
perror "Need GNU size from the binutils" 0 |
43 |
return [list "-1" "Need GNU size."] |
return [list "-1" "Need GNU size."] |
44 |
} |
} |
45 |
|
|
46 |
# Get the object size. We pass -x, to force hex output |
# Get the object size. We pass -x, to force hex output |
47 |
verbose "Getting the object file size for $object" 2 |
verbose "Getting the object file size for $object" 2 |
48 |
set status [catch "exec $SIZE -x $object" output] |
set status [catch "exec $SIZE -x $object" output] |
64 |
return [list $text $data] |
return [list $text $data] |
65 |
} |
} |
66 |
|
|
67 |
# Run the host's native compiler, not the cross one. Filter out the |
# Run the host's native compiler, not the cross one. Filter out the |
68 |
# warnings and other extraneous stuff. |
# warnings and other extraneous stuff. |
69 |
# Returns: |
# Returns: |
70 |
# A "" (empty) string if everything worked, or the |
# A "" (empty) string if everything worked, or the |
78 |
verbose "Compiling for the host using: $CC $INCLUDES $LIBS $compline" 2 |
verbose "Compiling for the host using: $CC $INCLUDES $LIBS $compline" 2 |
79 |
set status [catch "exec $CC $INCLUDES $LIBS $compline" comp_output] |
set status [catch "exec $CC $INCLUDES $LIBS $compline" comp_output] |
80 |
verbose "Compiler returned $comp_output" 2 |
verbose "Compiler returned $comp_output" 2 |
81 |
|
|
82 |
# prune common warnings and other stuff we can safely ignore |
# prune common warnings and other stuff we can safely ignore |
83 |
set comp_output [prune_warnings $comp_output] |
set comp_output [prune_warnings $comp_output] |
84 |
|
|
97 |
return ${comp_output} |
return ${comp_output} |
98 |
} |
} |
99 |
|
|
100 |
# Execute the executable file, and anaylyse the output for the |
# Execute the executable file, and anaylyse the output for the |
101 |
# test state keywords. |
# test state keywords. |
102 |
# Returns: |
# Returns: |
103 |
# A "" (empty) string if everything worked, or an error message |
# A "" (empty) string if everything worked, or an error message |
110 |
set file all |
set file all |
111 |
set timetol 0 |
set timetol 0 |
112 |
set arguments "" |
set arguments "" |
113 |
|
|
114 |
expect_before buffer_full { perror "Buffer full" } |
expect_before buffer_full { perror "Buffer full" } |
115 |
|
|
116 |
if { [llength $args] == 0} { |
if { [llength $args] == 0} { |
117 |
set executable $args |
set executable $args |
118 |
} else { |
} else { |