gold/ChangeLog:
* testsuite/incremental_test.sh: Rewrite. * testsuite/incremental_test_1.c: Rewrite. * testsuite/incremental_test_2.c: Rewrite.
This commit is contained in:
parent
84a3e6771f
commit
d1238d12e3
@ -1,3 +1,9 @@
|
||||
2010-08-12 Cary Coutant <ccoutant@google.com>
|
||||
|
||||
* testsuite/incremental_test.sh: Rewrite.
|
||||
* testsuite/incremental_test_1.c: Rewrite.
|
||||
* testsuite/incremental_test_2.c: Rewrite.
|
||||
|
||||
2010-08-12 Cary Coutant <ccoutant@google.com>
|
||||
|
||||
* arm.cc (Target_arm::got_size): Add const.
|
||||
|
@ -2,8 +2,9 @@
|
||||
|
||||
# incremental_test.sh -- test that incremental linking information is correct.
|
||||
|
||||
# Copyright 2009 Free Software Foundation, Inc.
|
||||
# Copyright 2009, 2010 Free Software Foundation, Inc.
|
||||
# Written by Rafael Avila de Espindola <espindola@google.com>
|
||||
# and Cary Coutant <ccoutant@google.com>
|
||||
|
||||
# This file is part of gold.
|
||||
|
||||
@ -22,14 +23,66 @@
|
||||
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||
# MA 02110-1301, USA.
|
||||
|
||||
set -e
|
||||
cat incremental_test.cmdline | grep "gcctestdir/ld " | cut -d ' ' -f 2- > \
|
||||
actual
|
||||
check_cmp()
|
||||
{
|
||||
if ! cmp -s "$1" "$2"
|
||||
then
|
||||
echo "Actual output differs from expected:"
|
||||
echo "diff $1 $2"
|
||||
diff $1 $2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
cat incremental_test.stdout | grep "Link command line" | cut -d : -f 2- | \
|
||||
cut -d ' ' -f 3- | sed "s/'//g" > recorded
|
||||
check()
|
||||
{
|
||||
if ! grep -q "$2" "$1"
|
||||
then
|
||||
echo "Did not find expected output in $1:"
|
||||
echo " $2"
|
||||
echo ""
|
||||
echo "Actual output below:"
|
||||
cat "$1"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
diff actual recorded
|
||||
rm actual recorded
|
||||
# Extract actual command line from linker's -v output.
|
||||
cat incremental_test.cmdline |
|
||||
grep "gcctestdir/ld " |
|
||||
cut -d ' ' -f 2- > actual
|
||||
|
||||
exit 0
|
||||
# Extract recorded command line from dump of the output file.
|
||||
cat incremental_test.stdout |
|
||||
grep "Link command line" |
|
||||
cut -d : -f 2- |
|
||||
cut -d ' ' -f 3- |
|
||||
sed "s/'//g" > recorded
|
||||
|
||||
# Verify that the command line was recorded correctly.
|
||||
check_cmp actual recorded
|
||||
|
||||
rm -f actual recorded
|
||||
|
||||
# Filter the incremental-dump output into a format that can be grepped
|
||||
# more easily.
|
||||
|
||||
awk '
|
||||
/^[A-Za-z][A-Za-z ]+:$/ { section = $0; }
|
||||
/^[[]/ { subsection = $0; }
|
||||
/^ / { print section, subsection, $0; }
|
||||
' < incremental_test.stdout > incremental_test.dump
|
||||
|
||||
check incremental_test.dump "Input sections: .* incremental_test_1.o *1 "
|
||||
check incremental_test.dump "Input sections: .* incremental_test_2.o *1 "
|
||||
check incremental_test.dump "Global symbol table: .* main .* relocation type "
|
||||
check incremental_test.dump "Global symbol table: .* a *incremental_test_1.o "
|
||||
check incremental_test.dump "Global symbol table: .* a .* relocation type "
|
||||
check incremental_test.dump "Global symbol table: .* b *incremental_test_2.o "
|
||||
check incremental_test.dump "Global symbol table: .* b .* relocation type "
|
||||
check incremental_test.dump "Global symbol table: .* t1 *incremental_test_2.o "
|
||||
check incremental_test.dump "Global symbol table: .* t1 .* relocation type "
|
||||
|
||||
rm -f incremental_test.dump
|
||||
|
||||
exit 0
|
||||
|
@ -18,4 +18,9 @@
|
||||
// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||
// MA 02110-1301, USA.
|
||||
|
||||
int a;
|
||||
int a = -1;
|
||||
|
||||
int t1(int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
@ -18,8 +18,12 @@
|
||||
// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||
// MA 02110-1301, USA.
|
||||
|
||||
int b;
|
||||
int b = 1;
|
||||
|
||||
extern int t1(int);
|
||||
|
||||
int main(void) {
|
||||
if (t1(b) != 0)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user