[It may well be that powerpc is not an intended cross compile target via clang since clang is insufficient for an FreeBSD/powerpc ABI compliant buildworld as stands. Still I use this to illustrate the more general points for clang use in cross builds.]
The failure: > --- libc.so.7.full --- > /usr/bin/ld: unrecognised emulation mode: elf32ppc_fbsd > Supported emulations: elf_x86_64_fbsd elf_i386_fbsd > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > *** [libc.so.7.full] Error code 1 > > make[4]: stopped in /usr/src/lib/libc > 1 error > > make[4]: stopped in /usr/src/lib/libc > *** [lib/libc__L] Error code 2 Note the /usr/bin/ld use: the host (amd64) linker for a powerpc link operation. The log shows the ld command was via clang’s front end as far as what the build did directly (just a prefix shown): > --- libc.so.7.full --- > /usr/bin/clang -target powerpc-unknown-freebsd11.0 > --sysroot=/usr/obj/clang/powerpc.powerpc/usr/src/tmp > -B/usr/obj/clang/powerpc.powerpc/usr/src/tmp/usr/bin -nodefaultlibs > -Wl,--version-script=Version.map -shared -Wl,-x -Wl,--fatal-warnings > -Wl,--warn-shared-textrel -o libc.so.7.full -Wl,-soname,libc.so.7 `NM='nm' > NMFLAGS='' lorder trivial-vdso_tc.So bt_close.So bt_conv.So bt_debug.So > bt_delete.So bt_get.So bt_open.So bt_overflow.So bt_page.So . . . The -B does not point to a place with a powerpc specific ld command: > # ls -lt /usr/obj/clang/powerpc.powerpc/usr/src/tmp/usr/bin > total 1395 > -rwxr-xr-x 1 root wheel 827248 May 29 22:20 ctfmerge > -rwxr-xr-x 1 root wheel 534712 May 29 22:20 sysinit > -rwxr-xr-x 1 root wheel 960784 May 29 22:20 ctfconvert As far as I can tell a potentially proper path would have been: /usr/local/powerpc-freebsd/bin/ld if a devel/powerpc-binutils port existed and was installed. (No such port exists.) I do not know if other TARGET_ARCH’s have similar problems or not (even if they have a binutils port). This was not a WITH_META_MODE=yes context. make.conf was empty and src.conf was: TO_TYPE=powerpc # KERNCONF=GENERICvtsc-NODEBUG TARGET=${TO_TYPE} .if ${.MAKE.LEVEL} == 0 TARGET_ARCH=${TO_TYPE} .export TARGET_ARCH .endif # WITHOUT_CROSS_COMPILER= WITH_SYSTEM_COMPILER= # WITH_LIBCPLUSPLUS= WITH_BINUTILS_BOOTSTRAP= WITH_CLANG= WITH_CLANG_IS_CC= WITH_CLANG_FULL= WITH_CLANG_EXTRAS= # lldb requires missing atomic 8-byte operations for powerpc (non-64) WITHOUT_LLDB= # WITH_BOOT= WITHOUT_LIB32= # WITHOUT_GCC_BOOTSTRAP= WITHOUT_GCC= WITHOUT_GCC_IS_CC= WITHOUT_GNUCXX= # NO_WERROR= #WERROR= MALLOC_PRODUCTION= # WITH_DEBUG_FILES= === Mark Millard markmi at dsl-only.net _______________________________________________ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"