public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH, testsuite]: Fix PR 65944, FAIL: g++.dg/lto/pr65276: undefined reference to std2::exception::~exception()
@ 2015-06-16 15:32 Uros Bizjak
  2015-06-17 10:17 ` Uros Bizjak
  0 siblings, 1 reply; 6+ messages in thread
From: Uros Bizjak @ 2015-06-16 15:32 UTC (permalink / raw)
  To: gcc-patches

Hello!

Following patch fixes:

cp_lto_pr65276_1.o: In function `std2::runtime_error::~runtime_error()':^M
pr65276_1.C:(.text._ZN4std213runtime_errorD2Ev[_ZN4std213runtime_errorD5Ev]+0x8):
undefined reference to `std2::exception::~exception()'^M
cp_lto_pr65276_1.o: In function `std2::runtime_error::~runtime_error()':^M
pr65276_1.C:(.text._ZN4std213runtime_errorD0Ev[_ZN4std213runtime_errorD5Ev]+0xc):
undefined reference to `std2::exception::~exception()'^M
cp_lto_pr65276_1.o:(.rodata._ZTVN4std29exceptionE[_ZTVN4std29exceptionE]+0x10):
undefined reference to `std2::exception::~exception()'^M
cp_lto_pr65276_1.o:(.rodata._ZTVN4std29exceptionE[_ZTVN4std29exceptionE]+0x18):
undefined reference to `std2::exception::~exception()'^M
collect2: error: ld returned 1 exit status^M

link error with g++.dg/lto/pr65276 testcase.

2015-06-16  Uros Bizjak  <ubizjak@gmail.com>

    PR testsuite/65944
    * g++.dg/lto/pr65276_0.C: Add std2::exception::~exception() function.

Tested on x86_64-linux-gnu CentOS 5.11 (where linking failed) and
Fedora 22 (where linking didn't fail).

OK for mainline and gcc-5 branch?

Uros.

Index: g++.dg/lto/pr65276_0.C
===================================================================
--- g++.dg/lto/pr65276_0.C      (revision 224475)
+++ g++.dg/lto/pr65276_0.C      (working copy)
@@ -59,3 +59,5 @@
   };
   static ios_base::Init __ioinit;
 }
+
+std2::exception::~exception() noexcept { }

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, testsuite]: Fix PR 65944, FAIL: g++.dg/lto/pr65276: undefined reference to std2::exception::~exception()
  2015-06-16 15:32 [PATCH, testsuite]: Fix PR 65944, FAIL: g++.dg/lto/pr65276: undefined reference to std2::exception::~exception() Uros Bizjak
@ 2015-06-17 10:17 ` Uros Bizjak
  2015-06-18  9:05   ` James Greenhalgh
  0 siblings, 1 reply; 6+ messages in thread
From: Uros Bizjak @ 2015-06-17 10:17 UTC (permalink / raw)
  To: gcc-patches

On Tue, Jun 16, 2015 at 5:13 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> Hello!
>
> Following patch fixes:
>
> cp_lto_pr65276_1.o: In function `std2::runtime_error::~runtime_error()':^M
> pr65276_1.C:(.text._ZN4std213runtime_errorD2Ev[_ZN4std213runtime_errorD5Ev]+0x8):
> undefined reference to `std2::exception::~exception()'^M
> cp_lto_pr65276_1.o: In function `std2::runtime_error::~runtime_error()':^M
> pr65276_1.C:(.text._ZN4std213runtime_errorD0Ev[_ZN4std213runtime_errorD5Ev]+0xc):
> undefined reference to `std2::exception::~exception()'^M
> cp_lto_pr65276_1.o:(.rodata._ZTVN4std29exceptionE[_ZTVN4std29exceptionE]+0x10):
> undefined reference to `std2::exception::~exception()'^M
> cp_lto_pr65276_1.o:(.rodata._ZTVN4std29exceptionE[_ZTVN4std29exceptionE]+0x18):
> undefined reference to `std2::exception::~exception()'^M
> collect2: error: ld returned 1 exit status^M
>
> link error with g++.dg/lto/pr65276 testcase.
>
> 2015-06-16  Uros Bizjak  <ubizjak@gmail.com>
>
>     PR testsuite/65944
>     * g++.dg/lto/pr65276_0.C: Add std2::exception::~exception() function.
>
> Tested on x86_64-linux-gnu CentOS 5.11 (where linking failed) and
> Fedora 22 (where linking didn't fail).
>
> OK for mainline and gcc-5 branch?

Now committed as obvious.

Uros.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, testsuite]: Fix PR 65944, FAIL: g++.dg/lto/pr65276: undefined reference to std2::exception::~exception()
  2015-06-17 10:17 ` Uros Bizjak
