2009-12-02 Rafael Avila de Espindola <espindola@google.com>
authorRafael Ávila de Espíndola <respindola@mozilla.com>
Wed, 2 Dec 2009 14:51:22 +0000 (14:51 +0000)
committerRafael Ávila de Espíndola <respindola@mozilla.com>
Wed, 2 Dec 2009 14:51:22 +0000 (14:51 +0000)
* 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.

gold/ChangeLog
gold/testsuite/Makefile.am
gold/testsuite/incremental_test.sh [new file with mode: 0755]
gold/testsuite/incremental_test_1.c [new file with mode: 0644]
gold/testsuite/incremental_test_2.c [new file with mode: 0644]

index 0c6f37f..7368334 100644 (file)
@@ -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.
index 0351828..54e8843 100644 (file)
@@ -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 (executable)
index 0000000..8da60e0
--- /dev/null
@@ -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 (file)
index 0000000..9783515
--- /dev/null
@@ -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 (file)
index 0000000..050986e
--- /dev/null
@@ -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;
+}