On Fri, Dec 19, 2008 at 11:32:22AM -0600, Peter O'Gorman wrote:
> Hi,
> 
> When building qt-3.3.8 and wxGTk on Tru64 UNIX 5.1
> (alphaev67-dec-osf5.1) with gcc-4.2.4, we got linker failures about
> duplicate non-virtual thunks, e.g. from qt:
> /usr/ccs/bin/ld:
> .obj/release-shared-mt/qmotifdnd_x11.o: non-virtual thunk to 
> QDragMoveEvent::~QDragMoveEvent(): multiply defined
> .obj/release-shared-mt/qmotifdnd_x11.o: non-virtual thunk to 
> QDragMoveEvent::~QDragMoveEvent(): multiply defined
> .obj/release-shared-mt/qmotifdnd_x11.o: non-virtual thunk to 
> QDragEnterEvent::~QDragEnterEvent(): multiply defined
> .obj/release-shared-mt/qmotifdnd_x11.o: non-virtual thunk to 
> QDragEnterEvent::~QDragEnterEvent(): multiply defined
> 
> This appears to be because the non-virtual thunks are not output weak on this
> platform, so, those that appear in multiple objects will cause linker errors
> like this (in the above case, there are _ZThn16_N14QDragMoveEventD0Ev and
> _ZThn16_N14QDragMoveEventD1Ev in both qdnd_x11.o and qmotifdnd_x11.o).
>

We did a regression hunt, since we knew it worked in 3.4.3 and failed in
4.2.4.

The problems start with r109149 - this patch:
http://gcc.gnu.org/ml/gcc-patches/2005-12/msg01905.html

With this patch reverted we can build qt on Tru64 with gcc-4.2.4.

I have not yet built trunk on this platform, when I tired bootstrap
failed, will try again now, but I don't believe this has changed much
from 4.2.4.

Is this patch itself to blame, or does it simply expose a latent bug?

Will reverting this patch in the gcc that we ship cause any real
problems?

Thanks,
Peter
-- 
Peter O'Gorman
po...@thewrittenword.com

Reply via email to