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:25:29 -0700
[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.

As for src.conf (example is for the amd64 -> armv6 cross build):

> # more ~/src.configs/src.conf.rpi2-clang-bootstrap.amd64-host 
> TO_TYPE=armv6
> #
> KERNCONF=RPI2-NODBG
> TARGET=arm
> .if ${.MAKE.LEVEL} == 0
> TARGET_ARCH=${TO_TYPE}
> .export TARGET_ARCH
> .endif
> #
> WITH_CROSS_COMPILER=
> WITHOUT_SYSTEM_COMPILER=
> #
> #CPUTYPE=soft
> WITH_LIBSOFT=
> WITH_LIBCPLUSPLUS=
> WITH_BINUTILS_BOOTSTRAP=
> WITH_CLANG_BOOTSTRAP=
> WITH_CLANG=
> WITH_CLANG_IS_CC=
> WITH_CLANG_FULL=
> WITH_CLANG_EXTRAS=
> WITH_LLDB=
> #
> WITH_BOOT=
> WITHOUT_LIB32=
> #
> WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=
> WITHOUT_GCC_BOOTSTRAP=
> WITHOUT_GCC=
> WITHOUT_GCC_IS_CC=
> WITHOUT_GNUCXX=
> #
> NO_WERROR=
> #WERROR=
> MALLOC_PRODUCTION=
> #
> WITH_DEBUG_FILES=
> #
> XCFLAGS+= -march=armv7a -mcpu=cortex-a7
> XCXXFLAGS+= -march=armv7a -mcpu=cortex-a7
> # There is no XCPPFLAGS but XCPP ets XCFLAGS content.

The amd64 context is at -r301139 and the rpi2/armv6 build was attempting to update to -r301139 from -r300944.

> # uname -apKU
> FreeBSD FreeBSDx64 11.0-ALPHA1 FreeBSD 11.0-ALPHA1 #2 r301139M: Wed Jun  1 11:38:44 PDT 2016     markmi_at_FreeBSDx64:/usr/obj/clang/amd64.amd64/usr/src/sys/GENERIC-NODEBUG  amd64 amd64 1100116 1100116



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

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