Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Mar 2015 22:41:09 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Craig Rodrigues <rodrigc@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:  <EFFDFA87-FB31-4ADB-BAFB-30025BA83621@FreeBSD.org>
In-Reply-To: <CAG=rPVcgRo%2BUCdxh0-03O3AXYgGKVhtALMDpoT8FAZG3y4J0cQ@mail.gmail.com>
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>

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

--Apple-Mail=_2916CDB8-4F2A-42C6-9023-D632F101B8AA
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

On 31 Mar 2015, at 22:06, Craig Rodrigues <rodrigc@FreeBSD.org> wrote:
>=20
> 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
> >>> =
|=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> >>> |--- 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/con=
sole
>=20
> Hm, that is strange.  I have just completed a build with
> amd64-xtoolchain-gcc, and apart from boot2, everything worked...
>=20
> 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?
>=20
> See:
> =
https://lists.freebsd.org/pipermail/freebsd-toolchain/2015-March/001545.ht=
ml

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_extern=
al_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} !=3D ${MACHINE_ARCH}
.if ${MK_RESCUE} !=3D "no" || defined(RELEASEDIR)
_crunchide=3D     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?

-Dimitry


--Apple-Mail=_2916CDB8-4F2A-42C6-9023-D632F101B8AA
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.27

iEYEARECAAYFAlUbBmwACgkQsF6jCi4glqP1YgCaApVuba12Mk2MEgu5bZPE5C9Q
1O0AoMdPRUEX/XXpoKI5luqUgBooMhyl
=c1P8
-----END PGP SIGNATURE-----

--Apple-Mail=_2916CDB8-4F2A-42C6-9023-D632F101B8AA--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EFFDFA87-FB31-4ADB-BAFB-30025BA83621>