[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