* VMS does not permits `.' in directory names. Renamed

ld.bootstrap to ld-bootstrap, ld.cdtest to ld-cdtest, and
	ld.scripts to ld-scripts.
This commit is contained in:
Ian Lance Taylor 1994-09-29 16:39:01 +00:00
parent ec591fcf45
commit d2c0200413
16 changed files with 3 additions and 220 deletions

View File

@ -26,9 +26,9 @@ Things-to-keep:
ChangeLog
config
lib
ld.bootstrap
ld.cdtest
ld.scripts
ld-bootstrap
ld-cdtest
ld-scripts
Things-to-lose:

View File

@ -1,75 +0,0 @@
# Expect script for LD Bootstrap Tests
# Copyright (C) 1993,1994 Free Software Foundation
#
# This file 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 2 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
#
# Written by Jeffrey Wheat (cassidy@cygnus.com)
# Rewritten by Ian Lance Taylor (ian@cygnus.com)
#
# Make sure that ld can bootstrap itself.
# This test can only be run if ld generates native executables.
if ![isnative] {return}
# This test can only be run if we have the ld build directory, since
# we need the object files.
if {$ld != "$objdir/ld.new"} {return}
# Bootstrap ld. First link the object files together using -r, in
# order to test -r. Then link the result into an executable, ld1, to
# really test -r. Use ld1 to link a fresh ld, ld2. Use ld2 to link a
# new ld, ld3. ld2 and ld3 should be identical.
foreach flags {"" "--static" "--traditional-format" "--no-keep-memory"} {
if {"$flags" != ""} {
set testname "bootstrap with $flags"
} else {
set testname "bootstrap"
}
if ![ld_relocate $ld tmpdir/ld-partial.o "$flags $OFILES"] {
fail $testname
return
}
if ![ld_link $ld tmpdir/ld1 "$flags tmpdir/ld-partial.o $BFDLIB $LIBIBERTY"] {
fail $testname
return
}
if ![ld_link tmpdir/ld1 tmpdir/ld2 "$flags $OFILES $BFDLIB $LIBIBERTY"] {
fail $testname
return
}
if ![ld_link tmpdir/ld2 tmpdir/ld3 "$flags $OFILES $BFDLIB $LIBIBERTY"] {
fail $testname
return
}
send_log "cmp tmpdir/ld2 tmpdir/ld3\n"
verbose "cmp tmpdir/ld2 tmpdir/ld3"
catch "exec cmp tmpdir/ld2 tmpdir/ld3" exec_output
if [string match "" $exec_output] then {
pass $testname
} else {
send_log "$exec_output\n"
verbose "$exec_output" 1
fail $testname
}
}

View File

@ -1,24 +0,0 @@
// Class Foo
#pragma interface
#define FOOLISH_NUMBER -4711
#ifndef FOO_MSG_LEN
#define FOO_MSG_LEN 80
#endif
class Foo {
static int foos;
int i;
const len = FOO_MSG_LEN;
char message[len];
public:
static void init_foo ();
static int nb_foos() { return foos; }
Foo();
Foo( char* message);
Foo(const Foo&);
Foo & operator= (const Foo&);
~Foo ();
};

View File

@ -1,87 +0,0 @@
# Expect script for LD cdtest Tests
# Copyright (C) 1993,1994 Free Software Foundation
#
# This file 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 2 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
#
# Written by Jeffrey Wheat (cassidy@cygnus.com)
# Rewritten by Ian Lance Taylor (ian@cygnus.com)
#
# Make sure that constructors are handled correctly.
# This test requires running the executable generated by ld.
if ![isnative] {return}
if ![ld_compile "$CXX $CXXFLAGS -fgnu-linker" $srcdir$subdir/cdtest-foo.cc tmpdir/cdtest-foo.o] {
return
}
if ![ld_compile "$CXX $CXXFLAGS -fgnu-linker" $srcdir$subdir/cdtest-bar.cc tmpdir/cdtest-bar.o] {
return
}
if ![ld_compile "$CXX $CXXFLAGS -fgnu-linker" $srcdir$subdir/cdtest-main.cc tmpdir/cdtest-main.o] {
return
}
if ![ld_link $ld tmpdir/cdtest {tmpdir/cdtest-foo.o tmpdir/cdtest-bar.o tmpdir/cdtest-main.o}] {
fail cdtest
} else {
send_log "tmpdir/cdtest >tmpdir/cdtest.out\n"
verbose "tmpdir/cdtest >tmpdir/cdtest.out"
catch "exec tmpdir/cdtest >tmpdir/cdtest.out" exec_output
if ![string match "" $exec_output] then {
send_log "$exec_output\n"
verbose "$exec_output" 1
fail cdtest
} else {
send_log "diff tmpdir/cdtest.out $srcdir$subdir/cdtest.dat\n"
verbose "diff tmpdir/cdtest.out $srcdir$subdir/cdtest.dat"
catch "exec diff tmpdir/cdtest.out $srcdir$subdir/cdtest.dat" exec_output
if [string match "" $exec_output] then {
pass cdtest
} else {
send_log "$exec_output\n"
verbose "$exec_output" 1
fail cdtest
}
}
}
if ![ld_relocate $ld tmpdir/cdtest.o {-Ur tmpdir/cdtest-foo.o tmpdir/cdtest-bar.o tmpdir/cdtest-main.o}] {
fail "cdtest with -Ur"
} else {
if ![ld_link $ld tmpdir/cdtest tmpdir/cdtest.o] {
fail "cdtest with -Ur"
} else {
send_log "tmpdir/cdtest >tmpdir/cdtest.out\n"
verbose "tmpdir/cdtest >tmpdir/cdtest.out"
catch "exec tmpdir/cdtest >tmpdir/cdtest.out" exec_output
if ![string match "" $exec_output] then {
send_log "$exec_output\n"
verbose "$exec_output" 1
fail "cdtest with -Ur"
} else {
send_log "diff tmpdir/cdtest.out $srcdir$subdir/cdtest.dat\n"
verbose "diff tmpdir/cdtest.out $srcdir$subdir/cdtest.dat"
catch "exec diff tmpdir/cdtest.out $srcdir$subdir/cdtest.dat" exec_output
if [string match "" $exec_output] then {
pass "cdtest with -Ur"
} else {
send_log "$exec_output\n"
verbose "$exec_output" 1
fail "cdtest with -Ur"
}
}
}
}

View File

@ -1,31 +0,0 @@
# Test basic linker script functionality
# By Ian Lance Taylor, Cygnus Support
if ![ld_assemble $as $srcdir$subdir/script.s tmpdir/script.o] { return }
if ![ld_simple_link $ld tmpdir/script "-T $srcdir$subdir/script.t tmpdir/script.o"] {
fail script
} else {
if [ld_nm $nm tmpdir/script] {
if {![info exists nm_output(text_start)] \
|| ![info exists nm_output(text_end)] \
|| ![info exists nm_output(data_start)] \
|| ![info exists nm_output(data_end)]} {
fail "script (bad output from $nm)"
} else {
if {$nm_output(text_start) != 0x100} {
fail "script (text_start == $nm_output(text_start))"
} else { if {$nm_output(text_end) < 0x104 \
|| $nm_output(text_end) > 0x110} {
fail "script (text_end == $nm_output(text_end))"
} else { if {$nm_output(data_start) != 0x1000} {
fail "script (data_start == $nm_output(data_start))"
} else { if {$nm_output(data_end) < 0x1004 \
|| $nm_output(data_end) > 0x1010} {
fail "script (data_end == $nm_output(data_end))"
} else {
pass script
} } } }
}
}
}