public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
@ 2014-03-19  7:53 ` trippels at gcc dot gnu.org
  2014-03-19  8:02 ` trippels at gcc dot gnu.org
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-03-19  7:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Created attachment 32387
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32387&action=edit
unreduced testcase

I've narrowed it down to a single file. Can't say I understand
the issue fully yet.

Bad:
x4 kparts # g++ -c -O2 part.ii && nm part.o | grep N6KParts13ReadWritePartD
0000000000004d50 T _ZN6KParts13ReadWritePartD0Ev
0000000000004d00 T _ZN6KParts13ReadWritePartD1Ev
0000000000004cd0 T _ZN6KParts13ReadWritePartD2Ev

Good:
x4 kparts # /var/tmp/gcc_test/usr/local/bin/g++ -c -O2 part.ii && nm part.o |
grep N6KParts13ReadWritePartD 
0000000000004d70 T _ZN6KParts13ReadWritePartD0Ev
0000000000004d00 T _ZN6KParts13ReadWritePartD1Ev
0000000000004cd0 T _ZN6KParts13ReadWritePartD2Ev
0000000000004da0 T _ZThn16_N6KParts13ReadWritePartD0Ev
0000000000004d60 T _ZThn16_N6KParts13ReadWritePartD1Ev
0000000000004d90 T _ZTv0_n24_N6KParts13ReadWritePartD0Ev
0000000000004d50 T _ZTv0_n24_N6KParts13ReadWritePartD1Ev


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

* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
  2014-03-19  7:53 ` [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs trippels at gcc dot gnu.org
@ 2014-03-19  8:02 ` trippels at gcc dot gnu.org
  2014-03-19  8:53 ` jakub at gcc dot gnu.org
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-03-19  8:02 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
--- part_good.s 2014-03-19 08:57:10.100342064 +0100
+++ part_bad.s  2014-03-19 08:56:50.134141664 +0100
@@ -13466,49 +13466,10 @@
        .text
 .LHOTE151:
        .section        .text.unlikely
+       .align 2
 .LCOLDB152:
        .text
 .LHOTB152:
-       .p2align 4,,15
-       .globl  _ZTv0_n24_N6KParts13ReadWritePartD1Ev
-       .type   _ZTv0_n24_N6KParts13ReadWritePartD1Ev, @function
-_ZTv0_n24_N6KParts13ReadWritePartD1Ev:
-.LFB6687:
-       .cfi_startproc
-       movq    (%rdi), %r10
-       addq    -24(%r10), %rdi
-       jmp     _ZN6KParts13ReadWritePartD1Ev
-       .cfi_endproc
-.LFE6687:
-       .size   _ZTv0_n24_N6KParts13ReadWritePartD1Ev,
.-_ZTv0_n24_N6KParts13ReadWritePartD1Ev
-       .section        .text.unlikely
-.LCOLDE152:
-       .text
-.LHOTE152:
-       .section        .text.unlikely
-.LCOLDB153:
-       .text
-.LHOTB153:
-       .p2align 4,,15
-       .globl  _ZThn16_N6KParts13ReadWritePartD1Ev
-       .type   _ZThn16_N6KParts13ReadWritePartD1Ev, @function
-_ZThn16_N6KParts13ReadWritePartD1Ev:
-.LFB6688:
-       .cfi_startproc
-       subq    $16, %rdi
-       jmp     _ZN6KParts13ReadWritePartD1Ev
-       .cfi_endproc
-.LFE6688:
-       .size   _ZThn16_N6KParts13ReadWritePartD1Ev,
.-_ZThn16_N6KParts13ReadWritePartD1Ev
-       .section        .text.unlikely
-.LCOLDE153:
-       .text
-.LHOTE153:
-       .section        .text.unlikely
-       .align 2
-.LCOLDB154:
-       .text
-.LHOTB154:
        .align 2
        .p2align 4,,15
        .globl  _ZN6KParts13ReadWritePartD0Ev
@@ -13529,53 +13490,14 @@
 .LFE5572:
        .size   _ZN6KParts13ReadWritePartD0Ev, .-_ZN6KParts13ReadWritePartD0Ev
        .section        .text.unlikely
-.LCOLDE154:
-       .text
-.LHOTE154:
-       .section        .text.unlikely
-.LCOLDB155:
-       .text
-.LHOTB155:
-       .p2align 4,,15
-       .globl  _ZTv0_n24_N6KParts13ReadWritePartD0Ev
-       .type   _ZTv0_n24_N6KParts13ReadWritePartD0Ev, @function
-_ZTv0_n24_N6KParts13ReadWritePartD0Ev:
-.LFB6689:
-       .cfi_startproc
-       movq    (%rdi), %r10
-       addq    -24(%r10), %rdi
-       jmp     _ZN6KParts13ReadWritePartD0Ev
-       .cfi_endproc
-.LFE6689:
-       .size   _ZTv0_n24_N6KParts13ReadWritePartD0Ev,
.-_ZTv0_n24_N6KParts13ReadWritePartD0Ev
-       .section        .text.unlikely
-.LCOLDE155:
-       .text
-.LHOTE155:
-       .section        .text.unlikely
-.LCOLDB156:
-       .text
-.LHOTB156:
-       .p2align 4,,15
-       .globl  _ZThn16_N6KParts13ReadWritePartD0Ev
-       .type   _ZThn16_N6KParts13ReadWritePartD0Ev, @function
-_ZThn16_N6KParts13ReadWritePartD0Ev:
-.LFB6690:
-       .cfi_startproc
-       subq    $16, %rdi
-       jmp     _ZN6KParts13ReadWritePartD0Ev
-       .cfi_endproc
-.LFE6690:
-       .size   _ZThn16_N6KParts13ReadWritePartD0Ev,
.-_ZThn16_N6KParts13ReadWritePartD0Ev
-       .section        .text.unlikely
...
        .section        .rodata
        .align 32
        .type  
_ZZN6KParts13ReadWritePart11setModifiedEbE19__PRETTY_FUNCTION__, @object
@@ -18015,8 +17937,8 @@
        .quad   _ZNK6KParts13ReadWritePart10metaObjectEv
        .quad   _ZN6KParts13ReadWritePart11qt_metacastEPKc
        .quad   _ZN6KParts13ReadWritePart11qt_metacallEN11QMetaObject4CallEiPPv
-       .quad   _ZN6KParts13ReadWritePartD1Ev
-       .quad   _ZN6KParts13ReadWritePartD0Ev
+       .quad   __cxa_pure_virtual
+       .quad   __cxa_pure_virtual
        .quad   _ZN7QObject5eventEP6QEvent
        .quad   _ZN7QObject11eventFilterEPS_P6QEvent
        .quad   _ZN7QObject10timerEventEP11QTimerEvent
@@ -18050,8 +17972,8 @@
        .quad   16
        .quad   -16
        .quad   _ZTIN6KParts13ReadWritePartE
-       .quad   _ZThn16_N6KParts13ReadWritePartD1Ev
-       .quad   _ZThn16_N6KParts13ReadWritePartD0Ev
+       .quad   __cxa_pure_virtual
+       .quad   __cxa_pure_virtual
        .quad   _ZN6KParts8PartBase16setComponentDataERK14KComponentData
        .quad   _ZN6KParts8PartBase16setComponentDataERK14KComponentDatab
        .quad   0
@@ -18070,8 +17992,8 @@
        .quad   -32
        .quad   -32
        .quad   _ZTIN6KParts13ReadWritePartE
-       .quad   _ZTv0_n24_N6KParts13ReadWritePartD1Ev
-       .quad   _ZTv0_n24_N6KParts13ReadWritePartD0Ev
+       .quad   __cxa_pure_virtual
+       .quad   __cxa_pure_virtual
        .quad   _ZNK13KXMLGUIClient6actionERK11QDomElement
        .quad   _ZNK13KXMLGUIClient16actionCollectionEv
        .quad   _ZNK13KXMLGUIClient13componentDataEv
@@ -18137,5 +18059,5 @@
 _ZN6KParts4Part25staticMetaObjectExtraDataE:
        .quad   0
        .quad  
_ZN6KParts4Part18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv
-       .ident  "GCC: (GNU) 4.9.0 20140314 (experimental)"
+       .ident  "GCC: (GNU) 4.9.0 20140318 (experimental)"
        .section        .note.GNU-stack,"",@progbits


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

* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
  2014-03-19  7:53 ` [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs trippels at gcc dot gnu.org
  2014-03-19  8:02 ` trippels at gcc dot gnu.org
@ 2014-03-19  8:53 ` jakub at gcc dot gnu.org
  2014-03-19 15:02 ` jason at gcc dot gnu.org
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-19  8:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
                 CC|                            |jakub at gcc dot gnu.org
   Target Milestone|---                         |4.9.0


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

* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2014-03-19  8:53 ` jakub at gcc dot gnu.org
@ 2014-03-19 15:02 ` jason at gcc dot gnu.org
  2014-03-19 15:16 ` trippels at gcc dot gnu.org
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: jason at gcc dot gnu.org @ 2014-03-19 15:02 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #2)
> --- part_good.s 2014-03-19 08:57:10.100342064 +0100
> +++ part_bad.s  2014-03-19 08:56:50.134141664 +0100
> -       .quad   _ZN6KParts13ReadWritePartD1Ev
> -       .quad   _ZN6KParts13ReadWritePartD0Ev
> +       .quad   __cxa_pure_virtual
> +       .quad   __cxa_pure_virtual

I have trouble believing this is causing the problem you are seeing; if
something were actually calling through this vtable slot it would write "pure
virtual method called" to stderr and then terminate.


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

* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2014-03-19 15:02 ` jason at gcc dot gnu.org
@ 2014-03-19 15:16 ` trippels at gcc dot gnu.org
  2014-03-19 15:24 ` jakub at gcc dot gnu.org
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-03-19 15:16 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

--- Comment #4 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to Jason Merrill from comment #3)
> (In reply to Markus Trippelsdorf from comment #2)
> > --- part_good.s 2014-03-19 08:57:10.100342064 +0100
> > +++ part_bad.s  2014-03-19 08:56:50.134141664 +0100
> > -       .quad   _ZN6KParts13ReadWritePartD1Ev
> > -       .quad   _ZN6KParts13ReadWritePartD0Ev
> > +       .quad   __cxa_pure_virtual
> > +       .quad   __cxa_pure_virtual
> 
> I have trouble believing this is causing the problem you are seeing; if
> something were actually calling through this vtable slot it would write
> "pure virtual method called" to stderr and then terminate.

part.ii is part of a library called libkparts.so.4.12.3.
When I compile part.cpp with a compiler before r208573 and link the 
library (all other objects files for the lib are unchanged) and then install
the library to my system /usr/lib folder, Okular starts and works fine.

If I compile part.cpp with a compiler _after_ r208573 and link the 
library and install it, Okular shows a popup "Unable to find the Okular 
component".


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

* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2014-03-19 15:16 ` trippels at gcc dot gnu.org
@ 2014-03-19 15:24 ` jakub at gcc dot gnu.org
  2014-03-19 15:32 ` trippels at gcc dot gnu.org
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-19 15:24 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #4)
> If I compile part.cpp with a compiler _after_ r208573 and link the 
> library and install it, Okular shows a popup "Unable to find the Okular 
> component".

So, can you perhaps with the part_good.s put a breakpoint on the 2 dtors and 4
thunks to those, and see if they are ever called during the startup of Okular?
For the 2 dtors perhaps always look at the caller if it was a direct call or
call through vtable?


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

* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2014-03-19 15:24 ` jakub at gcc dot gnu.org
@ 2014-03-19 15:32 ` trippels at gcc dot gnu.org
  2014-03-19 16:29 ` jason at gcc dot gnu.org
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-03-19 15:32 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

--- Comment #6 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Looking at the library, the only difference are four additional
symbols in the good version:

_ZThn16_N6KParts13ReadWritePartD0Ev
_ZThn16_N6KParts13ReadWritePartD1Ev
_ZTv0_n24_N6KParts13ReadWritePartD0Ev
_ZTv0_n24_N6KParts13ReadWritePartD1Ev


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

* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2014-03-19 15:32 ` trippels at gcc dot gnu.org
@ 2014-03-19 16:29 ` jason at gcc dot gnu.org
  2014-03-19 17:43 ` trippels at gcc dot gnu.org
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: jason at gcc dot gnu.org @ 2014-03-19 16:29 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #4)
> part.ii is part of a library called libkparts.so.4.12.3.
> When I compile part.cpp with a compiler before r208573 and link the 
> library (all other objects files for the lib are unchanged) and then install
> the library to my system /usr/lib folder, Okular starts and works fine.
> 
> If I compile part.cpp with a compiler _after_ r208573 and link the 
> library and install it, Okular shows a popup "Unable to find the Okular 
> component".

Just to be clear, you've tested specifically 208572 vs 208573?  Recompiling
just that one file?

> Looking at the library, the only difference are four additional
> symbols in the good version:
> 
> _ZThn16_N6KParts13ReadWritePartD0Ev
> _ZThn16_N6KParts13ReadWritePartD1Ev
> _ZTv0_n24_N6KParts13ReadWritePartD0Ev
> _ZTv0_n24_N6KParts13ReadWritePartD1Ev

These are thunks to the destructor, which are unneeded if the (constructor)
vtable doesn't refer to them anymore.

(In reply to Jakub Jelinek from comment #5)
> So, can you perhaps with the part_good.s put a breakpoint on the 2 dtors and
> 4 thunks to those, and see if they are ever called during the startup of
> Okular?

Or with part_bad, put a breakpoint on __cxa_pure_virtual?


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

* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2014-03-19 16:29 ` jason at gcc dot gnu.org
@ 2014-03-19 17:43 ` trippels at gcc dot gnu.org
  2014-03-19 17:53 ` jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-03-19 17:43 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

--- Comment #9 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Running nm on all my libs shows:
...
kde4/notepadpart.so
                 U _ZThn16_N6KParts13ReadWritePartD0Ev
...
kde4/okularpart.so
                 U _ZThn16_N6KParts13ReadWritePartD0Ev
...
libkatepartinterfaces.so
                 U _ZThn16_N6KParts13ReadWritePartD0Ev
libkatepartinterfaces.so.4
                 U _ZThn16_N6KParts13ReadWritePartD0Ev
libkatepartinterfaces.so.4.12.3
                 U _ZThn16_N6KParts13ReadWritePartD0Ev
...
libktexteditor.so
                 U _ZThn16_N6KParts13ReadWritePartD0Ev
libktexteditor.so.4
                 U _ZThn16_N6KParts13ReadWritePartD0Ev
libktexteditor.so.4.12.3
                 U _ZThn16_N6KParts13ReadWritePartD0Ev

So maybe okular and katepart just need to be recompiled?
Let me try this.


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

* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2014-03-19 17:43 ` trippels at gcc dot gnu.org
@ 2014-03-19 17:53 ` jakub at gcc dot gnu.org
  2014-03-19 18:01 ` trippels at gcc dot gnu.org
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-19 17:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #9)
> Running nm on all my libs shows:
> ...
> kde4/notepadpart.so
>                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> ...
> kde4/okularpart.so
>                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> ...
> libkatepartinterfaces.so
>                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> libkatepartinterfaces.so.4
>                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> libkatepartinterfaces.so.4.12.3
>                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> ...
> libktexteditor.so
>                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> libktexteditor.so.4
>                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> libktexteditor.so.4.12.3
>                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> 
> So maybe okular and katepart just need to be recompiled?
> Let me try this.

So the errors were dlopen errors when trying to load those libraries?

BTW, were those shared libraries built by some earlier version of G++ 4.9, or
G++ 4.8 (or some older version)?


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

* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (9 preceding siblings ...)
  2014-03-19 17:53 ` jakub at gcc dot gnu.org
@ 2014-03-19 18:01 ` trippels at gcc dot gnu.org
  2014-03-19 18:11 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-03-19 18:01 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #11 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #10)
> (In reply to Markus Trippelsdorf from comment #9)
> > Running nm on all my libs shows:
> > ...
> > kde4/notepadpart.so
> >                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> > ...
> > kde4/okularpart.so
> >                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> > ...
> > libkatepartinterfaces.so
> >                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> > libkatepartinterfaces.so.4
> >                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> > libkatepartinterfaces.so.4.12.3
> >                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> > ...
> > libktexteditor.so
> >                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> > libktexteditor.so.4
> >                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> > libktexteditor.so.4.12.3
> >                  U _ZThn16_N6KParts13ReadWritePartD0Ev
> > 
> > So maybe okular and katepart just need to be recompiled?
> > Let me try this.
> 
> So the errors were dlopen errors when trying to load those libraries?

Recompilation of Okular, katelib and pykde4 fixed the issue.
But there were no dlopen errors in the log. Somehow KDE manages to 
hide them from the user...

> BTW, were those shared libraries built by some earlier version of G++ 4.9,
> or G++ 4.8 (or some older version)?

Yes, there were build with earlier version of 4.9.

But this is a nasty issue that will potentially surprise many users of 4.9.


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

* [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (10 preceding siblings ...)
  2014-03-19 18:01 ` trippels at gcc dot gnu.org
@ 2014-03-19 18:11 ` jakub at gcc dot gnu.org
  2014-03-25 20:25 ` [Bug c++/60566] [4.9 Regression] r208573 omits needed thunks jason at gcc dot gnu.org
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-19 18:11 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #11)
> > BTW, were those shared libraries built by some earlier version of G++ 4.9,
> > or G++ 4.8 (or some older version)?
> 
> Yes, there were build with earlier version of 4.9.
> 
> But this is a nasty issue that will potentially surprise many users of 4.9.

I agree it is nasty, but if a released compiler never has exposed such symbols
(I assume it could have done that only through bogus? devirtualization), then
it is not as bad as if this would be effectively an ABI break from 4.8.


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

* [Bug c++/60566] [4.9 Regression] r208573 omits needed thunks
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (11 preceding siblings ...)
  2014-03-19 18:11 ` jakub at gcc dot gnu.org
@ 2014-03-25 20:25 ` jason at gcc dot gnu.org
  2014-03-26 16:51 ` jason at gcc dot gnu.org
  2014-03-26 17:15 ` jason at gcc dot gnu.org
  14 siblings, 0 replies; 15+ messages in thread
From: jason at gcc dot gnu.org @ 2014-03-25 20:25 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |ASSIGNED
   Last reconfirmed|                            |2014-03-25
         Resolution|INVALID                     |---
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org
            Summary|[4.9 Regression] r208573    |[4.9 Regression] r208573
                   |miscompiles kdelibs         |omits needed thunks
     Ever confirmed|0                           |1

--- Comment #13 from Jason Merrill <jason at gcc dot gnu.org> ---
Actually, this is an ABI breakage even without devirtualization:

wa.h:
struct A
{
  virtual void f() = 0;
  virtual ~A() {}
};

struct B: virtual A { int i; };
struct C: virtual A { int i; ~C(); };

wa.C:
#include "wa.h"
struct D: B, C { void f(); };
void D::f() {}

wa2.C:
#include "wa.h"
C::~C() { }
int main() {}

Compiling wa.C with 4.8 and wa2.C with 4.9 results in undefined symbol errors.


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

* [Bug c++/60566] [4.9 Regression] r208573 omits needed thunks
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (12 preceding siblings ...)
  2014-03-25 20:25 ` [Bug c++/60566] [4.9 Regression] r208573 omits needed thunks jason at gcc dot gnu.org
@ 2014-03-26 16:51 ` jason at gcc dot gnu.org
  2014-03-26 17:15 ` jason at gcc dot gnu.org
  14 siblings, 0 replies; 15+ messages in thread
From: jason at gcc dot gnu.org @ 2014-03-26 16:51 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

--- Comment #14 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Wed Mar 26 16:50:26 2014
New Revision: 208845

URL: http://gcc.gnu.org/viewcvs?rev=208845&root=gcc&view=rev
Log:
    PR c++/60566
    PR c++/58678
    * class.c (build_vtbl_initializer): Handle abstract dtors here.
    * search.c (get_pure_virtuals): Not here.

Added:
    trunk/gcc/testsuite/g++.dg/abi/thunk6.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/class.c
    trunk/gcc/cp/search.c
    trunk/gcc/ipa-devirt.c
    trunk/gcc/testsuite/g++.dg/ipa/devirt-21.C
    trunk/gcc/testsuite/g++.dg/ipa/devirt-23.C


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

* [Bug c++/60566] [4.9 Regression] r208573 omits needed thunks
       [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
                   ` (13 preceding siblings ...)
  2014-03-26 16:51 ` jason at gcc dot gnu.org
@ 2014-03-26 17:15 ` jason at gcc dot gnu.org
  14 siblings, 0 replies; 15+ messages in thread
From: jason at gcc dot gnu.org @ 2014-03-26 17:15 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #15 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed.


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

end of thread, other threads:[~2014-03-26 17:15 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-60566-4@http.gcc.gnu.org/bugzilla/>
2014-03-19  7:53 ` [Bug c++/60566] [4.9 Regression] r208573 miscompiles kdelibs trippels at gcc dot gnu.org
2014-03-19  8:02 ` trippels at gcc dot gnu.org
2014-03-19  8:53 ` jakub at gcc dot gnu.org
2014-03-19 15:02 ` jason at gcc dot gnu.org
2014-03-19 15:16 ` trippels at gcc dot gnu.org
2014-03-19 15:24 ` jakub at gcc dot gnu.org
2014-03-19 15:32 ` trippels at gcc dot gnu.org
2014-03-19 16:29 ` jason at gcc dot gnu.org
2014-03-19 17:43 ` trippels at gcc dot gnu.org
2014-03-19 17:53 ` jakub at gcc dot gnu.org
2014-03-19 18:01 ` trippels at gcc dot gnu.org
2014-03-19 18:11 ` jakub at gcc dot gnu.org
2014-03-25 20:25 ` [Bug c++/60566] [4.9 Regression] r208573 omits needed thunks jason at gcc dot gnu.org
2014-03-26 16:51 ` jason at gcc dot gnu.org
2014-03-26 17:15 ` jason at gcc dot gnu.org

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).