Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jun 2016 16:48:38 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Bryan Drewery <bdrewery@FreeBSD.org>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: 11.0 -r301139: WITH_META_MODE=yes vs. "sh: ./make_keys: Exec format error"?
Message-ID:  <943D8647-5894-4E6D-AB49-02EAF39433F4@dsl-only.net>
In-Reply-To: <a44a4e58-9cd3-f731-cbd8-f6b4ed55f5f3@FreeBSD.org>
References:  <890D3808-1939-4BEA-886F-324EBA8C8671@dsl-only.net> <0b75f448-047f-53b3-3e1b-7de17a2da949@FreeBSD.org> <a44a4e58-9cd3-f731-cbd8-f6b4ed55f5f3@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2016-Jun-1, at 4:30 PM, Bryan Drewery <bdrewery at FreeBSD.org> =
wrote:

> On 6/1/2016 4:29 PM, Bryan Drewery wrote:
>> On 6/1/2016 4:25 PM, Mark Millard wrote:
>>> [The example context here for extracted materials is a amd64 -> =
armv6 cross build.]
>>>=20
>>> In my recent experimentation with WITH_META_MODE=3Dyes I=E2=80=99ve =
had multiple occasions when after updating /usr/src I attempt buildworld =
buildkernel and end up with something like:
>>>> --- lib/ncurses/ncursesw__L ---
>>>> Building =
/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncursesw/init_keytry.h
>>>> --- init_keytry.h ---
>>>> sh: ./make_keys: Exec format error
>>>> *** [init_keytry.h] Error code 126
>>>>=20
>>>> make[4]: stopped in /usr/src/lib/ncurses/ncursesw
>>>> 1 error
>>>>=20
>>>> make[4]: stopped in /usr/src/lib/ncurses/ncursesw
>>>> *** [lib/ncurses/ncursesw__L] Error code 2
>>> I=E2=80=99ve also had such for powerpc being the target and make =
toolchain in use (preparing for buildkernel without buildworld).
>>>=20
>>> There are multiple instances of make_keys construction in the =
builds. Here it looks like:
>>>> # grep make_keys =
~/sys_typescripts/typescript_make_rpi2_nodebug_clang_bootstrap-amd64-host-=
2016-06-01:15:17:28
>>>> Building =
/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncursesw/make_keys
>>>> Building =
/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncurses/make_keys
>>>> Building =
/usr/obj/clang/arm.armv6/usr/src/lib/ncurses/ncursesw/make_keys
>>>> sh: ./make_keys: Exec format error
>>> Note that ncursesw has two Building lines above with the same path =
listed.
>>>=20
>>> cleanworld and then retrying the sequence desired always seems to =
work but is a complete rebuild.
>>=20
>> I don't understand why you're hitting this. It's an issue that I ran
>> into and fixed and haven't run into again from several powerpc64 =
build
>> tests.
>>=20
>=20
> It's possible r301079 reintroduced the bug. I'll find out.
>=20
> --=20
> Regards,
> Bryan Drewery

[All the below is from an amd64 host context.]

As far as I remember I've not seen "sh: ./make_keys: Exec format error" =
when powerpc64-gcc or amd64-gcc is in use (my xtoolchain experiments): =
my src.conf files for such have more in them and various other =
differences for those because of binding to powerpc64-gcc or amd64-gcc =
and the related binutils.

[The below do not involve ports compilers/tools.]

I have seen "sh: ./make_keys: Exec format error" when clang or gcc 4.2.1 =
is being used for the cross compiles. My armv6 context has a clang based =
buildworld and buildkernel. My powerpc kernel builds have a gcc 4.2.1 =
based buildkernel (no buildworld).

I've not seen the problem for amd64 targeting amd64 via clang as far as =
I can remember. I've not tried WITH_META_MODE=3Dyes for any other =
self-targeting context yet.

=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?943D8647-5894-4E6D-AB49-02EAF39433F4>