diff options
-rw-r--r-- | gold/ChangeLog | 7 | ||||
-rw-r--r-- | gold/testsuite/Makefile.am | 11 | ||||
-rwxr-xr-x | gold/testsuite/incremental_test.sh | 35 | ||||
-rw-r--r-- | gold/testsuite/incremental_test_1.c | 21 | ||||
-rw-r--r-- | gold/testsuite/incremental_test_2.c | 25 |
5 files changed, 99 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 0c6f37f..7368334 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,10 @@ +2009-12-02 Rafael Avila de Espindola <espindola@google.com> + + * testsuite/Makefile.am: Add the incremental_test.sh test. + * testsuite/incremental_test.sh: New. + * testsuite/incremental_test_1.c: New. + * testsuite/incremental_test_2.c: New. + 2009-12-01 Rafael Avila de Espindola <espindola@google.com> * incremental-dump.cc (main): Fix typos. diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am index 0351828..54e8843 100644 --- a/gold/testsuite/Makefile.am +++ b/gold/testsuite/Makefile.am @@ -105,6 +105,17 @@ flagstest_debug.o: constructor_test.cc flagstest_ndebug.o: constructor_test.cc $(CXXCOMPILE) -O0 -c -o $@ $< +check_SCRIPTS += incremental_test.sh +check_DATA += incremental_test.stdout +MOSTLYCLEANFILES += incremental_test +incremental_test_1.o: incremental_test_1.c + $(COMPILE) -O0 -c -ffunction-sections -g -o $@ $< +incremental_test_2.o: incremental_test_2.c + $(COMPILE) -O0 -c -ffunction-sections -g -o $@ $< +incremental_test: incremental_test_1.o incremental_test_2.o gcctestdir/ld + $(LINK) -Bgcctestdir/ -Wl,-incremental incremental_test_1.o incremental_test_2.o -Wl,-debug 2> incremental_test.cmdline +incremental_test.stdout: incremental_test ../incremental-dump + ../incremental-dump incremental_test > $@ check_SCRIPTS += gc_comdat_test.sh check_DATA += gc_comdat_test.stdout diff --git a/gold/testsuite/incremental_test.sh b/gold/testsuite/incremental_test.sh new file mode 100755 index 0000000..8da60e0 --- /dev/null +++ b/gold/testsuite/incremental_test.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +# incremental_test.sh -- test that incremental linking information is correct. + +# Copyright 2009 Free Software Foundation, Inc. +# Written by Rafael Avila de Espindola <espindola@google.com> + +# This file is part of gold. + +# 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. + +set -e +cat incremental_test.cmdline | grep "gcctestdir/ld " | cut -d ' ' -f 2- > \ + actual + +cat incremental_test.stdout | grep "Link command line" | cut -d : -f 2- | \ + cut -d ' ' -f 3- | sed "s/'//g" > recorded + +diff actual recorded +rm actual recorded + +exit 0
\ No newline at end of file diff --git a/gold/testsuite/incremental_test_1.c b/gold/testsuite/incremental_test_1.c new file mode 100644 index 0000000..9783515 --- /dev/null +++ b/gold/testsuite/incremental_test_1.c @@ -0,0 +1,21 @@ +// Copyright 2009 Free Software Foundation, Inc. +// Written by Rafael Avila de Espindola <espindola@google.com> + +// This file is part of gold. + +// 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. + +int a; diff --git a/gold/testsuite/incremental_test_2.c b/gold/testsuite/incremental_test_2.c new file mode 100644 index 0000000..050986e --- /dev/null +++ b/gold/testsuite/incremental_test_2.c @@ -0,0 +1,25 @@ +// Copyright 2009 Free Software Foundation, Inc. +// Written by Rafael Avila de Espindola <espindola@google.com> + +// This file is part of gold. + +// 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. + +int b; + +int main(void) { + return 0; +} |