]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - ld/testsuite/ld-pe/direct.exp
Merge commit 'upstream/2.20'
[msp430-binutils.git] / ld / testsuite / ld-pe / direct.exp
diff --git a/ld/testsuite/ld-pe/direct.exp b/ld/testsuite/ld-pe/direct.exp
deleted file mode 100644 (file)
index 2af2bf7..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-# Expect script for direct linking from dll tests
-#   Copyright 2006, 2007
-#   Free Software Foundation, Inc.
-#
-# This file is part of the GNU Binutils.
-#
-# 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.
-#
-# Written by Pedro Alves <pedro_alves@portugalmail.pt>
-#
-# Note:
-# 
-# This test checks the "direct linking to a dll" functionality.
-# 
-# The test has 7 stages:
-# 
-# 1. compile and link a test dll with ".dll" extension.
-#
-# 2. compile and link a test dll with ".sl" (i.e. != ".dll") extension.
-#
-# 3. compile and link a client application linking directly to the ".dll" dll built in 1.
-#    This should produce no errors.
-#
-# 4. compile and link a client application linking directly to the ".sl" dll built in 2.
-#    This should produce no errors.
-#
-# 5. compile and link a client application linking directly to a symlink into 
-#    the ".dll" dll built in 1.
-#    This should produce no errors.
-#
-# 6. compile and link a client application linking directly to a symlink into 
-#    the ".sl" dll built in 1.
-#    This should produce no errors.
-#
-# 7. run the produced executables
-
-# This test can only be run on PE/COFF platforms.
-if {    ![istarget *-*-cygwin*]
-     && ![istarget *-*-mingw*]
-     && ![istarget *-*-pe] } {
-    return
-}
-
-# No compiler, no test.
-if { [which $CC] == 0 } {
-    untested "Direct linking to dll test"
-    return
-}
-
-set tmpdir tmpdir
-
-proc test_direct_link_dll {} {
-    global CC
-    global CFLAGS
-    global srcdir
-    global subdir
-    global tmpdir
-    
-    # Compile the dll.
-    if ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/direct_dll.c $tmpdir/direct_dll.o ] {
-       fail "compiling shared lib"
-    } elseif ![ld_simple_link "$CC -shared" $tmpdir/direct_dll.dll "$tmpdir/direct_dll.o" ] {
-       fail "linking shared lib (.dll)"
-    } elseif ![ld_simple_link "$CC -shared" $tmpdir/direct_dll.sl "$tmpdir/direct_dll.o" ] {
-       fail "linking shared lib (.sl)"
-    } else {
-       # Compile and link the client program.
-       if ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/direct_client.c $tmpdir/direct_client.o ] {
-           fail "compiling client"
-       } else {
-           # Check linking directly to direct_dll.dll.
-           set msg "linking client (.dll)"
-           if [ld_simple_link $CC $tmpdir/direct_client_dll.exe "$tmpdir/direct_client.o $tmpdir/direct_dll.dll" ] {
-               pass $msg
-           } else {
-               fail $msg 
-           }
-
-           # Check linking directly to direct_dll.sl.
-           set msg "linking client (.sl)"
-           if [ld_simple_link $CC $tmpdir/direct_client_sl.exe "$tmpdir/direct_client.o $tmpdir/direct_dll.sl" ] {
-               pass $msg
-           } else {
-               fail $msg 
-           }
-
-           # Check dll direct linking through symlink to .dll.
-           # Create symbolic link.
-           catch "exec ln -fs direct_dll.dll $tmpdir/libdirect_dll.dll.a" ln_catch
-           set msg "linking client (symlink -> .dll)"
-           if [ld_simple_link $CC $tmpdir/direct_client_symlink_dll.exe "$tmpdir/direct_client.o $tmpdir/libdirect_dll.dll.a" ] {
-               pass $msg
-           } else {
-               fail $msg
-           }
-               
-           # Check dll direct linking through symlink to .sl.
-           # Create symbolic link.
-           catch "exec ln -fs direct_dll.sl $tmpdir/libdirect_sl.dll.a" ln_catch
-           set msg "linking client (symlink -> .sl)"
-           if [ld_simple_link $CC $tmpdir/direct_client_symlink_sl.exe "$tmpdir/direct_client.o $tmpdir/libdirect_sl.dll.a" ] {
-               pass $msg
-           } else {
-               fail $msg 
-           }
-       }
-    }
-}
-
-proc directdll_execute {exe msg} {
-    set expected ""
-    catch "exec $exe" prog_output
-    if [string match $expected $prog_output] then {
-        pass $msg
-    } else {
-        verbose $prog_output
-        fail $msg
-    }
-}
-
-test_direct_link_dll
-
-# This is as far as we can go with a cross-compiler
-if ![isnative] then {
-    verbose "Not running natively, so cannot execute binaries"
-    return
-}
-
-directdll_execute "$tmpdir/direct_client_dll.exe" "running direct linked dll (.dll)"
-directdll_execute "$tmpdir/direct_client_sl.exe" "running direct linked dll (.sl)"
-directdll_execute "$tmpdir/direct_client_symlink_sl.exe" "running direct linked dll (symlink -> .sl)"
-directdll_execute "$tmpdir/direct_client_symlink_dll.exe" "running direct linked dll (symlink -> .dll)"