@ 2015-06-18  9:05   ` James Greenhalgh
  2015-06-18  9:32     ` Uros Bizjak
  0 siblings, 1 reply; 6+ messages in thread
From: James Greenhalgh @ 2015-06-18  9:05 UTC (permalink / raw)
  To: Uros Bizjak; +Cc: gcc-patches

On Wed, Jun 17, 2015 at 11:04:24AM +0100, Uros Bizjak wrote:
> On Tue, Jun 16, 2015 at 5:13 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> > Hello!
> >
> > Following patch fixes:
> >
> > cp_lto_pr65276_1.o: In function `std2::runtime_error::~runtime_error()':^M
> > pr65276_1.C:(.text._ZN4std213runtime_errorD2Ev[_ZN4std213runtime_errorD5Ev]+0x8):
> > undefined reference to `std2::exception::~exception()'^M
> > cp_lto_pr65276_1.o: In function `std2::runtime_error::~runtime_error()':^M
> > pr65276_1.C:(.text._ZN4std213runtime_errorD0Ev[_ZN4std213runtime_errorD5Ev]+0xc):
> > undefined reference to `std2::exception::~exception()'^M
> > cp_lto_pr65276_1.o:(.rodata._ZTVN4std29exceptionE[_ZTVN4std29exceptionE]+0x10):
> > undefined reference to `std2::exception::~exception()'^M
> > cp_lto_pr65276_1.o:(.rodata._ZTVN4std29exceptionE[_ZTVN4std29exceptionE]+0x18):
> > undefined reference to `std2::exception::~exception()'^M
> > collect2: error: ld returned 1 exit status^M
> >
> > link error with g++.dg/lto/pr65276 testcase.
> >
> > 2015-06-16  Uros Bizjak  <ubizjak@gmail.com>
> >
> >     PR testsuite/65944
> >     * g++.dg/lto/pr65276_0.C: Add std2::exception::~exception() function.
> >
> > Tested on x86_64-linux-gnu CentOS 5.11 (where linking failed) and
> > Fedora 22 (where linking didn't fail).
> >
> > OK for mainline and gcc-5 branch?
> 
> Now committed as obvious.

Hi,

This patch causes failures in arm-none-linux-gnueabihf testing:

PASS->FAIL: g++.dg/lto/pr65276 cp_lto_pr65276_0.o-cp_lto_pr65276_1.o link, -flto -O0 -std=c++11

.../arm-none-linux-gnueabihf/obj/gcc4/gcc/testsuite/g++2/../../xg++ -B.../arm-none-linux-gnueabihf/obj/gcc4/gcc/testsuite/g++2/../../ cp_lto_pr65276_0.o cp_lto_pr65276_1.o -fno-diagnostics-show-caret -fdiagnostics-color=never -nostdinc++ -I.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/libstdc++-v3/include/arm-none-linux-gnueabihf -I.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/libstdc++-v3/include -I.../gcc/libstdc++-v3/libsupc++ -I.../gcc/libstdc++-v3/include/backward -I.../gcc/libstdc++-v3/testsuite/util -fmessage-length=0 -flto -O0 -std=c++11 -L.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -B.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -L.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -o g++-dg-lto-pr65276-01.exe
cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
(.text+0x0): multiple definition of `typeinfo name for std2::exception'
cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
(.text+0x0): multiple definition of `typeinfo for std2::exception'
cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
compiler exited with status 1
output is:
cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
(.text+0x0): multiple definition of `typeinfo name for std2::exception'
cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
(.text+0x0): multiple definition of `typeinfo for std2::exception'
cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
collect2: error: ld returned 1 exit status

Thanks,
James

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, testsuite]: Fix PR 65944, FAIL: g++.dg/lto/pr65276: undefined reference to std2::exception::~exception()
  2015-06-18  9:05   ` James Greenhalgh
@ 2015-06-18  9:32     ` Uros Bizjak
  2015-06-18  9:43       ` Uros Bizjak
  2016-02-02  3:09       ` Michael Daniels
  0 siblings, 2 replies; 6+ messages in thread
