Thiago Macieira wrote:

> That's qhash.cpp (the only place where we use _mm_crc32_xxx()).
> 
> This sounds like qhash.cpp was compiled with -march=native but *linked*
> without. Can you confirm that you see the compiler options passed on the
> linker command-line (-O2 -march=native, etc.)?

Well, even if you were right, something else appears to be going on. Wouldn't 
it be simply the same issue that makes it impossible to build QtScript and 
QtWebkit with LTO, the use of inline assembly? That's very likely what the _mm_ 
intrinsics macros contain. OTOH, if you use them for SSE <4 too that cannot be 
the whole explanation.

Here are all commands involving qhasp.cpp from my latest build log:

:info:build /usr/bin/clang++ -c -O3 -march=native -g -ffunction-sections -fPIC 
-isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk
 -std=c++11 -stdlib=libc++ -mmacosx-version-min=10.7 -fno-exceptions -Wall -W 
-DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE 
-DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_LIBRARY 
-DQT_NO_QOBJECT -DQT_NO_SYSTEMLOCALE -DQT_NO_THREAD -DQT_NO_UNICODETABLES 
-DQT_NO_USING_NAMESPACE -DQT_NO_DEPRECATED -DQT_NO_TRANSLATION 
-DQT_QMAKE_LOCATION=\"/opt/local/var/macports/build/qt5-kde-x11/build/bin/qmake\"
 -DQT_CRYPTOGRAPHICHASH_ONLY_SHA1 -DQT_NO_CAST_FROM_ASCII 
-DQT_BUILD_BOOTSTRAP_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS 
-DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS 
-DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS 
-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-ev
 erywhere-opensource-src-5.4.2/qtbase/src/tools/bootstrap -I. 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtCore
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtXml
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtCore/5.4.2
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtCore/5.4.2/QtCore
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtXml/5.4.2
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtXml/5.4.2/QtXml
 -I../../../include -I../../../include/QtCore 
-I/opt/local/var/macports/build/qt5-kde-x11/build/include/QtXml 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase
 /mkspecs/macx-clang -o .obj/qhash.o 
/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/tools/qhash.cpp
[...]
:info:build 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar
 cq libQt5Bootstrap.a .obj/qstring_mac.o .obj/qstandardpaths_mac.o 
.obj/qlatincodec.o .obj/qtextcodec.o .obj/qutfcodec.o .obj/qglobal.o 
.obj/qlogging.o .obj/qmalloc.o .obj/qnumeric.o .obj/qabstractfileengine.o 
.obj/qbuffer.o .obj/qdatastream.o .obj/qdebug.o .obj/qdir.o .obj/qdiriterator.o 
.obj/qfile.o .obj/qfileinfo.o .obj/qfilesystementry.o .obj/qfilesystemengine.o 
.obj/qfsfileengine.o .obj/qfsfileengine_iterator.o .obj/qiodevice.o 
.obj/qfiledevice.o .obj/qtemporaryfile.o .obj/qtextstream.o 
.obj/qstandardpaths.o .obj/qloggingcategory.o .obj/qloggingregistry.o 
.obj/qcoreapplication.o .obj/qcoreglobaldata.o .obj/qmetatype.o .obj/qvariant.o 
.obj/qsystemerror.o .obj/quuid.o .obj/qbitarray.o .obj/qbytearray.o 
.obj/qarraydata.o .obj/qbytearraymatcher.o .obj/qcommandlineparser.o 
.obj/qcommandlineoption.o .obj/qcryptographichash.o .obj/qdatetime.o 
.obj/qhash.o .obj/qlist.o .obj/qlink
 edlist.o .obj/qlocale.o .obj/qlocale_tools.o .obj/qmap.o .obj/qregexp.o 
.obj/qpoint.o .obj/qrect.o .obj/qsize.o .obj/qline.o .obj/qstring.o 
.obj/qstring_compat.o .obj/qstringlist.o .obj/qvector.o .obj/qvsnprintf.o 
.obj/qxmlutils.o .obj/qxmlstream.o .obj/qjson.o .obj/qjsondocument.o 
.obj/qjsonobject.o .obj/qjsonarray.o .obj/qjsonvalue.o .obj/qjsonparser.o 
.obj/qjsonwriter.o .obj/qdom.o .obj/qxml.o .obj/qfilesystemengine_unix.o 
.obj/qfilesystemiterator_unix.o .obj/qfsfileengine_unix.o 
.obj/qcoreapplication_mac.o .obj/qcore_mac.o
:info:build 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
 file: libQt5Bootstrap.a(qvector.o) has no symbols
