Skip site navigation (1)Skip section navigation (2)
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>