Date: Mon, 16 Jul 2018 18:13:27 -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: <2A128804-82FA-4315-9FD9-F109FAF7216B@yahoo.com> In-Reply-To: <0b5b2181-7335-325c-3e7a-f882a48fcd69@FreeBSD.org> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2018-Jul-16, at 4:47 PM, Bryan Drewery <bdrewery at FreeBSD.org> = wrote: > 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.) In case it helps: # = ~/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 Script done, output file is = /root/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-am= d64-host-2018-07-16:17:48:38 The part after the WANT_<?>'s looks odd to me. (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.) I get similar oddness for a self-hosted amd64 build via my usual .sh and src/make configuration files: # ~/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 Script done, output file is = /root/sys_typescripts/typescript_make_amd64_nodebug_clang-amd64-host-2018-= 07-16:18:00:52 (In both contexts test-system-compiler output seemed reasonable to me.) =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?2A128804-82FA-4315-9FD9-F109FAF7216B>