Перейти к содержанию
    

Error: selected processor does not support Thumb mode `swp r0,r5,[r6]'

Добрый день,

пытаюсь скомпилировать под 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

 

Что можно сделать или задайте направление где почитать.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько я понял, GCC сгенерил инструкцию, которую ассемблер считает неподдерживаемой вашим процессором.

Для начала попробуйте явным образом указать им правильный тип процессора (с помощью -march/-mtune).

Если не поможет, попробовать другие версии gcc или binutils (в зависимости от того, кто из них неправ)...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько я понял, 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)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите где нужно указать -march/-mtune

Нет однозначного ответа. Самое простое - это установить переменную окружения CFLAGS (и потом заново запустить ./configure).

Если не поможет, придется наверное патчить Makefile/Makefile.in в исходниках... Короче говоря, разбираться, как в компилируемой софтине формируется команда компиляции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прежде чем говорить GCC что thumb таки есть, я бы решил для себя действительно ли хочется генерить thumb код.

Старый thumb (иногда) жертвовал скоростью для плотности кода. С thumb2 все сложнее. Короче прежде чем решать КАК делать следует решить ЧТО делать.

 

Все зависит от целевой системы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...