On Mon, Nov 08, 2010 at 07:01:23PM +0100, Dimitry Andric 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.
>
Certainly, I have all these in the host machine and native buildworld
works as expected. What I was talking about is cross-compiling, i.e.:

make TARGET=i386 buildworld

on amd64 host.

BTW, the absence of clang testers on arm architecture would not change
unless the cross-compiling issue with clang is resolved.
Cross-compilation is a MUST HAVE here (there is no other way to bootstrap
the platform).

Alexey.
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to