From: Uros Bizjak @ 2015-06-18  9:32 UTC (permalink / raw)
  To: James Greenhalgh; +Cc: gcc-patches, Jonathan Wakely

On Thu, Jun 18, 2015 at 10:59 AM, James Greenhalgh
<james.greenhalgh@arm.com> wrote:

>> > Hello!
>> >
>> > Following patch fixes:
>> >
>> > cp_lto_pr65276_1.o: In function `std2::runtime_error::~runtime_error()':^M
>> > pr65276_1.C:(.text._ZN4std213runtime_errorD2Ev[_ZN4std213runtime_errorD5Ev]+0x8):
>> > undefined reference to `std2::exception::~exception()'^M
>> > cp_lto_pr65276_1.o: In function `std2::runtime_error::~runtime_error()':^M
>> > pr65276_1.C:(.text._ZN4std213runtime_errorD0Ev[_ZN4std213runtime_errorD5Ev]+0xc):
>> > undefined reference to `std2::exception::~exception()'^M
>> > cp_lto_pr65276_1.o:(.rodata._ZTVN4std29exceptionE[_ZTVN4std29exceptionE]+0x10):
>> > undefined reference to `std2::exception::~exception()'^M
>> > cp_lto_pr65276_1.o:(.rodata._ZTVN4std29exceptionE[_ZTVN4std29exceptionE]+0x18):
>> > undefined reference to `std2::exception::~exception()'^M
>> > collect2: error: ld returned 1 exit status^M
>> >
>> > link error with g++.dg/lto/pr65276 testcase.
>> >
>> > 2015-06-16  Uros Bizjak  <ubizjak@gmail.com>
>> >
>> >     PR testsuite/65944
>> >     * g++.dg/lto/pr65276_0.C: Add std2::exception::~exception() function.
>> >
>> > Tested on x86_64-linux-gnu CentOS 5.11 (where linking failed) and
>> > Fedora 22 (where linking didn't fail).
>> >
>> > OK for mainline and gcc-5 branch?
>>
>> Now committed as obvious.
>
> This patch causes failures in arm-none-linux-gnueabihf testing:
>
> PASS->FAIL: g++.dg/lto/pr65276 cp_lto_pr65276_0.o-cp_lto_pr65276_1.o link, -flto -O0 -std=c++11
>
> .../arm-none-linux-gnueabihf/obj/gcc4/gcc/testsuite/g++2/../../xg++ -B.../arm-none-linux-gnueabihf/obj/gcc4/gcc/testsuite/g++2/../../ cp_lto_pr65276_0.o cp_lto_pr65276_1.o -fno-diagnostics-show-caret -fdiagnostics-color=never -nostdinc++ -I.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/libstdc++-v3/include/arm-none-linux-gnueabihf -I.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/libstdc++-v3/include -I.../gcc/libstdc++-v3/libsupc++ -I.../gcc/libstdc++-v3/include/backward -I.../gcc/libstdc++-v3/testsuite/util -fmessage-length=0 -flto -O0 -std=c++11 -L.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -B.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -L.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -o g++-dg-lto-pr65276-01.exe
> cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
> (.text+0x0): multiple definition of `typeinfo name for std2::exception'
> cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
> cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
> (.text+0x0): multiple definition of `typeinfo for std2::exception'
> cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
> collect2: error: ld returned 1 exit status
> compiler exited with status 1
> output is:
> cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
> (.text+0x0): multiple definition of `typeinfo name for std2::exception'
> cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
> cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
> (.text+0x0): multiple definition of `typeinfo for std2::exception'
> cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
> collect2: error: ld returned 1 exit status

I discussed this patch privately with Jon, where he suggested that the
approach is OK. The patch also works for me on both, CentOS 5.11 and
Fedora 22.

I'm out of ideas why this doesn't work on your system. Can you investigate it?

Uros.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, testsuite]: Fix PR 65944, FAIL: g++.dg/lto/pr65276: undefined reference to std2::exception::~exception()
  2015-06-18  9:32     ` Uros Bizjak
@ 2015-06-18  9:43       ` Uros Bizjak
  2016-02-02  3:09       ` Michael Daniels
  1 sibling, 0 replies; 6+ messages in thread
From: Uros Bizjak @ 2015-06-18  9:43 UTC (permalink / raw)
  To: James Greenhalgh; +Cc: gcc-patches, Jonathan Wakely

On Thu, Jun 18, 2015 at 11:05 AM, Uros Bizjak <ubizjak@gmail.com> wrote:

>> This patch causes failures in arm-none-linux-gnueabihf testing:
>>
>> PASS->FAIL: g++.dg/lto/pr65276 cp_lto_pr65276_0.o-cp_lto_pr65276_1.o link, -flto -O0 -std=c++11
>>
>> .../arm-none-linux-gnueabihf/obj/gcc4/gcc/testsuite/g++2/../../xg++ -B.../arm-none-linux-gnueabihf/obj/gcc4/gcc/testsuite/g++2/../../ cp_lto_pr65276_0.o cp_lto_pr65276_1.o -fno-diagnostics-show-caret -fdiagnostics-color=never -nostdinc++ -I.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/libstdc++-v3/include/arm-none-linux-gnueabihf -I.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/libstdc++-v3/include -I.../gcc/libstdc++-v3/libsupc++ -I.../gcc/libstdc++-v3/include/backward -I.../gcc/libstdc++-v3/testsuite/util -fmessage-length=0 -flto -O0 -std=c++11 -L.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -B.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -L.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -o g++-dg-lto-pr65276-01.exe
>> cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
>> (.text+0x0): multiple definition of `typeinfo name for std2::exception'
>> cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
>> cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
>> (.text+0x0): multiple definition of `typeinfo for std2::exception'
>> cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
>> collect2: error: ld returned 1 exit status
>> compiler exited with status 1
>> output is:
>> cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
>> (.text+0x0): multiple definition of `typeinfo name for std2::exception'
>> cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
>> cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
>> (.text+0x0): multiple definition of `typeinfo for std2::exception'
>> cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
>> collect2: error: ld returned 1 exit status
>
> I discussed this patch privately with Jon, where he suggested that the
> approach is OK. The patch also works for me on both, CentOS 5.11 and
> Fedora 22.
>
> I'm out of ideas why this doesn't work on your system. Can you investigate it?

FYI, patched testcase compiles to following assembly on CentOS 5.11:

cp_lto_pr65276_0.o:     file format elf64-x86-64

Disassembly of section .text:

0000000000000000 <_ZN4std29exceptionD1Ev>:
  0:   55                      push   %rbp
  1:   48 89 e5                mov    %rsp,%rbp
  4:   48 83 ec 10             sub    $0x10,%rsp
  8:   48 89 7d f8             mov    %rdi,0xfffffffffffffff8(%rbp)
  c:   ba 00 00 00 00          mov    $0x0,%edx
                       d: R_X86_64_32  _ZTVN4std29exceptionE+0x10
 11:   48 8b 45 f8             mov    0xfffffffffffffff8(%rbp),%rax
 15:   48 89 10                mov    %rdx,(%rax)
 18:   b8 00 00 00 00          mov    $0x0,%eax
 1d:   85 c0                   test   %eax,%eax
 1f:   74 0c                   je     2d <_ZN4std29exceptionD1Ev+0x2d>
 21:   48 8b 45 f8             mov    0xfffffffffffffff8(%rbp),%rax
 25:   48 89 c7                mov    %rax,%rdi
 28:   e8 00 00 00 00          callq  2d <_ZN4std29exceptionD1Ev+0x2d>
                       29: R_X86_64_PC32       _ZdlPv+0xfffffffffffffffc
 2d:   c9                      leaveq
 2e:   c3                      retq
 2f:   90                      nop

0000000000000030 <_ZN4std29exceptionD0Ev>:
 30:   55                      push   %rbp
 31:   48 89 e5                mov    %rsp,%rbp
 34:   48 83 ec 10             sub    $0x10,%rsp
 38:   48 89 7d f8             mov    %rdi,0xfffffffffffffff8(%rbp)
 3c:   48 8b 45 f8             mov    0xfffffffffffffff8(%rbp),%rax
 40:   48 89 c7                mov    %rax,%rdi
 43:   e8 00 00 00 00          callq  48 <_ZN4std29exceptionD0Ev+0x18>
                       44: R_X86_64_PC32
_ZN4std29exceptionD1Ev+0xfffffffffffffffc
 48:   48 8b 45 f8             mov    0xfffffffffffffff8(%rbp),%rax
 4c:   48 89 c7                mov    %rax,%rdi
 4f:   e8 00 00 00 00          callq  54 <_ZN4std29exceptionD0Ev+0x24>
                       50: R_X86_64_PC32       _ZdlPv+0xfffffffffffffffc
 54:   c9                      leaveq
 55:   c3                      retq

Unpatched testcase produces empty object file.

Uros.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, testsuite]: Fix PR 65944, FAIL: g++.dg/lto/pr65276: undefined reference to std2::exception::~exception()
  2015-06-18  9:32     ` Uros Bizjak
  2015-06-18  9:43       ` Uros Bizjak
@ 2016-02-02  3:09       ` Michael Daniels
  1 sibling, 0 replies; 6+ messages in thread
