Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Mar 2015 13:43:55 -0700
From:      Craig Rodrigues <rodrigc@FreeBSD.org>
To:        Dimitry Andric <dim@freebsd.org>
Cc:        "freebsd-testing@freebsd.org" <freebsd-testing@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>
Subject:   Re: CROSS_TOOLCHAIN=amd64-gcc fails to build after clang 3.6.0 import
Message-ID:  <CAG=rPVdYvrBt5Hd=b7p5PKa=duL5=L87c=8ifDSmgU9gSG-Fag@mail.gmail.com>
In-Reply-To: <EFFDFA87-FB31-4ADB-BAFB-30025BA83621@FreeBSD.org>
References:  <CAG=rPVe%2BzAuD_wuUC1Hro%2BTup5zWv85J3LHezYD0y=M8U2SRTg@mail.gmail.com> <5F90BE99-E82C-4444-9E4C-5963B40AA3B0@FreeBSD.org> <CAG=rPVfaoL5SLUY%2BpjAe2FM1EYD_cGF-vy7vOsSu6EUSyJW5yQ@mail.gmail.com> <C3DE89BD-C00C-4E20-A599-D987FA33A029@FreeBSD.org> <D0608943-2DB0-453C-922C-3D29935346C4@FreeBSD.org> <CAG=rPVefo4BvRPiXhhESj9TrALDQeMY17ua7sTY2zvNmdFN5Ow@mail.gmail.com> <5B103C77-EA63-4C04-95FE-B138CF46F01C@FreeBSD.org> <CAG=rPVcgRo%2BUCdxh0-03O3AXYgGKVhtALMDpoT8FAZG3y4J0cQ@mail.gmail.com> <EFFDFA87-FB31-4ADB-BAFB-30025BA83621@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 31, 2015 at 1:41 PM, Dimitry Andric <dim@freebsd.org> wrote:

> On 31 Mar 2015, at 22:06, Craig Rodrigues <rodrigc@FreeBSD.org> wrote:
> >
> > On Tue, Mar 31, 2015 at 12:48 PM, Dimitry Andric <dim@freebsd.org>
> wrote:
> > On 31 Mar 2015, at 21:38, Craig Rodrigues <rodrigc@FreeBSD.org> wrote:
> > >
> > > On Tue, Mar 31, 2015 at 11:20 AM, Dimitry Andric <dim@freebsd.org>
> wrote:
> > >
> > >> On 31 Mar 2015, at 20:13, Dimitry Andric <dim@FreeBSD.org> wrote:
> > >> ...
> > >>> but then:
> > >>>
> > >>> + patch
> > >>> Hmm...  Looks like a unified diff to me...
> > >>> The text leading up to this was:
> > >>> --------------------------
> > >>> |Index: contrib/libc++/include/type_traits
> > >>> |===================================================================
> > >>> |--- contrib/libc++/include/type_traits (revision 280762)
> > >>> |+++ contrib/libc++/include/type_traits (working copy)
> > >>> --------------------------
> > >>> Patching file contrib/libc++/include/type_traits using Plan A...
> > >>> Reversed (or previously applied) patch detected!  Assume -R? [y]
> > >>> Hunk #1 succeeded at 842.
> > >>> Hunk #2 succeeded at 877.
> > >>> Hmm...  Ignoring the trailing garbage.
> > >>> done
> > >>>
> > >>> E.g., it undoes the change to type_traits that was merged in the
> > >> subversion update.
> > >>
> > >>
> > > OK, I undid the patch.  Now the clang and libc++ parts build, but I'm
> > > still getting problems building rescue:
> > >
> > >
> https://jenkins.freebsd.org/job/FreeBSD_HEAD_external_toolchain_gcc/29/console
> >
> > Hm, that is strange.  I have just completed a build with
> > amd64-xtoolchain-gcc, and apart from boot2, everything worked...
> >
> > What does readelf say when you run it on the cat.lo file which is
> > complained about in the log?  And what happens if you delete it, and
> > restart the build?
> >
> > See:
> >
> https://lists.freebsd.org/pipermail/freebsd-toolchain/2015-March/001545.html
>
> I'm suspecting this might have something to do with crunchide, or least,
> the copy of crunchide that is run for this:
>
> --- cat.lo ---
> /usr/local/x86_64-freebsd/bin/ld -dc -r -o cat.lo cat_stub.o
> /builds/FreeBSD_HEAD_external_toolchain_gcc/obj/builds/FreeBSD_HEAD_external_toolchain_gcc/rescue/rescue//builds/FreeBSD_HEAD_external_toolchain_gcc/bin/cat/cat.o
> crunchide -k _crunched_cat_stub cat.lo
>
> If I look at my own build logs, it seems to pick the crunchide
> executable in /usr/bin, and Makefile.inc1 does *not* build it during the
> cross-tools stage if ${TARGET_ARCH} is the same as ${MACHINE_ARCH}:
>
> .if ${TARGET_ARCH} != ${MACHINE_ARCH}
> .if ${MK_RESCUE} != "no" || defined(RELEASEDIR)
> _crunchide=     usr.sbin/crunch/crunchide
> .endif
>
> However, this does not explain why my /usr/bin/crunchide seems to not
> screw up cat.lo, while yours does.  As far as I can see, we're both
> building this on a stable/10 amd64 box...
>

> Maybe, as a hack, you can force cross-tools to build crunchide, by
> patching Makefile.inc1 to ignore the arch check, and see what that
> results in?
>



Well my build host is 10.1-RELEASE, so maybe there are changes
that went into 10-STABLE after 10.1 that prevent this from working.

I'll give a shot at hacking things and let you know how far I get.
--
Craig



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG=rPVdYvrBt5Hd=b7p5PKa=duL5=L87c=8ifDSmgU9gSG-Fag>