On Sun, Dec 14, 2008 at 10:15:12PM +0200, Led wrote: > On Sunday, 14 December 2008 22:04:31 Kirill A. Shutemov wrote: > > On Sun, Dec 14, 2008 at 09:58:19PM +0200, Led wrote: > > > On Sunday, 14 December 2008 21:41:35 Kirill A. Shutemov wrote: > > > > On Mon, Dec 15, 2008 at 12:33:35AM +0500, Andrey Rahmatullin wrote: > > > > > On Sun, Dec 14, 2008 at 09:30:23PM +0200, Kirill A. Shutemov wrote: > > > > > > qemu, до недавнего времени требовался gcc < 4. Неделю назад, эта > > > > > > зависимость, наконец, исчезла. > > > > > > > > > > В virtualbox этот код уже попал? > > > > > По-моему, сизифный vbox либо собран 3.х, либо собран 4.х и глючит. > > > > > > > > Я не в курсе как часто vbox синькается с qemu. В qemu зависимость на > > > > старый gcc убрали где-то неделю назад. > > > > > > AFAIR там gcc3.X нужен был только для не-x86/x86_64 эмуляторов. > > > > Это не так. > > > > > Например, kvm я всегда собирал gcc4.X (там только x86/x86_64 модули > > > собираются). > > > > kvm не эмулятор. По крайней мере не эмулятор процессора. > > kvm от оригинального qemu отличается только тем, что внём отключена поддержка > kqemu и заменена на модуль поддержку kvm.ko, с -no-kvm он работает также как > qemu с -no-kqemu Ранее qemu для динамической трансляции, если упростить, использовал следующую схему: для каждой инструкции целевой архитектуры писалась C-ая функция, код компилировался. Когда нужно было транслировать кусок кода целевой архитектуры в код для хостовой архитектуры, для каждой инструкции ставилась в соответствие C-ная функция, обрезался return и эти куски склеивались. Всё работало до тех пор пока в функции была только одна точка выхода. В gcc 4 ситуация изменилась -- он может генерировать более одной точки выхода. И всё _может_ стать плохо. Сейчас схема генерации кода в qemu изменилась и отпала необходимость в gcc3.X. kvm и kqemu исполняют часть инструкций напрямую на процессоре, поэтому их эта кухня затрагивает в меньшей степени. Но я не уверен, что вообще не затрагивает. Ведь привилегированные инструкции, они, насколько я понимаю, всё равно вынуждены эмулировать. Как они это делают, я не знаю. Я бы не рискнул собирать код базирующийся на старом qemu с помощью gcc4.X. -- Regards, Kirill A. Shutemov + Belarus, Minsk + ALT Linux Team, http://www.altlinux.org/