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>
|
2010-08-12 Cary Coutant <ccoutant@google.com>
|
||||||
|
|
||||||
* arm.cc (Target_arm::got_size): Add const.
|
* arm.cc (Target_arm::got_size): Add const.
|
||||||
|
@ -2,8 +2,9 @@
|
|||||||
|
|
||||||
# incremental_test.sh -- test that incremental linking information is correct.
|
# 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>
|
# Written by Rafael Avila de Espindola <espindola@google.com>
|
||||||
|
# and Cary Coutant <ccoutant@google.com>
|
||||||
|
|
||||||
# This file is part of gold.
|
# This file is part of gold.
|
||||||
|
|
||||||
@ -22,14 +23,66 @@
|
|||||||
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||||
# MA 02110-1301, USA.
|
# MA 02110-1301, USA.
|
||||||
|
|
||||||
set -e
|
check_cmp()
|
||||||
cat incremental_test.cmdline | grep "gcctestdir/ld " | cut -d ' ' -f 2- > \
|
{
|
||||||
actual
|
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- | \
|
check()
|
||||||
cut -d ' ' -f 3- | sed "s/'//g" > recorded
|
{
|
||||||
|
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
|
# Extract actual command line from linker's -v output.
|
||||||
rm actual recorded
|
cat incremental_test.cmdline |
|
||||||
|
grep "gcctestdir/ld " |
|
||||||
|
cut -d ' ' -f 2- > actual
|
||||||
|
|
||||||
|
# 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
|
exit 0
|
@ -18,4 +18,9 @@
|
|||||||
// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||||
// MA 02110-1301, USA.
|
// 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,
|
// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||||
// MA 02110-1301, USA.
|
// MA 02110-1301, USA.
|
||||||
|
|
||||||
int b;
|
int b = 1;
|
||||||
|
|
||||||
|
extern int t1(int);
|
||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
|
if (t1(b) != 0)
|
||||||
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user