1# Copyright 1993, 1994, 1995, 1997, 1999, 2001, 2002, 2004 2# Free Software Foundation, Inc. 3 4# This program is free software; you can redistribute it and/or modify 5# it under the terms of the GNU General Public License as published by 6# the Free Software Foundation; either version 2 of the License, or 7# (at your option) any later version. 8# 9# This program is distributed in the hope that it will be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# GNU General Public License for more details. 13# 14# You should have received a copy of the GNU General Public License 15# along with this program; if not, write to the Free Software 16# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 18# Please email any bugs, comments, and/or additions to this file to: 19# bug-dejagnu@prep.ai.mit.edu 20 21# This file was written by Rob Savoye. (rob@cygnus.com) 22 23load_lib util-defs.exp 24load_lib utils-lib.exp 25 26if ![info exists NM] then { 27 set NM [findfile $base_dir/nm-new $base_dir/nm-new [transform nm]] 28} 29if ![info exists NMFLAGS] then { 30 set NMFLAGS "" 31} 32if ![info exists SIZE] then { 33 set SIZE [findfile $base_dir/size] 34} 35if ![info exists SIZEFLAGS] then { 36 set SIZEFLAGS "" 37} 38if ![info exists OBJDUMP] then { 39 set OBJDUMP [findfile $base_dir/objdump] 40} 41if ![info exists OBJDUMPFLAGS] then { 42 set OBJDUMPFLAGS "" 43} 44if ![info exists OBJCOPY] then { 45 set OBJCOPY [findfile $base_dir/objcopy] 46} 47if ![info exists OBJCOPYFLAGS] then { 48 set OBJCOPYFLAGS "" 49} 50if ![info exists AR] then { 51 set AR [findfile $base_dir/ar] 52} 53if ![info exists STRIP] then { 54 set STRIP [findfile $base_dir/strip-new $base_dir/strip-new [transform strip]] 55} 56if ![info exists STRIPFLAGS] then { 57 set STRIPFLAGS "" 58} 59if ![info exists READELF] then { 60 set READELF [findfile $base_dir/readelf] 61} 62if ![info exists READELFFLAGS] then { 63 set READELFFLAGS "" 64} 65if ![info exists WINDRES] then { 66 set WINDRES [findfile $base_dir/windres] 67} 68if ![info exists DLLTOOL] then { 69 set DLLTOOL [findfile $base_dir/dlltool] 70} 71 72if ![file isdirectory tmpdir] {catch "exec mkdir tmpdir" status} 73 74# Make a copy from tmpdir/gas/as and tmpdir/gas/ld to the assembler 75# and linker in the build tree, so that we can use a -B option to gcc 76# to force it to use the newly built assembler/linker. 77if {![file isdirectory tmpdir/gas]} then { 78 catch "exec mkdir tmpdir/gas" status 79 if {[file isfile ../gas/as-new[exe_ext]]} then { 80 catch "exec cp ../gas/as-new[exe_ext] tmpdir/gas/as[exe_ext]" status 81 } else { 82 # For non-Windows hosts there may be an executable 83 # without a .exe suffix, so try copying that instead. 84 catch "exec cp ../gas/as-new tmpdir/gas/as[exe_ext]" status 85 } 86 # This may not be needed any more... 87 if {[file isfile ../ld/ld-new[exe_ext]]} then { 88 catch "exec cp ../ld/ld-new[exe_ext] tmpdir/gas/ld[exe_ext]" status 89 } else { 90 catch "exec cp ../ld/ld-new tmpdir/gas/ld[exe_ext]" status 91 } 92} 93set gcc_gas_flag "-B[pwd]/tmpdir/gas/" 94set dlltool_gas_flag "-S [pwd]/tmpdir/gas/as[exe_ext]" 95 96# 97# binutils_run 98# run a program, returning the output 99# sets binutils_run_failed if the program does not exist 100# 101proc binutils_run { prog progargs } { 102 default_binutils_run $prog $progargs 103} 104 105# 106# binutils_assemble 107# assemble a file 108# 109proc binutils_assemble { source object } { 110 default_binutils_assemble $source $object 111} 112