From: Michael Daniels @ 2016-02-02  3:09 UTC (permalink / raw)
  To: ubizjak; +Cc: gcc-patches, james.greenhalgh, jwakely

On Thu, 2015-06-18 at 11:05 +0200, Uros Bizjak wrote:
> On Thu, Jun 18, 2015 at 10:59 AM, James Greenhalgh
> <james.greenhalgh@arm.com> wrote:
> 
> >> > Hello!
> >> >
> >> > Following patch fixes:
> >> >
> >> > cp_lto_pr65276_1.o: In function `std2::runtime_error::~runtime_error()':^M
> >> > pr65276_1.C:(.text._ZN4std213runtime_errorD2Ev[_ZN4std213runtime_errorD5Ev]+0x8):
> >> > undefined reference to `std2::exception::~exception()'^M
> >> > cp_lto_pr65276_1.o: In function `std2::runtime_error::~runtime_error()':^M
> >> > pr65276_1.C:(.text._ZN4std213runtime_errorD0Ev[_ZN4std213runtime_errorD5Ev]+0xc):
> >> > undefined reference to `std2::exception::~exception()'^M
> >> > cp_lto_pr65276_1.o:(.rodata._ZTVN4std29exceptionE[_ZTVN4std29exceptionE]+0x10):
> >> > undefined reference to `std2::exception::~exception()'^M
> >> > cp_lto_pr65276_1.o:(.rodata._ZTVN4std29exceptionE[_ZTVN4std29exceptionE]+0x18):
> >> > undefined reference to `std2::exception::~exception()'^M
> >> > collect2: error: ld returned 1 exit status^M
> >> >
> >> > link error with g++.dg/lto/pr65276 testcase.
> >> >
> >> > 2015-06-16  Uros Bizjak  <ubizjak@gmail.com>
> >> >
> >> >     PR testsuite/65944
> >> >     * g++.dg/lto/pr65276_0.C: Add std2::exception::~exception() function.
> >> >
> >> > Tested on x86_64-linux-gnu CentOS 5.11 (where linking failed) and
> >> > Fedora 22 (where linking didn't fail).
> >> >
> >> > OK for mainline and gcc-5 branch?
> >>
> >> Now committed as obvious.
> >
> > This patch causes failures in arm-none-linux-gnueabihf testing:
> >
> > PASS->FAIL: g++.dg/lto/pr65276 cp_lto_pr65276_0.o-cp_lto_pr65276_1.o link, -flto -O0 -std=c++11
> >
> > .../arm-none-linux-gnueabihf/obj/gcc4/gcc/testsuite/g++2/../../xg++ -B.../arm-none-linux-gnueabihf/obj/gcc4/gcc/testsuite/g++2/../../ cp_lto_pr65276_0.o cp_lto_pr65276_1.o -fno-diagnostics-show-caret -fdiagnostics-color=never -nostdinc++ -I.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/libstdc++-v3/include/arm-none-linux-gnueabihf -I.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/libstdc++-v3/include -I.../gcc/libstdc++-v3/libsupc++ -I.../gcc/libstdc++-v3/include/backward -I.../gcc/libstdc++-v3/testsuite/util -fmessage-length=0 -flto -O0 -std=c++11 -L.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -B.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -L.../arm-none-linux-gnueabihf/obj/gcc4/arm-none-linux-gnueabihf/./libstdc++-v3/src/.libs -o g++-dg-lto-pr65276-01.exe
> > cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
> > (.text+0x0): multiple definition of `typeinfo name for std2::exception'
> > cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
> > cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
> > (.text+0x0): multiple definition of `typeinfo for std2::exception'
> > cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
> > collect2: error: ld returned 1 exit status
> > compiler exited with status 1
> > output is:
> > cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
> > (.text+0x0): multiple definition of `typeinfo name for std2::exception'
> > cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
> > cp_lto_pr65276_1.o (symbol from plugin): In function `typeinfo for std2::runtime_error':
> > (.text+0x0): multiple definition of `typeinfo for std2::exception'
> > cp_lto_pr65276_0.o (symbol from plugin):(.text+0x0): first defined here
> > collect2: error: ld returned 1 exit status
> 
> I discussed this patch privately with Jon, where he suggested that the
> approach is OK. The patch also works for me on both, CentOS 5.11 and
> Fedora 22.
> 
> I'm out of ideas why this doesn't work on your system. Can you investigate it?
> 
> Uros.

I am seeing something similar to this with arm targets, and I don't
think it's a problem with the test. From my limited understanding of the
ARM C++ ABI, there should not be any typeinfo definitions in the object
for pr65276_1.C. I am seeing strong typeinfo definitions in the objects
for both pr65276_0.C and pr65276_1.C though, which is what's causing the
error me.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-02-02  3:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-16 15:32 [PATCH, testsuite]: Fix PR 65944, FAIL: g++.dg/lto/pr65276: undefined reference to std2::exception::~exception() Uros Bizjak
2015-06-17 10:17 ` Uros Bizjak
2015-06-18  9:05   ` James Greenhalgh
2015-06-18  9:32     ` Uros Bizjak
2015-06-18  9:43       ` Uros Bizjak
2016-02-02  3:09       ` Michael Daniels

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).