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>