qt5base-lts/mkspecs
Thiago Macieira 51dafeda8c linux-icc: always compile applications as position-independent execs
The problem isn't the compiler, but the linker, so we ought to turn this
flag on for all ELF-based systems where we compile Qt with -Bsymbolic,
but so far only the Intel compiler has been affected. We can turn it on
as needed for other systems.

The cause of the problem is the way that ICC materializes the pointer-
to-member-function: it stores the full 2*sizeof(void*) data in an
anonymous variable, so that it can load it in one go, such as one 16-
byte SSE aligned load on 64-bit systems. That relocation in a data
variable gets turned into a fixed-position copy relocation by the
linker, which breaks the signal-identification mechanism.

GCC and Clang are likely to be affected if anyone did:

    static const auto destroyed = &QObject::destroyed;
    QObject::connect(obj, destroyed, [](){});

Task-number: QTBUG-52439
Change-Id: I0d69eaf61af149db9574fffd149d0cfb08459c33
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-01-26 07:42:45 +00:00
..
aix-g++ Updated license headers 2016-01-15 12:25:24 +00:00
aix-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
aix-xlc Updated license headers 2016-01-15 12:25:24 +00:00
aix-xlc-64 Updated license headers 2016-01-15 12:25:24 +00:00
android-clang Merge remote-tracking branch 'origin/5.7' into 5.8 2016-11-25 14:41:29 +01:00
android-g++ Merge remote-tracking branch 'origin/5.7' into 5.8 2016-10-11 07:40:32 +02:00
common centralize QMAKE_COMPILER_DEFINES+=_WIN32 also for winrt specs 2016-12-30 10:25:11 +00:00
cygwin-g++ Updated license headers 2016-01-15 12:25:24 +00:00
darwin-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-20 08:00:26 +02:00
devices Fix sanity checks in DRIVE CX and Jetson K1 Pro specs 2017-01-21 08:28:40 +00:00
dummy move all target spec handling to qmake-based configure system 2016-12-13 18:56:34 +00:00
features Inform user that a non-prefix build can't be used on other machines 2017-01-24 13:11:05 +00:00
freebsd-clang Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-20 08:00:26 +02:00
freebsd-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-20 08:00:26 +02:00
haiku-g++ Clean up QT_QPA_DEFAULT_PLATFORM handling 2016-10-05 19:07:30 +00:00
hpux-acc Updated license headers 2016-01-15 12:25:24 +00:00
hpux-acc-64 Updated license headers 2016-01-15 12:25:24 +00:00
hpux-acc-o64 Updated license headers 2016-01-15 12:25:24 +00:00
hpux-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
hpux-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
hpuxi-acc-32 Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
hpuxi-acc-64 Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
hpuxi-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
hurd-g++ Clean up some unused variables in the qmake.conf files 2016-06-23 19:43:04 +00:00
integrity-armv7 Convert the old feature system 2016-09-15 08:24:10 +00:00
integrity-armv7-imx6 Convert the old feature system 2016-09-15 08:24:10 +00:00
integrity-x86 Convert the old feature system 2016-09-15 08:24:10 +00:00
irix-cc Updated license headers 2016-01-15 12:25:24 +00:00
irix-cc-64 Updated license headers 2016-01-15 12:25:24 +00:00
irix-g++ Updated license headers 2016-01-15 12:25:24 +00:00
irix-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
linux-arm-gnueabi-g++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-clang Updated license headers 2016-01-15 12:25:24 +00:00
linux-clang-libc++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-cxx Updated license headers 2016-01-15 12:25:24 +00:00
linux-g++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-g++-32 Updated license headers 2016-01-15 12:25:24 +00:00
linux-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
linux-icc linux-icc: always compile applications as position-independent execs 2017-01-26 07:42:45 +00:00
linux-icc-32 Updated license headers 2016-01-15 12:25:24 +00:00
linux-icc-64 Updated license headers 2016-01-15 12:25:24 +00:00
linux-kcc Updated license headers 2016-01-15 12:25:24 +00:00
linux-llvm Updated license headers 2016-01-15 12:25:24 +00:00
linux-lsb-g++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-pgcc Updated license headers 2016-01-15 12:25:24 +00:00
lynxos-g++ Updated license headers 2016-01-15 12:25:24 +00:00
macx-clang Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
macx-clang-32 Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
macx-g++ Merge remote-tracking branch 'origin/5.7' into dev 2016-06-23 14:24:55 +02:00
macx-g++40 Merge remote-tracking branch 'origin/5.7' into dev 2016-06-23 14:24:55 +02:00
macx-g++42 Merge remote-tracking branch 'origin/5.7' into dev 2016-06-23 14:24:55 +02:00
macx-g++-32 Merge remote-tracking branch 'origin/5.7' into dev 2016-06-23 14:24:55 +02:00
macx-icc Disable ICC warning 3373 2016-12-07 13:21:01 +00:00
macx-ios-clang iOS, mkspec: only link in qiosnsphotolibrarysupport for iOS 2016-11-07 08:50:16 +00:00
macx-llvm Merge remote-tracking branch 'origin/5.7' into dev 2016-06-23 14:24:55 +02:00
macx-tvos-clang Make TARGETED_DEVICE_FAMILY variable platform independent 2016-09-05 15:24:54 +00:00
macx-watchos-clang Make TARGETED_DEVICE_FAMILY variable platform independent 2016-09-05 15:24:54 +00:00
macx-xcode Merge remote-tracking branch 'origin/5.6' into 5.7 2016-08-25 16:12:11 +02:00
modules Adjust wiki links to the new redirect 2015-03-04 15:36:12 +00:00
netbsd-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-07-04 15:58:39 +02:00
openbsd-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-07-15 20:47:57 +02:00
qnx-aarch64le-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
qnx-armle-v7-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
qnx-x86-64-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
qnx-x86-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
sco-cc Updated license headers 2016-01-15 12:25:24 +00:00
sco-g++ Updated license headers 2016-01-15 12:25:24 +00:00
solaris-cc Updated license headers 2016-01-15 12:25:24 +00:00
solaris-cc-64 Updated license headers 2016-01-15 12:25:24 +00:00
solaris-cc-64-stlport Updated license headers 2016-01-15 12:25:24 +00:00
solaris-cc-stlport Updated license headers 2016-01-15 12:25:24 +00:00
solaris-g++ Updated license headers 2016-01-15 12:25:24 +00:00
solaris-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
tru64-cxx Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
tru64-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
unixware-cc Updated license headers 2016-01-15 12:25:24 +00:00
unixware-g++ Updated license headers 2016-01-15 12:25:24 +00:00
unsupported Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-10 23:27:10 +02:00
win32-clang-msvc Merge all "win32-msvc*" mkspecs into one 2016-12-23 13:45:39 +00:00
win32-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-10-01 22:15:55 +02:00
win32-icc Merge all "win32-msvc*" mkspecs into one 2016-12-23 13:45:39 +00:00
win32-msvc Merge all "win32-msvc*" mkspecs into one 2016-12-23 13:45:39 +00:00
winphone-arm-msvc2013 Remove hard-coded MS compiler versions from the mkspecs 2016-12-23 13:45:26 +00:00
winphone-x86-msvc2013 Remove hard-coded MS compiler versions from the mkspecs 2016-12-23 13:45:26 +00:00
winrt-arm-msvc2013 Remove hard-coded MS compiler versions from the mkspecs 2016-12-23 13:45:26 +00:00
winrt-arm-msvc2015 Remove hard-coded MS compiler versions from the mkspecs 2016-12-23 13:45:26 +00:00
winrt-x64-msvc2013 Remove hard-coded MS compiler versions from the mkspecs 2016-12-23 13:45:26 +00:00
winrt-x64-msvc2015 centralize QMAKE_COMPILER_DEFINES+=_WIN32 also for winrt specs 2016-12-30 10:25:11 +00:00
winrt-x64-msvc2017 winrt: Add support for Visual Studio 2017 2017-01-20 13:09:16 +00:00
winrt-x86-msvc2013 centralize QMAKE_COMPILER_DEFINES+=_WIN32 also for winrt specs 2016-12-30 10:25:11 +00:00
winrt-x86-msvc2015 centralize QMAKE_COMPILER_DEFINES+=_WIN32 also for winrt specs 2016-12-30 10:25:11 +00:00
winrt-x86-msvc2017 winrt: Add support for Visual Studio 2017 2017-01-20 13:09:16 +00:00