mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
* 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:
parent
ec591fcf45
commit
d2c0200413
@ -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:
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
}
|
@ -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 ();
|
||||
};
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -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
|
||||
} } } }
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user