From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:33077) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qb5Ah-0000as-NM for qemu-devel@nongnu.org; Mon, 27 Jun 2011 02:19:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qb5Af-0007hm-8v for qemu-devel@nongnu.org; Mon, 27 Jun 2011 02:19:47 -0400 Received: from fmmailgate03.web.de ([217.72.192.234]:53060) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qb5Ae-0007hf-LP for qemu-devel@nongnu.org; Mon, 27 Jun 2011 02:19:45 -0400 Message-ID: <4E0820FE.8000506@web.de> Date: Mon, 27 Jun 2011 08:19:42 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <20110626230312.56C4F3FC03@buildbot.b1-systems.de> <1309152553-25693-1-git-send-email-weil@mail.berlios.de> In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigBFBB2934617D88BB47B628F2" Sender: jan.kiszka@web.de Subject: Re: [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi , Stefan Weil Cc: Blue Swirl , qemu-devel@nongnu.org This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigBFBB2934617D88BB47B628F2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 2011-06-27 08:10, Stefan Hajnoczi wrote: > On Mon, Jun 27, 2011 at 6:29 AM, Stefan Weil wro= te: >> Commit f26e428da505709ec03b2ed2c9eb3db82b30bd7b fixed compilation >> with --enable-vnc-png, but broke it with --enable-vnc-png. >> >> The breakage is caused by pngconfig.h which checks whether >> setjmp.h was already included and fails because qemu-common.h >> includes setjmp.h. >> >> The check is disabled by defining PNG_SKIP_SETJMP_CHECK. >> >> Cc: Blue Swirl >> Signed-off-by: Stefan Weil >> --- >> ui/vnc-enc-tight.c | 3 +++ >> 1 files changed, 3 insertions(+), 0 deletions(-) >=20 > Reviewed-by: Stefan Hajnoczi >=20 > Some more info on why Stefan Weil's fix is correct: >=20 > The setjmp(3) man page says, >=20 > "POSIX does not specify whether setjmp() will save the signal > mask. In System V it will not. In 4.3BSD it will, and there is a > function _setjmp that will not. By default, Linux/glibc follows the > System V behavior, but the BSD behavior is provided if the > _BSD_SOURCE feature test macro is defined and none of > _POSIX_SOURCE, _POSIX_C_SOURCE, _XOPEN_SOURCE, > _XOPEN_SOURCE_EXTENDED, _GNU_SOURCE, or _SVID_SOURCE is defined." >=20 > Apparently libpng wants to make sure that the setjmp() which will not > save signal masks is used on Linux. The problem is that Linux > supports both versions and jmp_buf is part of the libpng API. That > means the application and the library need to agree on which setjmp() > semantics will be used. >=20 > That said, QEMU doesn't seem to make use of the jmp_buf API in libpng, > so this really shouldn't matter at all. We can skip the header check. That sounds good. Please adjust the comment that this patch introduces. Jan --------------enigBFBB2934617D88BB47B628F2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAk4IIP4ACgkQitSsb3rl5xRCEwCg1EF+63/bFxWuEI6fkGyObup0 z5IAoLdnKA0nq/J1HQyUbyHlGX/ySCjj =+neM -----END PGP SIGNATURE----- --------------enigBFBB2934617D88BB47B628F2--