Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Dec 2012 15:03:57 +0100
From:      "Ronald Klop" <ronald-freebsd8@klop.yi.org>
To:        freebsd-stable@freebsd.org
Subject:   Re: FreeBSD 9 (amd64) buildworld stage 4.2 fails with clang: unknown target cpu i686
Message-ID:  <op.wp4uovet8527sy@pinky>
In-Reply-To: <50DED9BA.1000400@internecto.net>
References:  <50DED9BA.1000400@internecto.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Just some kind of me-too-message.

I had weird things with clang like top crashing as root (but not as  
another user) and various ports failing to run with 'illegal instruction'  
errors until I removed CPUTYPE?=native.
CPU: Pentium(R) Dual-Core  CPU      E5200
I did not investigate further, but never had this problem with gcc.
This all was on 9-STABLE/amd64.

Ronald.

On Sat, 29 Dec 2012 12:53:30 +0100, Mark van Dijk <lists@internecto.net>  
wrote:

> Hello everyone,
>
> I'm running FreeBSD 9.1-PRERELEASE and today I synchronised my /usr/src
> directory with the svn_stable_9 branch on gitorious [1]. I am using  
> ccache.
>
> My /etc/make.conf contains the following:
>
> -------------------------8<-------------------------
> CPUTYPE?=native
> CFLAGS=-O3 -pipe
> COPTFLAGS=-O -fno-strict-aliasing -pipe
> MAKE_JOBS_NUMBER=4
> CC=clang
> CXX=clang++
> CPP=clang-cpp
> NO_WERROR=
> WERROR=
> MAKE_SHELL?=sh
> INSTALL=install -C
> # from ccache-howto-freebsd.txt
> .if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*))
> .if !defined(NOCCACHE)
> CC:=${CC:C,^clang,/usr/local/libexec/ccache/world/clang,1}
> CXX:=${CXX:C,^clang\+\+,/usr/local/libexec/ccache/world/clang++,1}
> CCACHE_DIR:=/usr/sysccache
> .endif
> .endif
> .if ${CC:T} == "clang"
> CFLAGS+=        -Qunused-arguments
> .endif
> -------------------------8<-------------------------
>
> The output from make is too long to post inline so you can find the
> relevant portion here:
> http://sprunge.us/BfWJ
>
> I suspect that the error is caused by -march=native, my CPU is an Intel
> Core i5.
>
> I'll admit that I did modify my make.conf right before building. It
> already *did* contain the CC/CXX/CPP lines for clang but the ccache
> portion was slightly different. It used to contain the literal contents
> of ccache-howto-freebsd.txt:
>
> CC:=${CC:C,^cc,/usr/local/libexec/ccache/world/cc,1}
> CXX:=${CXX:C,^c\+\+,/usr/local/libexec/ccache/world/c++,1}
>
> Today I re-read that howto and it states:
> "You can replace cc and c++ with the compilers of your choice.
> (remember that only GCC and Clang can build world and kernel)"
>
> So I updated those two lines and replaced cc/c++ with clang/clang++. I
> didn't get the make errors before. So I moved those two lines back, did
> rm -rf /usr/obj/* and started another make buildworld which is still
> running.
>
> I always thought that specifying 'CPUTYPE?=' in the Makefile is the
> right way to prevent issues like this. So did I do something wrong, or
> is this some kind of ccache issue, or is this a legitimate bug?
>
> Please shed some light on this, thanks.
>
> Mark van Dijk
> the Netherlands
>
> [1] git://gitorious.org/freebsd/freebsd.git
>
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"



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