On Thursday 28 May 2015 12:24:55 Lisandro Damián Nicanor Pérez Meyer wrote: > Hi! I've been watching the recent changes in Qt 5.4.2 due to gcc5. I have > some doubts I would like to clear.
Hi Lisandro > Please feel free to correct me and/or expand whatever you think it's worth. > > As I understand the issue is that gcc5 created a BIC in qt5 due to us using > -Bsymbolic and -fPIE, so the solution was to use -fPIC instead. Actually, no. Long-story short: we relied on an undocumented, side-effect behaviour in GCC that using -fPIE would avoid copy relocations in binaries. As noticed previously in other platforms (ARM had this problem), -fPIE does not imply no-copy-relocation. GCC 5 made that change for x86 too. So you need to use -fPIC now. The version of GCC requires that change varies per platform. I don't remember (and have no interest in finding out) which version was for ARM. For x86, that's 5.0. > That means that applications need to use -fPIC when building against Qt > 5.4.2 too. We're discussing whether we should enforce that for all GCC versions or whether to enforce only for GCC >= 5. Otherwise, you're right. > * Will the same happen with Qt4? Do we need to patch it? Technically yes, in practice no. Everyone who enabled -reduce-relocations, needs to use it. But that is not enabled by default in Qt 4. > * Suppose I now push Qt 5.4.2 compiled against gcc4.9 to Debian: do I need > to recompile whatever depends on Qt5? I would expect I shouldn't, but > better asking :) You need to recompile anything you compiled using GCC 5. Everything that had been compiled with 4.9 should be fine. On x86 and x86-64. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
