svn commit: r250659 - in head: . share/mk tools/build/options tools/tools/makeroot
Brooks Davis
brooks at FreeBSD.org
Tue May 21 17:00:09 UTC 2013
On Mon, May 20, 2013 at 10:17:33PM +0200, Andreas Tobler wrote:
> On 20.05.13 22:10, Brooks Davis wrote:
> > On Mon, May 20, 2013 at 09:59:35PM +0200, Andreas Tobler wrote:
> >> On 20.05.13 21:51, Brooks Davis wrote:
> >>> On Fri, May 17, 2013 at 12:06:01AM +0200, Andreas Tobler wrote:
> >>>> On 15.05.13 16:30, Brooks Davis wrote:
> >>>>> Author: brooks
> >>>>> Date: Wed May 15 14:30:03 2013
> >>>>> New Revision: 250659
> >>>>> URL: http://svnweb.freebsd.org/changeset/base/250659
> >>>>>
> >>>>> Log:
> >>>>> Add support for an external cross compiler. The cross compiler is
> >>>>> specified by passing the XCC, XCXX, and XCPP variables (corresponding to
> >>>>> CC, CXX, and CPP) to buildworld/buildkernel. The compiler must be clang
> >>>>> or be configured to target the appropriate architecture.
> >>>>>
> >>>>> To speed build times, if XCC is an absolute path or
> >>>>> WITHOUT_CROSS_COMPILER is defined then no cross compiler will be built
> >>>>> during the cross-tools stage.
> >>>>>
> >>>>> Limited documentation of this feature can currently be found at:
> >>>>>
> >>>>> https://wiki.freebsd.org/ExternalToolchain
> >>>>>
> >>>>> This functionality should be considered experimental and is subject to
> >>>>> change without notice.
> >>>>>
> >>>>> Sponsored by: DARPA, AFRL
> >>>>> Discussed with: imp, sjg
> >>>>
> >>>> I had to revert this commit to be able to build world and kernel with
> >>>> WITHOUT_CLANG_IS_CC in /etc/src.conf
> >>>>
> >>>> It did not find the headers (like math.h) when building the 32-bit part
> >>>> on amd64.
> >>>
> >>> I'll need more information to do any useful debugging. How is the host
> >>> configured? If it's not 100% stock, I need to know what WITH/WITHOUT
> >>> options were set to build it. Are you setting any options other than
> >>> WITHOUT_CLANG_IS_CC during this build?
> >>
> >> Source is svn -CURRENT. There is no other option set than
> >> WITHOUT_CLANG_IS_CC. Beside I use MALLOC_PRODUCTION=1
> >
> > Is /usr/bin/cc gcc or clang?
>
> /usr/bin/cc -v
> Using built-in specs.
> Target: amd64-undermydesk-freebsd
> Configured with: FreeBSD/amd64 system compiler
> Thread model: posix
> gcc version 4.2.1 20070831 patched [FreeBSD]
>
> > Just to be sure. Are you setting CC anywhere?
> >
> >> This happens on both 32-capable targets, amd64 and powerpc64.
> >>
> >> I figured that there are at least three headers 'missing' so far in
> >> src/lib32/usr/include:
> >> - math.h
> >> - fenv.h
> >> - libutil.h
> >>
> >> If I manually copy them to this location I can continue building until
> >> /usr/bin/ld complains about not being configured for sysroots.
> >> I just restarted the whole worldbuild again with the above mentionend
> >> headers in place.
> >
> > Hmm, this is really weird. /usr/bin/ld should never run after the
> > bootstrap phase unless you actually use the X* variables.
>
> Well, it might be that I did something in a hurry, that's why I
> restarted the whole build.
> What I did, I cleaned the whole obj dir and did a 'make build32' in
> /usr/src (to save some time), then I got the exact same failures as when
> I started from scratch. Now I tried to find all the headers which the
> compiler was complaining about, copied them to
> /usr/obj/****/src/lib32/usr/include, finished the compilation stage and
> at the linker stage 'ld' complained.
>
> Now I'm waiting for the build from beginning with copied headers to see
> what happens.
The problem seems to be that clang and gcc don't agree about the meaning
of -isystem and --sysroot. I've committed a change that I belive
restores the status quo.
-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20130521/0569c341/attachment.sig>
More information about the svn-src-head
mailing list