diff options
author | Thiago Macieira <thiago.macieira@nokia.com> | 2010-05-30 08:46:42 (GMT) |
---|---|---|
committer | Thiago Macieira <thiago.macieira@nokia.com> | 2010-06-07 09:20:50 (GMT) |
commit | 8a4d4c1f0d3761cbf46cf0fee076647ec4a6ac5a (patch) | |
tree | 5f1d91e09869513da8ebf1a3c7db96dcd6408888 /mkspecs | |
parent | 5eec7f6611075df526f30796378315c9cd469cd8 (diff) | |
download | Qt-8a4d4c1f0d3761cbf46cf0fee076647ec4a6ac5a.zip Qt-8a4d4c1f0d3761cbf46cf0fee076647ec4a6ac5a.tar.gz Qt-8a4d4c1f0d3761cbf46cf0fee076647ec4a6ac5a.tar.bz2 |
Update the mkspec for linux-icc: don't use jump tables in shlibs
ICC generates jump table code that isn't PIC (i.e., it does absolute
indirect jumps), so this increases the number of relocations in shared
libraries by a huge amount.
In QtCore it increased by 250% (from 3500 to 12000).
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/linux-icc/qmake.conf | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf index 5e46498..3b26f7d 100644 --- a/mkspecs/linux-icc/qmake.conf +++ b/mkspecs/linux-icc/qmake.conf @@ -27,7 +27,7 @@ QMAKE_CFLAGS_WARN_ON = -w1 -Wcheck -wd654,1572,411,873,1125 QMAKE_CFLAGS_WARN_OFF = -w QMAKE_CFLAGS_RELEASE = -O2 -falign-functions=16 -ansi-alias -fstrict-aliasing QMAKE_CFLAGS_DEBUG = -O0 -g -QMAKE_CFLAGS_SHLIB = -fPIC +QMAKE_CFLAGS_SHLIB = -fPIC -fno-jump-tables QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB QMAKE_CFLAGS_YACC = QMAKE_CFLAGS_THREAD = -D_REENTRANT @@ -58,7 +58,7 @@ QMAKE_LINK_SHLIB = icpc QMAKE_LFLAGS = QMAKE_LFLAGS_RELEASE = QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -shared +QMAKE_LFLAGS_SHLIB = -shared -shared-intel QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB QMAKE_LFLAGS_SONAME = -Wl,-soname, QMAKE_LFLAGS_THREAD = @@ -77,7 +77,7 @@ QMAKE_LIBS_THREAD = -lpthread QMAKE_MOC = $$[QT_INSTALL_BINS]/moc QMAKE_UIC = $$[QT_INSTALL_BINS]/uic -QMAKE_AR = ar cqs +QMAKE_AR = xiar cqs QMAKE_OBJCOPY = objcopy QMAKE_RANLIB = |