Date: Sun, 4 Nov 2012 15:18:30 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: David Naylor <naylor.b.david@gmail.com> Cc: freebsd-current@freebsd.org, David Chisnall <theraven@freebsd.org>, Brooks Davis <brooks@freebsd.org>, Jan Beich <jbeich@tormail.org> Subject: Re: November 5th is Clang-Day Message-ID: <20121104131830.GL73505@kib.kiev.ua> In-Reply-To: <201211041442.16620.naylor.b.david@gmail.com> References: <20121102032945.GF65074@lor.one-eyed-alien.net> <201211030948.43530.naylor.b.david@gmail.com> <1TUlad-0008bB-OF@internal.tormail.org> <201211041442.16620.naylor.b.david@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--dD1ndss832r/QIua Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Nov 04, 2012 at 02:42:13PM +0200, David Naylor wrote: > On Saturday, 3 November 2012 23:47:54 Jan Beich wrote: > > David Naylor <naylor.b.david@gmail.com> writes: > > > There are two issues here: 1) wine compiled with clang, and 2) wine > > > (compiled with gcc) running on clang compiled base. > > >=20 > > > Regarding 1), according to the wiki [1], wine does have stack alignme= nt > > > issues and some wine programs do not run when compiled with clang [2]= [3] > > > and other bugs with clang cause freezing within wine [4][5]. The > > > impression I get is that, using the work-a-round of stack realignment, > > > wine does work to some extent when compiled by clang. > >=20 > > Took me some time but now I can confirm that clang-built wine-1.5.16 > > works fine for me with gcc-built lib32 (i.e. ld-elf32.so.1 + /usr/lib32= ). > >=20 > > > Regarding 2) (which I believe Jan was referring to), when I have a gcc > > > built world and just replace lib32 with clang built libraries I have > > > winecfg and regedit launching but displaying black screens. Switching > > > back to gcc built lib32 I get a working winecfg and regedit. This, to > > > me, indicates a clang error somewhere. > >=20 > > My experience varies between clang-built and gcc-built wine. > >=20 > > # clang, quick crash > >=20 > > # gcc, black rectangle > >=20 > > So, why not switch stack alignment in wine (upstream)? This would make > > /stable/9 wine package continue to work on /head. > >=20 > > Here's my wine package built with and without the patch. > >=20 > > # sha256: cef5e543a5c534acb7237634224561863122ab3c256df319c6428856266d7= 9fd > > http://ompldr.org/vZzR0bw/4byte-clang-wine-fbsd64-1.5.16,1.txz > > # sha256: 68e402bf7cb39ea48b9bef7772422cf476e89b214fd3b98ced37e0068f588= c6c > > http://ompldr.org/vZzR0ZA/16byte-clang-wine-fbsd64-1.5.16,1.txz >=20 > I tried building (using gcc) wine with your patch and now (at least) wine= cfg=20 > and regedit work with a clang built lib32. I'll email Gerald (wine's=20 > maintainer) about including your patch in wine. =20 The wine is the wrong place to fix. If system libraries suddenly started requiring 16-byte stack alignment on i386, it is unacceptable breakage of the ABI. I tried to gather the evidence for the case, but apparent submitter of the bug stopped replying to the requests. --dD1ndss832r/QIua Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlCWayUACgkQC3+MBN1Mb4ijHQCgsn6zPVfmb0AVPjncq/QWV41+ PT8AoIZPSpfqb8YAYrNTKmwflW/d0zhq =zpfT -----END PGP SIGNATURE----- --dD1ndss832r/QIua--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121104131830.GL73505>