Page 3 of 9
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 8:15 am
by Albom
Запускаю в VMWare Player. Получаю "Ошибка: Неподдерживаемая инструкция процессора"
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 10:56 am
by Jaeger
Это в версии из моего предыдущего сообщения или из темы про образ для CC?
Может, дело в march=i486 - какой процессор эмулирует VMWare?
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 11:44 am
by Albom
Насчёт эмуляции ничего сказать не могу.
Кроме того в KlbrInWin при запуске без параметров программа падает.
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 12:25 pm
by Jaeger
Спасибо за репорты, буду вечером отлаживать.
И всё-таки: о какой версии бинарника идёт речь?
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 1:03 pm
by Albom
Бинарник - последний в этой теме (Чт авг 18, 2011 11:12 pm).
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 1:32 pm
by Mario
Albom
Эмулятор давно уже не показатель и не был им с самого начала. Вот если падает и в самой среде Колибри также, то это однозначный показатель. Лучше проверять в Qemu, Bosh, VirtualBox, VMWare в запущенной Колибри. Используя исключительно KlbrInWin ты часто обрекаешь себя и других на поиск несуществующих ошибок в программе.
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 2:41 pm
by Albom
Конечно KlbrInWin не является показателем...
Только что потестировал ещё...
В Qemu работает. В VMWare выдаёт указанную ранее ошибку (при помощи @notify).
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 2:55 pm
by CleverMouse
"причину странного поведения печаталок хотелось бы выяснить." - а что тут выяснять-то? Как пишут в сети, кривой gcc содержит баг, из-за которого поддержка 64-битных целей запрещает нормальное для 32-битных целей выравнивание стека. В результате gcc генерирует кривой код, в котором он не может просто использовать значения argc и argv из стека - как это сделал бы нормальный компилятор, - а вынужден задействовать регистры. Один из регистров в ходе инициализации портится.
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 3:05 pm
by SoUrcerer
Т.е. проблема в использовании именно gcc-4.4, а в gcc-3 все может быть и будет ОК?
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 3:08 pm
by CleverMouse
Sorcerer, да, с поправкой "gcc-4.4 с поддержкой 64-битной кодогенерации". Версия, собранная на сервере автосборки, такие параметры кушает нормально.
XVilka, под Колибри есть свой отладчик mtdbg, не требующий шаманства с qemu+gdb+бубен_для_поиска_нужной_программы_в_памяти.
Mario, утверждение "Используя исключительно KlbrInWin ты часто обрекаешь себя и других на поиск несуществующих ошибок в программе." требует доказательств. Я ещё могу поверить в наличие небольших глюков эмулятора при использовании свежих - на тот момент - и редких фич, но этого недостаточно для характеристики "часто".
Code: Select all
seg000:00000E1A sub esp, 8
seg000:00000E1D movsd xmm0, qword ptr [ecx+0Ch]
seg000:00000E22 movsd [ebp+var_38], xmm0
seg000:00000E27 movsd qword ptr [esp], xmm0
seg000:00000E2C call _fabs
seg000:00000E31 cvttsd2si edi, [ebp+var_38]
Это кривой код, генерируемый gcc, который по умолчанию не может поверить в существование процессоров без SSE. На таких процессорах с эмуляторами, использующими реальный процессор, будет вылетать. На уровне исходного кода Си искать ошибку бесполезно.
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 3:16 pm
by SoUrcerer
Боже мой, вот такое нужно показывать людям, которые кричат: -ааавно этот ваш ассемблер, вот Си лучше!
Попробую собрать gcc без поддержки 64 бит, и перекомпилировать как минимум lua.
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 3:33 pm
by Mario
CleverMouse wrote:
Mario, утверждение "Используя исключительно KlbrInWin ты часто обрекаешь себя и других на поиск несуществующих ошибок в программе." требует доказательств. Я ещё могу поверить в наличие небольших глюков эмулятора при использовании свежих - на тот момент - и редких фич, но этого недостаточно для характеристики "часто".
Автор эмулятора сам говорил об этом. Насчет часто не могу ни подтвердить, ни опровергнуть. Когда я разрабатывал используя KlbrInWin, то достаточно часто ловил глюки которые отношения к собственно программе не имели. Для меня часто это раз в 1-2 дня при активной разработке. После того как Евгений перестал обновлять эмулятор я для себя решил, что пользоваться им в дальнейшем как инструментом разработчика не есть правильный путь. Вот собственно все - на этом предлагаю оффтоп не имеющий к Питону отношения закончить. Успехов.
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 3:37 pm
by Serge
Зачем такие сложности ? -mtune -march
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 3:41 pm
by SoUrcerer
Serge wrote:Зачем такие сложности ? -mtune -march
Jaeger wrote:Добавил march=i486, не помогает.
Всё чудесатее и чудесатее.
???
Re: Python для KolibriOS
Posted: Fri Aug 19, 2011 3:50 pm
by Serge
Значит gcc сейчас делает выравнивание стека независимо от целевой архитектуры. Тем не менее c newlib таких проблем не возникает. Значит это не баг gcc.