Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jul 2018 15:49:40 -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:  <09601A6A-C275-4B90-9A76-7C64E2CA7B32@yahoo.com>
In-Reply-To: <81184558-6b23-085b-19e3-b11569808174@FreeBSD.org>
References:  <B3539689-7913-4790-A1DD-6911DAFAF9D0@yahoo.com> <81184558-6b23-085b-19e3-b11569808174@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help



On 2018-Jul-16, at 3:31 PM, Bryan Drewery <bdrewery at FreeBSD.org> wrote:

> 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 :
> 
> I probably extended the LLVM_TARGET_ALL=no in cross-compiler too far. I
> thought I had left that out for kernel-toolchain but apparently not.
> 
> Try this patch and kernel-toolchain after applying please:
> http://people.freebsd.org/~bdrewery/patches/cross-compiler-fix.diff
> . . .

Result is unchanged. Details follow.

With:

# svnlite diff /usr/src/Makefile.inc1
Index: /usr/src/Makefile.inc1
===================================================================
--- /usr/src/Makefile.inc1	(revision 336349)
+++ /usr/src/Makefile.inc1	(working copy)
@@ -666,7 +666,7 @@
 BMAKE=		\
 		${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+=		MK_LLVM_TARGET_ALL=no
 .endif
 
used via:

# rm -fr /usr/obj/cortexA53_clang/arm64.aarch64/*
# ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-host.sh -j4 kernel-toolchain buildkernel

I still get:

--- buildkernel ---
Building /usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/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



Reminder of what my .sh script does:

# more ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-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="/root/src.configs/make.conf" SRCCONF="/dev/null" SRC_ENV_CONF="/root/src.configs/src.conf.cortexA53-clang-bootstrap.amd64-host" \
WITH_META_MODE=yes \
MAKEOBJDIRPREFIX="/usr/obj/cortexA53_clang/arm64.aarch64" \
make $*

(I'll not repeat the other supporting material.)

===
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?09601A6A-C275-4B90-9A76-7C64E2CA7B32>