Date: Mon, 04 Jun 2012 11:32:55 +0200 From: Dimitry Andric <dim@FreeBSD.org> To: =?ISO-8859-1?Q?Trond_Endrest=F8l?= <Trond.Endrestol@fagskolen.gjovik.no> Cc: FreeBSD stable <freebsd-stable@freebsd.org> Subject: Re: cvsup{, d} woes after upgrading to RELENG_9 on amd64 this weekend Message-ID: <4FCC80C7.8060802@FreeBSD.org> In-Reply-To: <alpine.BSF.2.00.1206041038360.8570@mail.fig.ol.no> References: <alpine.BSF.2.00.1206041038360.8570@mail.fig.ol.no>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2012-06-04 10:53, Trond Endrest=F8l wrote: > After upgrading to RELENG_9 as of yesterday on my amd64 system, cvsup=20 > bombs out with Bus error: 10. =2E.. > The only recent change I can think of is switching to clang for=20 > building the kernel and base. Made I should rebuild world and kernel=20 > using gcc. Currently, the ezm3 port is broken for a world compiled with clang (or more specifically, for a world that uses SSE), see: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D162588 The problem is that ezm3 doesn't correctly align the stack, causing certain routines in libz to crash, because clang emits SSE instructions in them, whilst assuming the stack is 16-byte aligned. This could also occur with any other compiler that uses SSE. Basically, ezm3 doesn't seem to respect the amd64 ABI. I haven't been able to fix ezm3's stack alignment; it is based on a very old branch of gcc, and I am not familiar with Modula-3 in general. Any assistance in this area will be greatly appreciated. That said, since the ezm3 software is essentially unmaintained, the only practical solutions to your problem currently are: - Compile libz without SSE - Compile libz with gcc - Use csup instead of cvsup - Fix ezm3 to respect the amd64 ABI - Rewrite cvsupd in C (this is left as an exercise for the reader ;)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FCC80C7.8060802>