:info:build 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib
 -s libQt5Bootstrap.a
:info:build 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
 file: libQt5Bootstrap.a(qvector.o) has no symbols
:info:build rm -f ../../../lib/libQt5Bootstrap.a
:info:build mv -f libQt5Bootstrap.a ../../../lib/ 

(note how the bootstrap build uses the 10.10 SDK while I'm pretty sure I told 
configure to use the 10.9 SDK ...)

These are probably the ones of interest:

:info:build /usr/bin/clang++ -c -O3 -march=native -g -D_REENTRANT 
-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include 
-I/opt/local/include -O3 -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
 -std=c++11 -stdlib=libc++ -mmacosx-version-min=10.7 -fvisibility=hidden 
-fvisibility-inlines-hidden -flto -Wall -W -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV 
-DQT_NO_EVDEV -DQT_NO_USING_NAMESPACE -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT 
-DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT 
-DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS 
-DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_USE_ICU -DQT_CORE_LIB 
-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib
 -I. 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include
 -I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-
 src-5.4.2/qtbase/include/QtCore -I../../include -I../../include/QtCore 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtCore/5.4.2
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtCore/5.4.2/QtCore
 -Iglobal 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/src/3rdparty/harfbuzz/src
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/src/3rdparty/md5
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/src/3rdparty/md4
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/src/3rdparty/sha3
 -I.moc 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/mkspecs/macx-clang
 -o .obj/qhash.o 
/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/tools/qhash.cpp
[...]
:info:build 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
 -L/opt/local/lib -Wl,-headerpad_max_install_names -O3 -march=native -g 
-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
 -stdlib=libc++ -mmacosx-version-min=10.7 -D_REENTRANT 
-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include 
-I/opt/local/include -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
 -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -flto 
-single_module -dynamiclib -fPIC -compatibility_version   5.4 -current_version  
  5.4.2 -install_name     
/opt/local/libexec/qt5/Library/Frameworks/QtCore.framework/Versions/5/QtCore -o 
QtCore .obj/qlocale_mac.o .obj/qtimezoneprivate_mac.o .obj/qstring_mac.o 
.obj/qbytearray_mac.o .obj/qurl_mac.o .obj/qfilesystemwatcher_fsevents.o 
.obj/qstandardpaths_mac.o .obj/qcore_mac_objc.o .obj/qabstrac
 tanimation.o .obj/qvariantanimation.o .obj/qpropertyanimation.o 
.obj/qanimationgroup.o .obj/qsequentialanimationgroup.o 
.obj/qparallelanimationgroup.o .obj/qpauseanimation.o .obj/qatomic_unix.o 
.obj/qglobal.o .obj/qglobalstatic.o .obj/qlibraryinfo.o .obj/qmalloc.o 
.obj/qnumeric.o .obj/qlogging.o .obj/qhooks.o .obj/qatomic.o .obj/qexception.o 
.obj/qresultstore.o .obj/qfutureinterface.o .obj/qfuturewatcher.o .obj/qmutex.o 
.obj/qreadwritelock.o .obj/qrunnable.o .obj/qmutexpool.o .obj/qsemaphore.o 
.obj/qthread.o .obj/qthreadpool.o .obj/qthreadstorage.o .obj/qthread_unix.o 
.obj/qwaitcondition_unix.o .obj/qarraydata.o .obj/qbitarray.o .obj/qbytearray.o 
.obj/qbytearraylist.o .obj/qbytearraymatcher.o .obj/qcollator.o 
.obj/qcommandlineoption.o .obj/qcommandlineparser.o .obj/qcryptographichash.o 
.obj/qdatetime.o .obj/qdatetimeparser.o .obj/qeasingcurve.o 
.obj/qelapsedtimer.o .obj/qfreelist.o .obj/qhash.o .obj/qline.o 
.obj/qlinkedlist.o .obj/qlist.o .obj/qlocale.o .obj/qlocale_tools.o 
 .obj/qpoint.o .obj/qmap.o .obj/qmargins.o .obj/qmessageauthenticationcode.o 
