From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.3 X-Virus-Scanned: amavisd-new at velesys.com Date: Wed, 27 Feb 2008 16:15:21 +0200 From: "Kirill A. Shutemov" To: ledest@gmail.com, ALT Linux Sisyphus discussions Message-ID: <20080227141521.GB20439@localhost.localdomain> References: <200802261916.44512.shrek@altlinux.ru> <20080226205221.GL17602@osdn.org.ua> <47C563CA.70609@altlinux.org> <200802271555.56112.ledest@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Y7xTucakfITjPcLV" Content-Disposition: inline In-Reply-To: <200802271555.56112.ledest@gmail.com> X-Operating-System: ALT Linux Sisyphus (20071221) (Kernel 2.6.24-rc8) User-Agent: Mutt/1.5.17 (2007-11-01) Subject: Re: [sisyphus] IQ: kernel-image-std-smp-2.6.24-alt0.3 X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: ALT Linux Sisyphus discussions List-Id: ALT Linux Sisyphus discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Feb 2008 14:12:28 -0000 Archived-At: List-Archive: List-Post: --Y7xTucakfITjPcLV Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On [Wed, 27.02.2008 15:55], Led wrote: > =D0=9D=D0=B5 =D0=B7=D0=BD=D0=B0=D1=8E =D0=B8=D0=B7-=D0=B7=D0=B0 =D1=8D=D1= =82=D0=BE=D0=B3=D0=BE =D0=B8=D0=BB=D0=B8 =D0=BD=D0=B5=D1=82, =D0=BD=D0=BE q= emu-kvm =D0=B2 =D1=81=D0=B8=D0=B7=D0=B8=D1=84=D0=B5 =D0=BF=D1=80=D0=B8=D0= =BD=D1=83=D0=B4=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE =D1=81=D0=BE=D0= =B1=D1=80=D0=B0=D0=BD gcc4.1,=20 > =D0=B0 =D0=BD=D0=B5 gcc3.4 =D0=AD=D1=82=D0=BE=D0=B3=D0=BE =D0=B4=D0=B5=D0=BB=D0=B0=D1=82=D1=8C =D0=BD= =D0=B5=D0=BB=D1=8C=D0=B7=D1=8F: The issue is that gcc4 optimizes better, but this breaks assumptions of=20 QEmu. Example: The basic idea (simplified!) of QEmu is writing C functions which= =20 implement the instructions of the target CPU. Then, code to be emulated is= =20 translated by chaining the _compiled_ functions (corresponding to the=20 target code) together, but _leaving_ out the return instruction at the end= =20 of the function (otherwise, the resulting code would return already after= =20 the first emulated instruction). Now, gcc4 can produce code with several return instructions (with no=20 option to turn that of, as far as I understand). You cannot cut them out,= =20 and therefore you cannot chain the simple functions. --=20 Regards, Kirill A. Shutemov + Belarus, Minsk + Velesys Ltd, http://www.velesys.com/ + ALT Linux Team, http://www.altlinux.com/ --Y7xTucakfITjPcLV Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (GNU/Linux) iEYEARECAAYFAkfFcHkACgkQbWYnhzC5v6qUtACfSEhlvZTjlEy2eOz08ifwSzcc tJAAn1vFPm5uvijOx+FFrEYIUwkuETMx =bSUU -----END PGP SIGNATURE----- --Y7xTucakfITjPcLV--