From 402c1cb4c884a4b9b0428e4e31bb877f5e7c81b4 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 6 Jan 2011 19:50:20 +0100 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/collect2.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/lto/pr47188_0.c | 7 +++++++ gcc/testsuite/gcc.dg/lto/pr47188_1.c | 8 ++++++++ 5 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/lto/pr47188_0.c create mode 100644 gcc/testsuite/gcc.dg/lto/pr47188_1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 539684e0f299..e6c4dee707ac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-01-06 Jan Hubicka + + PR lto/47188 + * collect2.c (main): Do not enable LTOmode when plugin is active. + 2011-01-06 Rainer Orth PR other/45915 diff --git a/gcc/collect2.c b/gcc/collect2.c index 77f794ff49ca..42e35b607ff8 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 f6e442355cca..739b65ed58cd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-01-06 Jan Hubicka + + * testsuite/gcc.dg/lto/pr47188_0.c: New testcase. + * testsuite/gcc.dg/lto/pr47188_1.c: New testcase. + 2011-01-06 Daniel Franke 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 000000000000..ac9e03167fe8 --- /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 000000000000..f18f4db381a4 --- /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(); +}