aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2011-01-06 19:50:20 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2011-01-06 18:50:20 +0000
commit402c1cb4c884a4b9b0428e4e31bb877f5e7c81b4 (patch)
treef715c405e49bf93799f68e21cc9b75c63695969b
parenta4da64857da9eae83672910e1a427d3239de0b47 (diff)
downloadgcc-402c1cb4c884a4b9b0428e4e31bb877f5e7c81b4.zip
gcc-402c1cb4c884a4b9b0428e4e31bb877f5e7c81b4.tar.gz
gcc-402c1cb4c884a4b9b0428e4e31bb877f5e7c81b4.tar.bz2
re PR lto/47188 (Undefined reference errors when combining IR and non-IR object files)
PR lto/47188 * collect2.c (main): Do not enable LTOmode when plugin is active. * testsuite/gcc.dg/lto/pr47188_0.c: New testcase. * testsuite/gcc.dg/lto/pr47188_1.c: New testcase. From-SVN: r168548
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/collect2.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/lto/pr47188_0.c7
-rw-r--r--gcc/testsuite/gcc.dg/lto/pr47188_1.c8
5 files changed, 26 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 539684e0..e6c4dee 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-01-06 Jan Hubicka <jh@suse.cz>
+
+ PR lto/47188
+ * collect2.c (main): Do not enable LTOmode when plugin is active.
+
2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR other/45915
diff --git a/gcc/collect2.c b/gcc/collect2.c
index 77f794f..42e35b6 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -1236,7 +1236,7 @@ main (int argc, char **argv)
#endif
}
vflag = debug;
- if (no_partition)
+ if (no_partition && lto_mode == LTO_MODE_WHOPR)
lto_mode = LTO_MODE_LTO;
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f6e4423..739b65e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2011-01-06 Jan Hubicka <jh@suse.cz>
+
+ * testsuite/gcc.dg/lto/pr47188_0.c: New testcase.
+ * testsuite/gcc.dg/lto/pr47188_1.c: New testcase.
+
2011-01-06 Daniel Franke <franke.daniel@gmail.com>
PR fortran/33117
diff --git a/gcc/testsuite/gcc.dg/lto/pr47188_0.c b/gcc/testsuite/gcc.dg/lto/pr47188_0.c
new file mode 100644
index 0000000..ac9e031
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/pr47188_0.c
@@ -0,0 +1,7 @@
+/* { dg-lto-do assemble } */
+/* { dg-require-linker-plugin "" } */
+/* { dg-extra-ld-options "-fuse-linker-plugin -fwhole-program" } */
+int foo(void)
+{
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/lto/pr47188_1.c b/gcc/testsuite/gcc.dg/lto/pr47188_1.c
new file mode 100644
index 0000000..f18f4db
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/pr47188_1.c
@@ -0,0 +1,8 @@
+/* { dg-options "-fno-lto" } */
+
+extern int foo(void);
+
+int main(void)
+{
+ return foo();
+}