.obj/qcontiguouscache.o .obj/qrect.o .obj/qregexp.o .obj/qrefcount.o 
.obj/qshareddata.o .obj/qsharedpointer.o .obj/qsimd.o .obj/qsize.o 
.obj/qstring.o .obj/qstringbuilder.o .obj/qstringlist.o 
.obj/qtextboundaryfinder.o .obj/qtimeline.o .obj/qtimezone.o 
.obj/qtimezoneprivate.o .obj/qunicodetools.o .obj/qvector.o .obj/qvsnprintf.o 
.obj/qversionnumber.o .obj/qelapsedtimer_mac.o .obj/qlocale_icu.o 
.obj/qcollator_icu.o .obj/qtimezoneprivate_icu.o .obj/qregularexpression.o 
.obj/harfbuzz-buffer.o .obj/harfbuzz-gdef.o .obj/harfbuzz-gsub.o 
.obj/harfbuzz-gpos.o .obj/harfbuzz-impl.o .obj/harfbuzz-open.o 
.obj/harfbuzz-stream.o .obj/harfbuzz-shaper-all.o .obj/qharfbuzz.o 
.obj/qabstractfileengine.o .obj/qbuffer.o .obj/qdatastream.o .obj/qdataurl.o 
.obj/qtldurl.o .obj/qdebug.o .obj/qdir.o .obj/qdiriterator.o .obj/qfile.o 
.obj/qfiledevice.o .obj/qfileinfo.o .obj/qipaddress.o .obj/qiodevice.o 
.obj/qlockfile.o .obj/qn
 oncontiguousbytedevice.o .obj/qprocess.o .obj/qstorageinfo.o 
.obj/qtextstream.o .obj/qtemporarydir.o .obj/qtemporaryfile.o .obj/qresource.o 
.obj/qresource_iterator.o .obj/qsavefile.o .obj/qstandardpaths.o .obj/qurl.o 
.obj/qurlidna.o .obj/qurlquery.o .obj/qurlrecode.o .obj/qsettings.o 
.obj/qfsfileengine.o .obj/qfsfileengine_iterator.o .obj/qfilesystemwatcher.o 
.obj/qfilesystemwatcher_polling.o .obj/qfilesystementry.o 
.obj/qfilesystemengine.o .obj/qfileselector.o .obj/qloggingcategory.o 
.obj/qloggingregistry.o .obj/qfsfileengine_unix.o .obj/qfilesystemengine_unix.o 
.obj/qlockfile_unix.o .obj/qprocess_unix.o .obj/qfilesystemiterator_unix.o 
.obj/qsettings_mac.o .obj/qstorageinfo_mac.o .obj/qfilesystemwatcher_kqueue.o 
.obj/qabstractitemmodel.o .obj/qabstractproxymodel.o .obj/qitemselectionmodel.o 
.obj/qidentityproxymodel.o .obj/qsortfilterproxymodel.o .obj/qstringlistmodel.o 
.obj/qjson.o .obj/qjsondocument.o .obj/qjsonobject.o .obj/qjsonarray.o 
.obj/qjsonvalue.o .obj/qjsonwriter.
 o .obj/qjsonparser.o .obj/qpluginloader.o .obj/qfactoryloader.o .obj/quuid.o 
.obj/qlibrary.o .obj/qelfparser_p.o .obj/qmachparser.o .obj/qlibrary_unix.o 
.obj/qabstracteventdispatcher.o .obj/qabstractnativeeventfilter.o 
.obj/qbasictimer.o .obj/qeventloop.o .obj/qcoreapplication.o .obj/qcoreevent.o 
.obj/qmetaobject.o .obj/qmetatype.o .obj/qmetaobjectbuilder.o .obj/qmimedata.o 
.obj/qobject.o .obj/qobjectcleanuphandler.o .obj/qsignalmapper.o 
.obj/qsocketnotifier.o .obj/qtimer.o .obj/qtranslator.o .obj/qvariant.o 
.obj/qcoreglobaldata.o .obj/qsharedmemory.o .obj/qsystemsemaphore.o 
.obj/qpointer.o .obj/qmath.o .obj/qsystemerror.o .obj/qcoreapplication_mac.o 
.obj/qcore_mac.o .obj/qcore_unix.o .obj/qcrashhandler.o 
.obj/qeventdispatcher_unix.o .obj/qtimerinfo_unix.o 
.obj/qeventdispatcher_glib.o .obj/qsharedmemory_unix.o 
.obj/qsystemsemaphore_unix.o .obj/qisciicodec.o .obj/qlatincodec.o 
.obj/qtextcodec.o .obj/qtsciicodec.o .obj/qutfcodec.o .obj/qicucodec.o 
.obj/qstatemachine.o .obj/qab
 stractstate.o .obj/qstate.o .obj/qfinalstate.o .obj/qhistorystate.o 
