[sisyphus] ALTLinux Sisyphus vs Borland Kylix, Майн камф, победа.
Roman S
=?iso-8859-1?q?rromas_=CE=C1_pisem=2Enet?=
Вс Май 16 23:02:40 MSD 2004
On Вск, 2004-05-16 at 16:21 +0400, Sergey Vlasov wrote:
> On Sun, May 16, 2004 at 03:28:47PM +0400, Roman S wrote:
> > Пришлось вооружиться блоходавом и смотреть, что происходит.
> > А произошло наложение двух "особенностей" Сизифа.
> > 1) Неисполнимый стек "по умолчанию"
> > 2) NPTL
> > =====================================================================
> > И так, решение. Растактовка танца с бубном для заклинания программ:
> >
> > 1) Вырезать из ядра openwall-приблуду, либо обработать все исполнимые
> > модули из /opt/kylix3/bin командой "chstk -e" (вообще - рекомендуемая
> > процедура для всех не-альтовских программ, устанавливаемых на машину)
>
> Если падало на командах типа call 0x24(%esp) (именно с таким режимом
> адресации - смещение относительно esp), причиной является недавно
> обнаруженная ошибка в патче Openwall (эмуляция GCC trampoline
> неправильно обрабатывала этот режим адресации). В очередной сборке
> ядра std (уже 2.4.26) эта ошибка исправлена; пакеты находятся на пути
> в Сизиф.
Среда работает с использованием WINE.
Имеются запилы на стек и по ходу работы самой IDE. Детально разбираться
мне не улыбается. Теперь работает? Вот и не надо трогать, пока работает.
>
> Хотя, поскольку компилятор там собственный, возможно, что генерируемый
> им код несовместим с эмулятором GCC trampoline. Раз уж удалось
> отловить проблему, пожалуйста, покажите команды, на которых падало
> (команда вызова и кусок кода в стеке, который должен был выполниться).
По компилятору - см. фикс из п.3
> > 2) В скрипты /opt/kylix3/bin/start* внести:
> > LD_ASSUME_KERNEL=2.2.5 - это для того, чтоб NTPL не портили жизнь.
>
> А вот как раз NPTL в сизифовской glibc нет. Если LD_ASSUME_KERNEL
> действительно влияет на работоспособность Kylix - дело в чём-то
> другом. И, кстати, с предыдущими версиями glibc такое значение
> LD_ASSUME_KERNEL вообще приведёт к невозможности запустить что-либо
> (вне зависимости от происхождения).
>
> Кстати, glibc-core-i686 у вас в системе случайно не установлен?
Нет. С этои добром я разбирался на старой домашней K6-III, какие там
686?
Но в процессе "разбора полётов" у меня образовались разные
варианты libc, текущая сборка - с NTPL (я честно говоря не вникаю уже в
детали Альтовской сборки ЛИБЦ - мне уже пофиг) c
LD_ASSUME_KERNEL=2.2.5 будет работать и с NTPL, если (даже не "если", а
"когда") они образуются, если в текущем Альте они ещё не включены...
>
> > 3) Отсюда http://unvclx.sourceforge.net/download.html
> > - установить Kylix3 patch suite.
Подробная информация о списке рассылки Sisyphus