[devel] сборка софта с помощью GCC3.4

Kirill A. Shutemov =?iso-8859-1?q?kirill_=CE=C1_shutemov=2Ename?=
Чт Апр 10 13:19:36 MSD 2008


On Thu, Apr 10, 2008 at 01:55:42AM +0400, Dmitry V. Levin wrote:
> Hi,
> 
> On Thu, Apr 10, 2008 at 01:29:44AM +0400, Yury A.Romanov wrote:
> > Вчера обнаружил набор софта, позволяющий эмулировать сеть на базе
> > оборудования CISCO. Одной из компонент является утилита pemu - захаченный до
> > безобразия qemu, который позволяет запускать образы PIX и ASA до 8й версии.
> > Попытка сборки с помощью gcc4.1 к успеху не привела, сборка валится где-то
> > на "ошибке" в ассемблерном коде. Желания разбираться нету, в апстриме на
> > поддержку gcc4.X пока машут рукой. Соответственно вопрос - насколько
> > правомерна сборка устаревшим компилятором пакетов для сизифа?
> 
> Сборка правомерна (т.е. легальна), но не приветствуется.
> Обычно такая сборка является признаком пакета, заброшенного
> мантейнером или апстримом.

В случае qemu это не так. Там сейчас транслятор завязан на особенности
генерации кода gcc.

В qemu для каждой инструкции эмулируемой архитектуры написана реализация 
на C в виде функции. Во время трансляции qemu для каждой инструции
подстовляет тело функции, обрезая код входа и код возврата. Таким образом
получается цепочка, которая и выполняется.

Таким образом обязательным условием является одна точка входа и одна точка 
выхода в скомпилированной функции. Для gcc < 4.x оно выполняется, для более
новых - нет.

Транслятор сейчас активно переписывается, но это процесс долгий.

P.S. описание процесса трансляции сильно упрощено.

-- 
Regards,  Kirill A. Shutemov
 + Belarus, Minsk
 + ALT Linux Team, http://www.altlinux.com/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080410/26b8f6fb/attachment-0002.bin>


Подробная информация о списке рассылки Devel