.obj/qabstracttransition.o .obj/qsignaltransition.o .obj/qeventtransition.o 
.obj/qmimedatabase.o .obj/qmimetype.o .obj/qmimemagicrulematcher.o 
.obj/qmimetypeparser.o .obj/qmimemagicrule.o .obj/qmimeglobpattern.o 
.obj/qmimeprovider.o .obj/qxmlstream.o .obj/qxmlutils.o .obj/qstring_compat.o 
.obj/qrc_mimetypes.o .obj/moc_qabstractanimation_p.o .obj/moc_qnamespace.o 
.obj/moc_qthread.o .obj/moc_qthreadpool.o .obj/moc_qfuturewatcher.o 
.obj/moc_qeasingcurve.o .obj/moc_qlocale.o .obj/moc_qtimeline.o 
.obj/moc_qfile.o .obj/moc_qfiledevice.o .obj/moc_qiodevice.o 
.obj/moc_qnoncontiguousbytedevice_p.o .obj/moc_qtextstream_p.o 
.obj/moc_qtemporaryfile.o .obj/moc_qsavefile.o .obj/moc_qsettings.o 
.obj/moc_qfilesystemwatcher_p.o .obj/moc_qfilesystemwatcher_polling_p.o 
.obj/moc_qfilesystemwatcher_fsevents_p.o .obj/moc_qfilesystemwatcher_kqueue_p.o 
.obj/moc_qabstractitemmodel.o .obj/moc_qstringlistmodel.o .obj/moc_qpluginloader
 .o .obj/moc_qlibrary.o .obj/moc_qfactoryloader_p.o 
.obj/moc_qabstracteventdispatcher.o .obj/moc_qeventloop.o 
.obj/moc_qcoreapplication.o .obj/moc_qcoreevent.o .obj/moc_qmimedata.o 
.obj/moc_qsocketnotifier.o .obj/moc_qtimer.o .obj/moc_qtranslator.o 
.obj/moc_qobjectcleanuphandler.o .obj/moc_qsharedmemory.o 
.obj/moc_qeventdispatcher_unix_p.o .obj/moc_qeventdispatcher_glib_p.o 
.obj/moc_qabstractstate.o .obj/moc_qstate.o .obj/moc_qfinalstate.o 
.obj/moc_qhistorystate.o .obj/moc_qabstracttransition.o 
.obj/moc_qsignaltransition.o .obj/moc_qeventtransition.o  -framework 
DiskArbitration -framework IOKit -lz -licui18n -licuuc -licudata -lpcre16 -lm 
-L/opt/local/lib -lgthread-2.0 -lglib-2.0 -lintl -framework ApplicationServices 
-framework CoreServices -framework CoreFoundation -framework Foundation 
:info:build LLVM ERROR: Cannot select: intrinsic %llvm.x86.sse42.crc32.64.64
:info:build clang: error: linker command failed with exit code 1 (use -v to see 
invocation)
:info:build Makefile:1186: recipe for target 
'../../lib/QtCore.framework/QtCore' failed
:info:build gmake[2]: *** [../../lib/QtCore.framework/QtCore] Error 1
:info:build gmake[2]: Leaving directory 
'/opt/local/var/macports/build/qt5-kde-x11/build/src/corelib'
:info:build Makefile:140: recipe for target 'sub-corelib-make_first' failed
:info:build gmake[1]: *** [sub-corelib-make_first] Error 2
:info:build gmake[1]: Leaving directory 
'/opt/local/var/macports/build/qt5-kde-x11/build/src'
:info:build Makefile:45: recipe for target 'sub-src-make_first' failed
:info:build gmake: *** [sub-src-make_first] Error 2
:info:build gmake: Leaving directory 
'/opt/local/var/macports/build/qt5-kde-x11/build'
:info:build Command failed:  cd 
"/opt/local/var/macports/build/qt5-kde-x11/build" && gmake -j4 -w 
:info:build Exit code: 2


_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to