Date: Mon, 16 Jul 2018 18:46:02 -0700 From: Mark Millard <marklmi@yahoo.com> To: Bryan Drewery <bdrewery@FreeBSD.org> Cc: FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: New kernel-toolchain buildkernel problem for amd64 -> aarch64 cross build ( after -r336348 ) : ld used for addf_data only can target: elf_x86_64_fbsd elf_i386_fbsd Message-ID: <22626F9B-4337-4C06-BB24-5BAB5AD52300@yahoo.com> In-Reply-To: <2A128804-82FA-4315-9FD9-F109FAF7216B@yahoo.com> References: <B3539689-7913-4790-A1DD-6911DAFAF9D0@yahoo.com> <81184558-6b23-085b-19e3-b11569808174@FreeBSD.org> <09601A6A-C275-4B90-9A76-7C64E2CA7B32@yahoo.com> <0b5b2181-7335-325c-3e7a-f882a48fcd69@FreeBSD.org> <2A128804-82FA-4315-9FD9-F109FAF7216B@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[ toolchain-metadata.mk is missing when kernel-toolchain is used. I've no clue if this is intentional or not. ] On 2018-Jul-16, at 6:13 PM, Mark Millard <marklmi at yahoo.com> wrote: > On 2018-Jul-16, at 4:47 PM, Bryan Drewery <bdrewery at FreeBSD.org> = wrote: >=20 >> On 7/16/2018 3:49 PM, Mark Millard wrote: >>>=20 >>>=20 >>> On 2018-Jul-16, at 3:31 PM, Bryan Drewery <bdrewery at FreeBSD.org> = wrote: >>>=20 >>>> On 7/16/18 1:21 PM, Mark Millard wrote: >>>>> I attempted a from-scratch (. . ./arm64.aarch64/ empty) = kernel-toolchain buildkernel >>>>> targeting aarch64 from amd64 based on head -r336349 . It failed by = ending up >>>>> using an ld that can only target elf_x86_64_fbsd elf_i386_fbsd : >>>>=20 >>>> I probably extended the LLVM_TARGET_ALL=3Dno in cross-compiler too = far. I >>>> thought I had left that out for kernel-toolchain but apparently = not. >>>>=20 >>>> Try this patch and kernel-toolchain after applying please: >>>> http://people.freebsd.org/~bdrewery/patches/cross-compiler-fix.diff >>>> . . . >>>=20 >>> Result is unchanged. Details follow. >>=20 >> Ok, I'll look more tomorrow. >>=20 >>>=20 >>> With: >>>=20 >>> # svnlite diff /usr/src/Makefile.inc1 >>> Index: /usr/src/Makefile.inc1 >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>> --- /usr/src/Makefile.inc1 (revision 336349) >>> +++ /usr/src/Makefile.inc1 (working copy) >>> @@ -666,7 +666,7 @@ >>> BMAKE=3D \ >>> ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ >>> ${BSARGS} >>> -.if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL) >>> +.if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL) && !make(*toolchain*) >>> BMAKE+=3D MK_LLVM_TARGET_ALL=3Dno >>> .endif >>>=20 >>> used via: >>>=20 >>> # rm -fr /usr/obj/cortexA53_clang/arm64.aarch64/* >>> # = ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd6= 4-host.sh -j4 kernel-toolchain buildkernel >>>=20 >>> I still get: >>>=20 >>> --- buildkernel --- >>> Building = /usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-N= ODBG/modules/usr/src/sys/modules/accf_data/accf_data.kld >>> --- accf_data.kld --- >>> ld: unrecognised emulation mode: aarch64elf >>> Supported emulations: elf_x86_64_fbsd elf_i386_fbsd >>> *** [accf_data.kld] Error code 1 >>>=20 >>>=20 >>>=20 >>> Reminder of what my .sh script does: >>>=20 >>> # more = ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd6= 4-host.sh >>> kldload -n filemon && \ >>> script = ~/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-amd64-= host-$(date +%Y-%m-%d:%H:%M:%S) \ >>> env __MAKE_CONF=3D"/root/src.configs/make.conf" SRCCONF=3D"/dev/null" = SRC_ENV_CONF=3D"/root/src.configs/src.conf.cortexA53-clang-bootstrap.amd64= -host" \ >>> WITH_META_MODE=3Dyes \ >>> MAKEOBJDIRPREFIX=3D"/usr/obj/cortexA53_clang/arm64.aarch64" \ >>> make $* >>>=20 >>> (I'll not repeat the other supporting material.) >=20 > In case it helps: >=20 > # = ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd6= 4-host.sh test-system-linker > Script started, output file is = /root/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-am= d64-host-2018-07-16:17:48:38 > USING_SYSTEM_LINKER =3D no > MK_SYSTEM_LINKER =3D no > MK_LLD_BOOTSTRAP =3D yes > MK_BINUTILS_BOOTSTRAP =3D no > WANT_LINKER_TYPE =3D lld > WANT_LINKER_VERSION =3D 60001 > WANT_LINKER_VERSION_FILE =3D = lib/clang/include/lld/Common/Version.inc > WANT_LINKER_FREEBSD_VERSION =3D 335540-1200003 > WANT_LINKER_FREEBSD_VERSION_FILE =3D = lib/clang/include/lld/Common/Version.inc > LD =3D ld > LINKER_TYPE =3D bfd > LINKER_FEATURES =3D filter > LINKER_VERSION =3D 21750 > LINKER_FREEBSD_VERSION =3D 0 > XLD =3D ld > X_LINKER_TYPE =3D bfd > X_LINKER_FEATURES =3D filter > X_LINKER_VERSION =3D 21750 > X_LINKER_FREEBSD_VERSION =3D 0 >=20 > Script done, output file is = /root/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-am= d64-host-2018-07-16:17:48:38 >=20 > The part after the WANT_<?>'s looks odd to me. >=20 > (I think the above type of output would be good in ci.freebsd.org > build logs for the likes of FreeBSD-head-*-build . Similarly for > test-system-compiler output.) >=20 > I get similar oddness for a self-hosted amd64 build via my > usual .sh and src/make configuration files: >=20 > # = ~/sys_build_scripts.amd64-host/make_amd64_nodebug_clang-amd64-host.sh = test-system-linker > Script started, output file is = /root/sys_typescripts/typescript_make_amd64_nodebug_clang-amd64-host-2018-= 07-16:18:00:52 > USING_SYSTEM_LINKER =3D no > MK_SYSTEM_LINKER =3D yes > MK_LLD_BOOTSTRAP =3D yes > MK_BINUTILS_BOOTSTRAP =3D yes > WANT_LINKER_TYPE =3D lld > WANT_LINKER_VERSION =3D 60001 > WANT_LINKER_VERSION_FILE =3D = lib/clang/include/lld/Common/Version.inc > WANT_LINKER_FREEBSD_VERSION =3D 335540-1200003 > WANT_LINKER_FREEBSD_VERSION_FILE =3D = lib/clang/include/lld/Common/Version.inc > LD =3D ld > LINKER_TYPE =3D bfd > LINKER_FEATURES =3D filter > LINKER_VERSION =3D 21750 > LINKER_FREEBSD_VERSION =3D 0 > XLD =3D ld > X_LINKER_TYPE =3D bfd > X_LINKER_FEATURES =3D filter > X_LINKER_VERSION =3D 21750 > X_LINKER_FREEBSD_VERSION =3D 0 >=20 > Script done, output file is = /root/sys_typescripts/typescript_make_amd64_nodebug_clang-amd64-host-2018-= 07-16:18:00:52 >=20 >=20 > (In both contexts test-system-compiler output seemed reasonable to > me.) In looking around I find that the kernel-toolchain tree does not have a toolchain-metadata.mk : # ls -lTdt = /usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/* drwxr-xr-x 7 root wheel 512 Jul 16 15:41:41 2018 = /usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/tmp drwxr-xr-x 3 root wheel 512 Jul 16 15:41:41 2018 = /usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys (Of course the build failed and so did not execute everything.) The buildworld based ones do have such files. For example, the amd64 self-hosted build that used buildworld has: # more = /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/toolchain-metadata.mk= .info Using cached toolchain metadata from build at FBSDUSSD on Mon Jul = 16 11:49:07 PDT 2018 _LOADED_TOOLCHAIN_METADATA=3Dt COMPILER_VERSION=3D60001 X_COMPILER_VERSION=3D60001 COMPILER_TYPE=3Dclang X_COMPILER_TYPE=3Dclang COMPILER_FEATURES=3D c++11 retpoline X_COMPILER_FEATURES=3D c++11 retpoline COMPILER_FREEBSD_VERSION=3D1200015 X_COMPILER_FREEBSD_VERSION=3D1200015 LINKER_VERSION=3D60001 X_LINKER_VERSION=3D60001 LINKER_FEATURES=3D build-id ifunc filter retpoline X_LINKER_FEATURES=3D build-id ifunc filter retpoline LINKER_TYPE=3Dlld X_LINKER_TYPE=3Dlld LINKER_FREEBSD_VERSION=3D335540-1200003 X_LINKER_FREEBSD_VERSION=3D335540-1200003 .export COMPILER_VERSION COMPILER_TYPE COMPILER_FEATURES = COMPILER_FREEBSD_VERSION LINKER_VERSION LINKER_FEATURES LINKER_TYPE = LINKER_FREEBSD_VERSION .export X_COMPILER_VERSION X_COMPILER_TYPE X_COMPILER_FEATURES = X_COMPILER_FREEBSD_VERSION X_LINKER_VERSION X_LINKER_FEATURES = X_LINKER_TYPE X_LINKER_FREEBSD_VERSION (This is despite what test-system-linker showed for that tree.) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?22626F9B-4337-4C06-BB24-5BAB5AD52300>