Re: 11.0 -r301139: WITH_META_MODE=yes vs. "sh: ./make_keys: Exec format error"?

From: Mark Millard <markmi_at_dsl-only.net>
Date: Wed, 1 Jun 2016 16:48:38 -0700
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.]
>>> 
>>> In my recent experimentation with WITH_META_MODE=yes I’ve 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
>>>> 
>>>> make[4]: stopped in /usr/src/lib/ncurses/ncursesw
>>>> 1 error
>>>> 
>>>> make[4]: stopped in /usr/src/lib/ncurses/ncursesw
>>>> *** [lib/ncurses/ncursesw__L] Error code 2
>>> I’ve also had such for powerpc being the target and make toolchain in use (preparing for buildkernel without buildworld).
>>> 
>>> 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.
>>> 
>>> cleanworld and then retrying the sequence desired always seems to work but is a complete rebuild.
>> 
>> 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.
>> 
> 
> It's possible r301079 reintroduced the bug. I'll find out.
> 
> -- 
> 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=yes for any other self-targeting context yet.

===
Mark Millard
markmi at dsl-only.net
Received on Wed Jun 01 2016 - 21:48:47 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:05 UTC