Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jun 2016 16:25:29 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Bryan Drewery <bdrewery@FreeBSD.org>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   11.0 -r301139: WITH_META_MODE=yes vs. "sh: ./make_keys: Exec format error"?
Message-ID:  <890D3808-1939-4BEA-886F-324EBA8C8671@dsl-only.net>

next in thread | raw e-mail | index | archive | help
[The example context here for extracted materials is a amd64 -> armv6 =
cross build.]

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).

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=20
> TO_TYPE=3Darmv6
> #
> KERNCONF=3DRPI2-NODBG
> TARGET=3Darm
> .if ${.MAKE.LEVEL} =3D=3D 0
> TARGET_ARCH=3D${TO_TYPE}
> .export TARGET_ARCH
> .endif
> #
> WITH_CROSS_COMPILER=3D
> WITHOUT_SYSTEM_COMPILER=3D
> #
> #CPUTYPE=3Dsoft
> WITH_LIBSOFT=3D
> WITH_LIBCPLUSPLUS=3D
> WITH_BINUTILS_BOOTSTRAP=3D
> WITH_CLANG_BOOTSTRAP=3D
> WITH_CLANG=3D
> WITH_CLANG_IS_CC=3D
> WITH_CLANG_FULL=3D
> WITH_CLANG_EXTRAS=3D
> WITH_LLDB=3D
> #
> WITH_BOOT=3D
> WITHOUT_LIB32=3D
> #
> WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=3D
> WITHOUT_GCC_BOOTSTRAP=3D
> WITHOUT_GCC=3D
> WITHOUT_GCC_IS_CC=3D
> WITHOUT_GNUCXX=3D
> #
> NO_WERROR=3D
> #WERROR=3D
> MALLOC_PRODUCTION=3D
> #
> WITH_DEBUG_FILES=3D
> #
> XCFLAGS+=3D -march=3Darmv7a -mcpu=3Dcortex-a7
> XCXXFLAGS+=3D -march=3Darmv7a -mcpu=3Dcortex-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@FreeBSDx64:/usr/obj/clang/amd64.amd64/usr/src/sys/GENERIC-NODEBUG =
 amd64 amd64 1100116 1100116



=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?890D3808-1939-4BEA-886F-324EBA8C8671>