Results 1 to 10 of 10

Thread: assembler error in qt

  1. #1
    Join Date
    Apr 2009
    Posts
    4
    Qt products
    Qt4

    Default assembler error in qt

    Hi,
    iam using qtembeddd4.4.3. Iam trying to build qt for ARM processor . During the build iam getting an Assembler error as `swpb %cl,%al,[%esi] in qfutureinterface.cpp. what is the condition which results in this error?. qmake that is generated clears tells it is for ARM version. i gave file qmake command and made sure it corresponds to ARM version

    this is my config command
    ./configure -embedded arm -xplatform qws/linux-arm-g++ -little-endian -no-webkit -no-mmx -no-sse -no-3dnow -no-sse2 -armfpa -no-cups -no-nis -qt-gif -qt-libpng -qt-libjpeg -qt-libmng -qt-libtiff -qt-zlib -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite3 -no-sql-sqlite2 -no-dbus -no-freetype -no-glib

    I tried without -platform linux-g++-32 command as well but no luck.

    This is the error
    Assembler messages:
    {standard input}:828: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:841: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:852: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:886: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:899: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:910: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:1064: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1077: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1088: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1164: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1177: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1188: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1341: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:1354: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:1365: Error: no such instruction: `swpb %dl,%al,[%edi]'
    {standard input}:1392: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:1405: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:1416: Error: no such instruction: `swpb %dl,%al,[%edi]'
    {standard input}:1522: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1535: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1546: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1564: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:1577: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1588: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1648: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1661: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1672: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1690: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:1703: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1714: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1847: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:1860: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:1871: Error: no such instruction: `swpb %dl,%al,[%edi]'

  2. #2
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,017 Times in 4,793 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: assembler error in qt

    Is swpb a valid instruction for ARM? Is there a chance you assembler doesn't support it even though it's valid?
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  3. #3
    Join Date
    Jul 2009
    Posts
    1
    Qt products
    Qt3 Qt4 Qt/Embedded
    Platforms
    Unix/X11 Windows

    Default Re: assembler error in qt

    Hey everybody,

    here is my problem:


    {standard input}: Assembler messages:
    {standard input}:143: Error: no such instruction: `swpb %edx,%al,[%ecx]'
    {standard input}:172: Error: no such instruction: `swpb %edx,%al,[%ecx]'
    {standard input}:195: Error: no such instruction: `swpb %edx,%al,[%ecx]'
    {standard input}:217: Error: no such instruction: `swpb %edx,%bl,[%ecx]'
    {standard input}:675: Error: no such instruction: `swpb %edx,%al,[%ecx]'
    {standard input}:699: Error: no such instruction: `swpb %edx,%bl,[%ecx]'
    {standard input}:974: Error: no such instruction: `swpb %ecx,%al,[%edx]'
    {standard input}:995: Error: no such instruction: `swpb %eax,%cl,[%edx]'
    {standard input}:1069: Error: no such instruction: `swpb %ecx,%al,[%edx]'
    {standard input}:1090: Error: no such instruction: `swpb %eax,%cl,[%edx]'
    make: *** [can_in_out.o] Fehler 1



    It looks like you have the same Problem like me. So what’s the solution? Did you found one?

  4. #4
    Join Date
    Sep 2009
    Posts
    2
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Unix/X11

    Default Re: assembler error in qt

    Hello ,

    I have the same problem building Qt-Extended-4.4.3 for ARM with the same qfutureinterface.cpp file.

    I dug deeper to find the reason and here is what I found:
    - I am compiling with the option -mthumb which instructs the assembler to use the Thumb set of ARM instructions.
    - The instructions SWP and SWPB are available in all ARM architectures instruction sets.
    - The instructions SWP and SWPB are NOT available in Thumb mode.

    I removed the -mthumb option from my configuration and the problem was solved.
    I still do not know why the qfutureinterface.cpp is needing these instructions - I believe it is something related to critical sections (QMutexLocker).

    Regards,
    Aleks
    Last edited by aleks_ivanov; 3rd September 2009 at 11:14.

  5. #5
    Join Date
    Mar 2010
    Posts
    18
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Unix/X11

    Question Re: assembler error in qt

    Hi,

    I am using AM3517 EVM and omap3_qt46_config.patch so that I can run the demos on EVM kit. I have attached the cofigure_omap3 file below for reference.

    ./configure_omap3
    gmake

    but it gives me similar errors. I don't see any option like -mthumb.

    Please, tell me what I should do to resolve this error.

    regards,

    ../../include/QtCore/../../src/corelib/tools/qsharedpointer_impl.h:405: warning: lowering visibility of ‘QSharedPointer<X> QtSharedPointer::copyAndSetPointer(X*, const QSharedPointer<Y>&) [with X = X, Y = Y, T = QAbstractAnimation]’ to match its type
    {standard input}: Assembler messages:
    {standard input}:560: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:573: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:585: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:939: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:952: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:963: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1406: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1419: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1430: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1597: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1610: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1621: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:1631: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1644: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1655: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:1663: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1676: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1687: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1757: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1770: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1781: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:1788: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1801: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1812: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:1821: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:1834: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:1845: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:2127: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:2140: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:2152: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:2236: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:2248: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:2826: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:2839: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:2850: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:2857: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:2870: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:2881: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:2890: Error: no such instruction: `swpb %cl,%al,[%esi]'
    {standard input}:2903: Error: no such instruction: `swpb %al,%dil,[%esi]'
    {standard input}:2914: Error: no such instruction: `swpb %dl,%al,[%esi]'
    {standard input}:3019: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3032: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3043: Error: no such instruction: `swpb %dl,%al,[%edi]'
    {standard input}:3112: Error: no such instruction: `swpb %al,%dl,[%edi]'
    {standard input}:3125: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3137: Error: no such instruction: `swpb %dl,%cl,[%edi]'
    {standard input}:3168: Error: no such instruction: `swpb %al,%dl,[%edi]'
    {standard input}:3181: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3193: Error: no such instruction: `swpb %dl,%cl,[%edi]'
    {standard input}:3239: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3251: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3262: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3289: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3301: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3312: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3347: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3360: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3371: Error: no such instruction: `swpb %dl,%al,[%edi]'
    {standard input}:3401: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3413: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3424: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3453: Error: no such instruction: `swpb %al,%cl,[%edi]'
    {standard input}:3466: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3477: Error: no such instruction: `swpb %dl,%cl,[%edi]'
    {standard input}:3527: Error: no such instruction: `swpb %al,%dl,[%edi]'
    {standard input}:3540: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3552: Error: no such instruction: `swpb %dl,%cl,[%edi]'
    {standard input}:3593: Error: no such instruction: `swpb %al,%cl,[%edi]'
    {standard input}:3606: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3617: Error: no such instruction: `swpb %dl,%cl,[%edi]'
    {standard input}:3696: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3708: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3719: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3772: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3784: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3795: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3835: Error: no such instruction: `swpb %cl,%al,[%edi]'
    {standard input}:3847: Error: no such instruction: `swpb %al,%sil,[%edi]'
    {standard input}:3858: Error: no such instruction: `swpb %cl,%al,[%edi]'
    gmake[1]: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 1
    gmake[1]: Leaving directory `/opt/qtembedded/qt-everywhere-opensource-src-4.6.2/src/corelib'
    gmake: *** [sub-corelib-make_default-ordered] Error 2


    ================================================== =====================

    configure_omap3 file
    ----------------------

    #!/bin/sh
    #------------------------------------------------------------------------------
    # Configuration Settings
    #
    # *** YOU MUST MODIFY THE FOLLOWING SETTINGS FOR YOUR SYSTEM ***
    #------------------------------------------------------------------------------
    #
    # QT_TARGET_DIR : Target-relative location of Qt Installation
    # CSTOOL_DIR : Location of CodeSourcery 2008q1 Toolset
    # GFX_SDK_DIR : Location of your graphics SDK directory
    # GFX_ES_DIR : Graphics SDK sub-directory that contains your OpenGL
    # libraries. This should be "gfx_rel" if you have ES 3.x
    # silicon, and "gfx_rel_es2.x" if you have ES 2.x silicon.

    QT_TARGET_DIR=/opt/qtembedded/qt-everywhere-opensource-src-4.6.2
    CSTOOL_DIR=/opt/toolchain/arm-2009q1
    GFX_SDK_DIR=/opt/OMAP35x_Graphics_SDK_3_01_00_02
    GFX_ES_DIR=gfx_rel_es3.x


    # Configure the qmake.conf file
    # NOTE: The only reason we need to set QMAKE_CXX here is because the
    # configure script does a version check on the compiler, and it doesn't
    # evaluate qmake variables, so we need to set the absolute path here.
    echo "Configuring linux-omap3-g++/qmake.conf for your system..."
    OMAP3_SPEC=mkspecs/qws/linux-omap3-g++/qmake.conf
    sed -i "s#^QMAKE_CSTOOL_DIR =.*\$#QMAKE_CSTOOL_DIR = ${CSTOOL_DIR}#" ${OMAP3_SPEC}
    sed -i "s#^QMAKE_GFX_SDK_DIR =.*\$#QMAKE_GFX_SDK_DIR = ${GFX_SDK_DIR}#" ${OMAP3_SPEC}
    sed -i "s#^QMAKE_GFX_ES_DIR =.*\$#QMAKE_GFX_ES_DIR = ${GFX_ES_DIR}#" ${OMAP3_SPEC}
    sed -i "s#^QMAKE_CXX =.*\$#QMAKE_CXX = ${CSTOOL_DIR}/bin/arm-none-linux-gnueabi-g++#" ${OMAP3_SPEC}

    # Run configure
    echo "Running configure..."
    exec ./configure -prefix ${QT_TARGET_DIR} -embedded arm -little-endian -fast -D QT_NO_QWS_CURSOR -D QT_QWS_CLIENTBLIT -depths 16,24,32 -platform linux-g++ -xplatform qws/linux-omap3-g++ -arch arm -opengl es2 -openvg -plugin-gfx-powervr -no-openssl -no-cups -no-largefile -qt-mouse-pc -plugin-mouse-pc -no-webkit -no-script -qt-gfx-vnc -R ${GFX_SDK_DIR}/${GFX_ES_DIR} $*

  6. #6
    Join Date
    Sep 2009
    Posts
    2
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Unix/X11

    Default Re: assembler error in qt

    Hi,

    the "-mthumb option" is actually a compiler flag. You have to edit the configuration of your compiler, not the qt configuration.

    Regards,
    Aleks

  7. #7
    Join Date
    Mar 2010
    Posts
    18
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Unix/X11

    Default Re: assembler error in qt

    ok.

    I am using the CodeSourcery toolchain of ARM GNU/Linux 2009q1

    do you know in which file do I need to make changes? I do not know at present.

  8. #8
    Join Date
    Mar 2010
    Posts
    18
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Unix/X11

    Default Re: assembler error in qt

    ok. thanks for the quick reply.

    I am using the CodeSourcery toolchain of ARM GNU/Linux 2009q1

    do you know in which file do I need to make changes? I do not know at present.

  9. #9
    Join Date
    Apr 2011
    Posts
    1
    Qt products
    Qt/Embedded
    Platforms
    Unix/X11

    Default Re: assembler error in qt

    Sorry for updating old thread, but this might be useful for future readers (this thread comes first on Google).

    I got the same error, not because of a -mthumb, but because it was compiling with g++ (x86) instead for the cross-compiler.

    I tried "configure -embedded arm-gnueabi ..."
    I tried "configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ ..."
    I tried "configure -embedded -xplatform qws/linux-arm-gnueabi-g++ ..."
    Nothing works, it always end-up mixing up the g++ and arm-linux-gnueabi-g++ stuff.

    The internals of the configure script attempts to be smart about guessing the platforms (QWS yes,no,maybe stuff), but even "./configure -embedded -help" is not clear about the "official" parameters for cross-compiling.

    I can't confirm that older posts had the same issue, because none of them included the full compiler command line leading to the error messages.

  10. #10
    Join Date
    Oct 2011
    Posts
    3
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: assembler error in qt

    hi
    I'm sorry for posting an old thread, but I've encountered the same problem when compiling the qwt.
    but maybe my problem is easier: the same program can go well in x86-arch qmake, but cannot go with the arm-arch qmake.
    so I clean all the project, and rebuild it.
    It works!

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Qt is a trademark of The Qt Company.