Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Error: selected processor does not support Thumb mode `swp r0,r5,[r6]'
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
comatoz
Добрый день,
пытаюсь скомпилировать под Allwinner A10 VMware-view-open-client.

Компилирование идет прямо на устройстве, пакеты из репозиториев debian armhf, ставились через apt-get, что требовалось для ./configure поставил.
Запускаю make
Код
...
...
gcc -DPACKAGE_NAME=\"VMware-view-open-client\" -DPACKAGE_TARNAME=\"VMware-view-open-client-source\" -DPACKAGE_VERSION=\"4.5.0-297975\" -DPACKAGE_STRING=\"VMware-view-open-client\ 4.5.0-297975\" -DPACKAGE_BUGREPORT=\"http://code.google.com/p/vmware-view-open-client/issues/entry\" -DVIEW_GTK=1 -DVIEW_POSIX=1 -DPACKAGE=\"VMware-view-open-client-source\" -DVERSION=\"4.5.0-297975\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LOCALE_H=1 -DHAVE_LC_MESSAGES=1 -DHAVE_BIND_TEXTDOMAIN_CODESET=1 -DHAVE_GETTEXT=1 -DHAVE_DCGETTEXT=1 -DENABLE_NLS=1 -DHAVE_BOOST= -DHAVE_BOOST_SIGNALS= -DPRODUCT_VIEW_CLIENT_NAME=\"VMware\ View\ Open\ Client\" -DVIEW_CLIENT_VERSION_NUMBER=\"4.5.0\" -DVMX86_TOOLS=1 -DVMX86_DEBUG=1 -DVMX86_DEVEL=1 -DVMX86_STATS=1 -DDEBUG_STUB_ACCESS_IO_PORTS=1 -DVMX86_LOG=1 -DDEBUG_STUB=1 -D_XOPEN_SOURCE=500 -D_BSD_SOURCE=1 -D_SVID_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DHAVE_LSEEK=1 -DHAVE_UIDNA_IDNTOASCII=1 -DHAVE_DLFCN_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_LOCALTIME_R=1 -I.  -I./lib/open-vm-tools/include -I./lib/bora/include -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12    -DGLIBC_VERSION_21 -DGLIBC_VERSION_22 -pthread -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include     -DBUILT_BY_cubie  -g -O2 -MT lib/open-vm-tools/misc/libMisc_a-hashTable.o -MD -MP -MF lib/open-vm-tools/misc/.deps/libMisc_a-hashTable.Tpo -c -o lib/open-vm-tools/misc/libMisc_a-hashTable.o `test -f 'lib/open-vm-tools/misc/hashTable.c' || echo './'`lib/open-vm-tools/misc/hashTable.c
/tmp/ccLlpaes.s: Assembler messages:
/tmp/ccLlpaes.s:2143: Error: selected processor does not support Thumb mode `swp r0,r5,[r6]'
make[2]: *** [lib/open-vm-tools/misc/libMisc_a-hashTable.o] Error 1


Что можно сделать или задайте направление где почитать.
alx2
Насколько я понял, GCC сгенерил инструкцию, которую ассемблер считает неподдерживаемой вашим процессором.
Для начала попробуйте явным образом указать им правильный тип процессора (с помощью -march/-mtune).
Если не поможет, попробовать другие версии gcc или binutils (в зависимости от того, кто из них неправ)...
comatoz
Цитата(alx2 @ Jun 5 2014, 10:23) *
Насколько я понял, GCC сгенерил инструкцию, которую ассемблер считает неподдерживаемой вашим процессором.
Для начала попробуйте явным образом указать им правильный тип процессора (с помощью -march/-mtune).
Если не поможет, попробовать другие версии gcc или binutils (в зависимости от того, кто из них неправ)...


Спасибо за ответ.

Настолько глубоко я ещё не знаю, где крутить. Понимаю, что должен быть файл.
Подскажите где нужно указать -march/-mtune

Текущие параметры gcc
Код
~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-14' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.6.3 (Debian 4.6.3-14)


alx2
Цитата(comatoz @ Jun 5 2014, 12:44) *
Подскажите где нужно указать -march/-mtune

Нет однозначного ответа. Самое простое - это установить переменную окружения CFLAGS (и потом заново запустить ./configure).
Если не поможет, придется наверное патчить Makefile/Makefile.in в исходниках... Короче говоря, разбираться, как в компилируемой софтине формируется команда компиляции.
alexf
Прежде чем говорить GCC что thumb таки есть, я бы решил для себя действительно ли хочется генерить thumb код.
Старый thumb (иногда) жертвовал скоростью для плотности кода. С thumb2 все сложнее. Короче прежде чем решать КАК делать следует решить ЧТО делать.

Все зависит от целевой системы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.