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