Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Mar 2014 14:16:08 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        John-Mark Gurney <jmg@funkthat.com>
Cc:        Lev Serebryakov <lev@freebsd.org>, "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>, FreeBSD Current <freebsd-current@freebsd.org>, David Chisnall <theraven@freebsd.org>
Subject:   Re: Building with external toolchain was broken 6 months ago with r255187
Message-ID:  <A99FC557-6F0B-4F04-8048-0264CB5A6F3A@bsdimp.com>
In-Reply-To: <20140320182440.GN32089@funkthat.com>
References:  <323697891.20140319013757@serebryakov.spb.ru> <20140318220140.GA32089@funkthat.com> <7423EF12-9DD4-4C03-9FF6-7BAAB75820F6@lists.zabbadoz.net> <201403201008.48610.jhb@freebsd.org> <491ECF6C-D868-4971-903E-5F380AB7E05B@FreeBSD.org> <D40B5E6C-C176-420A-9620-4D8388D8E9D7@gmail.com> <20140320182440.GN32089@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mar 20, 2014, at 12:24 PM, John-Mark Gurney <jmg@funkthat.com> wrote:

> Warner Losh wrote this message on Thu, Mar 20, 2014 at 11:30 -0600:
>>=20
>> On Mar 20, 2014, at 8:25 AM, David Chisnall <theraven@FreeBSD.org> =
wrote:
>>=20
>>> On 20 Mar 2014, at 14:08, John Baldwin <jhb@freebsd.org> wrote:
>>>=20
>>>> No, the compiler should provide a working "wmmintrin.h" header in =
one of
>>>> its built-in paths if it supports the AES instructions.  This is =
akin to
>>>> saying that code that uses "stdio.h" should use -I/usr/src/include.
>>>=20
>>> It does, however our build system then explicitly says to the =
compiler 'don't use your built-it paths because they may contain =
declarations that contradict the FreeBSD ones' by means of the sysroot =
argument.  When not using an external toolchain, we put the compiler's =
internal headers inside the sysroot.
>>=20
>> Sounds like we?re building the sysroot wrong then.
>=20
> I'm not familar w/ cross tools, are cross tools suppose to "just =
work",
> or do you still require building kernel-toolchain?  The wiki doesn't
> talk about buildkernel...  If it's still required to build
> kernel-toolchain before buildkernel, one option is to remove the
> exclusion of the _includes target from kernel-toolchain, though =
_includes
> doesn't appear to install the header...  It looks like it never
> goes into lib/clang to install them, though I'm not sure if it is =
suppose
> to or not..  If you use COMPILER_TYPE=3Dgcc, it doesn't go into the =
proper
> gcc subdir to install them either=85

I=92m saying that whatever is building the sysroot is building it wrong. =
I haven=92t looked
at the details enough to know where the fault lies. If the files aren=92t =
there, that=92s a bug
and adding hacks for clang is not the right way to fix the bug.

> In investigating this, it looks like we might have a make rule =
conflict
> in usr.sbin/bsdconfig...  It has a subdir includes, but bsd.subdir.mk
> also defines a rule includes (for building inclues) which results in
> this:
> make[4]: "/usr/src/share/mk/bsd.subdir.mk" line 85: warning: duplicate =
script for target "includes" ignored
> make[4]: "/usr/src/share/mk/bsd.subdir.mk" line 69: warning: using =
previous script for "includes" defined here

That=92s likely an orthogonal issue=85

Warner




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A99FC557-6F0B-4F04-8048-0264CB5A6F3A>