Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Nov 2010 19:50:00 +0100
From:      Emanuel Haupt <ehaupt@FreeBSD.org>
To:        Emanuel Haupt <ehaupt@FreeBSD.org>
Cc:        Alexey Shuvaev <shuvaev@physik.uni-wuerzburg.de>, hackers@FreeBSD.org, Dimitry Andric <dim@FreeBSD.org>
Subject:   Re: ccache pausing in buildworld
Message-ID:  <20101108195000.8d24b018.ehaupt@FreeBSD.org>
In-Reply-To: <20101108194222.78551048.ehaupt@FreeBSD.org>
References:  <alpine.BSF.2.00.1010311019150.9437@wonkity.com> <20101108144811.4a737a7a.ehaupt@FreeBSD.org> <20101108153434.GC17517@wep4035.physik.uni-wuerzburg.de> <4CD83AF3.9090507@FreeBSD.org> <20101108194222.78551048.ehaupt@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Emanuel Haupt <ehaupt@FreeBSD.org> wrote:
> Dimitry Andric <dim@FreeBSD.org> wrote:
> > On 2010-11-08 16:34, Alexey Shuvaev wrote:
> > > Just FYI, you would see exact the same problem if you try to
> > > compile i386 world on amd64-CURRENT with clang:
> > > ...
> > > /src/lib/csu/i386-elf/crt1_s.S: Assembler messages:
> > > /src/lib/csu/i386-elf/crt1_s.S:34: Error: suffix or operands
> > > invalid for `push' /src/lib/csu/i386-elf/crt1_s.S:37: Error: `8(%
> > > ebp)' is not a valid 64 bit base/index
> > > expression /src/lib/csu/i386-elf/crt1_s.S:38: Error: suffix or
> > > operands invalid for `push' /src/lib/csu/i386-elf/crt1_s.S:39:
> > > Error: `4(%ebp)' is not a valid 64 bit base/index
> > > expression /src/lib/csu/i386-elf/crt1_s.S:40: Error: suffix or
> > > operands invalid for `push' clang: error: assembler command failed
> > > with exit code 1 (use -v to see invocation) *** Error code 1 ...
> > >
> > > As far as I understand this, there is no clang cross-compiler
> > > support at the moment. So compiler generates (somehow) i386
> > > assembler code which amd64 assembler does not like. Looks like
> > > something similar happens here too...
> > 
> > Have you read http://wiki.freebsd.org/BuildingFreeBSDWithClang,
> > which suggests to put:
> > 
> > .if !defined(CC) || ${CC} == "cc"
> > CC=clang
> > .endif
> > .if !defined(CXX) || ${CXX} == "c++"
> > CXX=clang++
> > .endif
> > # Don't die on warnings
> > NO_WERROR=
> > WERROR=
> > 
> > in your /etc/src.conf (or make.conf, depending on your preference)?
> > 
> > If you use that, it should work, at least for the build32 stage of
> > buildworld on amd64.  This workaround is only needed on amd64, not
> > for i386.
> 
> You must have misunderstood the issue. This thread is entirely about
> ccache. I'm having no problems building w/o ccache.

Sorry, I just noticed the discussion has advanced to a clang issue. My
bad.

Emanuel





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101108195000.8d24b018.ehaupt>