Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Mar 2015 17:09:15 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Craig Rodrigues <rodrigc@FreeBSD.org>
Cc:        "freebsd-testing@freebsd.org" <freebsd-testing@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, Dimitry Andric <dim@freebsd.org>
Subject:   Re: CROSS_TOOLCHAIN=amd64-gcc fails to build after clang 3.6.0 import
Message-ID:  <94264E89-1AED-4704-A922-A11D05EEFE34@bsdimp.com>
In-Reply-To: <CAG=rPVdYvrBt5Hd=b7p5PKa=duL5=L87c=8ifDSmgU9gSG-Fag@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> <EFFDFA87-FB31-4ADB-BAFB-30025BA83621@FreeBSD.org> <CAG=rPVdYvrBt5Hd=b7p5PKa=duL5=L87c=8ifDSmgU9gSG-Fag@mail.gmail.com>

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

[-- Attachment #1 --]

> On Mar 31, 2015, at 1:43 PM, Craig Rodrigues <rodrigc@FreeBSD.org> wrote:
> 
> 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.

BTW, we don’t officially support 4.8 / 4.9 yet. There are things that
are known to be broken with it, and since we don’t tinderbox it, it is
likely that we’ll break it over and over again…

When I was building it, as a test, I used WITHOUT_RESCUE.

Warner


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJVGzcsAAoJEGwc0Sh9sBEAw3EP/2jxzkUgh5O9rP1Ej/bbkJJN
ejsgEUS0/r2lb8x9jGXgVZZRq12mKx90IeWmxXXcIsZydhGT5ybBGw/kzwW1NYu4
h1ZQQeq07kvb5vuQXJeQoKhK65U/ff9OtgyAdqFWckHr2fpGJio3u3bhdm6Xnysq
qaxfTLHmueRzLex7Sf4Qria6ovgvGw1GZNTOOea3SwNif25IZLgnn2odU+l+jsGN
3hONKV+/36BuJX1eoJyz6Ofmcjl5VRezPUAwDGPGAiCGnYL0xjkMYsccKx4Intsg
yN9plR0VYtpJYYvxbPz3Q+4pmv/c8NvtzE7eKua3E0ansIdMHfI9mUG63bFJoRqI
OpDBQTHPBOhsWjITyhQtj860ZAtnUFZ4PkBwt2dBmXGr60HGqIbkFV/sRneSINl8
FjM6cU4rZKGh7RTXZJ6y6w4VbfA90qMlt9hx5lxuGXwIY8iK5Fw0TSrQzkx7Qqco
BiZmhLAngYGG0c2HW3CWNotqKdkYoYdFE2z4aAJZfcv4NNu1ifqKeBtRuEh++eOR
JXIFxLTm5vmeBeEIz6KSIq/eREfUXOTWqpxWQvhmFcFTrtnQQ4u5jBTWSSZOpHWe
bJ2BLkfgpDQm23Kuw6tSSfd2x5SZi90oGG38KGFluLP8T/HrXLGMlmHAsObxBvQL
Mux8APFKvSLfOVc2onqr
=vB+X
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?94264E89-1AED-4704-A922-A11D05EEFE34>