From owner-freebsd-ppc@freebsd.org Wed Jul 26 08:11:13 2017 Return-Path: Delivered-To: freebsd-ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3953DDB4538 for ; Wed, 26 Jul 2017 08:11:13 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-80.reflexion.net [208.70.210.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EDBE27E19F for ; Wed, 26 Jul 2017 08:11:12 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 28942 invoked from network); 26 Jul 2017 08:15:50 -0000 Received: from unknown (HELO rtc-sm-01.app.dca.reflexion.local) (10.81.150.1) by 0 (rfx-qmail) with SMTP; 26 Jul 2017 08:15:50 -0000 Received: by rtc-sm-01.app.dca.reflexion.local (Reflexion email security v8.40.1) with SMTP; Wed, 26 Jul 2017 04:11:10 -0400 (EDT) Received: (qmail 28967 invoked from network); 26 Jul 2017 08:11:10 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 26 Jul 2017 08:11:10 -0000 Received: from [192.168.1.109] (c-67-170-167-181.hsd1.or.comcast.net [67.170.167.181]) by iron2.pdx.net (Postfix) with ESMTPSA id 5D369EC8559; Wed, 26 Jul 2017 01:11:09 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: -r321371 amd64 -> powerpc64 cross build: lldb.full link fails with: c++: error: linker command failed with exit code 1, -B/usr/local/powerpc64-freebsd/bin/ in use From: Mark Millard In-Reply-To: Date: Wed, 26 Jul 2017 01:11:08 -0700 Cc: Dimitry Andric , FreeBSD Toolchain , FreeBSD Current , FreeBSD PowerPC ML Content-Transfer-Encoding: quoted-printable Message-Id: <9BF3D07D-99B0-4C9F-9329-FD05190D84D1@dsl-only.net> References: <9EF818CD-73FC-4283-8CC2-4BA21342CFB1@dsl-only.net> <98DFB763-0CA4-45B3-98E3-050462A9EC15@dsl-only.net> <9D2961AE-D423-4ED4-B16D-308BA19AC7A0@dsl-only.net> <3E5E8DE4-0135-4071-A041-F56DB53EE3F3@dsl-only.net> To: Warner Losh X-Mailer: Apple Mail (2.3273) X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Jul 2017 08:11:13 -0000 On 2017-Jul-24, at 7:28 AM, Warner Losh wrote: >> On Mon, Jul 24, 2017 at 1:33 AM, Mark Millard wrote: >> [I forgot that linking lldb historically failed on armv6 >> (cortex-a7) based on the historical system binutils.] >>=20 >> On 2017-Jul-23, at 8:51 PM, Mark Millard = wrote: >>=20 >> > [Using WITH_LLDB=3D had no problem for amd64 -> TARGET_ARCH=3Daarch64= >> > buildworld buildkernel .] >> . . . >> > >> > My aarch64 buildworld buildkernel completed finally. >> > Using WITH_LLDB=3D had no problem for amd64 -> >> > TARGET_ARCH=3Daarch64 buildworld buildkernel doing >> > the -r321109 to -r321371 upgrade. I did not see >> > the problem for amd64 (self hosted). >> > >> > I'll try armv7 (cortex-a7) next, the last of >> > the TARGET_ARCH=3D that I normally build. >> > >> > So far I've seen the problem only for powerpc64. >> > (I do not build lldb for 32-bit powerpc because >> > the lack of 8-byte atomics for powerpc historically >> > blocked the lldb build.) >>=20 >> As for trying armv6/7 (cortex-a7): I forgot that linking >> lldb historically failed for targeting cortex-a7 based >> on the historical system binutils. The build was with >> WITHOUT_LLDB=3D (as is my standard procedure for cortex-a7) >> so not a relevant test. >=20 > lldb doesn't support armv6 ISA, but does support armv7 ISA. >=20 > Just as a point of reference. It's one of the reasons for creating a = new MACHINE_ARCH of armv7. Just FYI: Attempting WITH_LLDB=3D in a amd64 -> armv6/7 cross build of -r321493 failed as shown below despite using: XCFLAGS+=3D -mcpu=3Dcortex-a7 XCXXFLAGS+=3D -mcpu=3Dcortex-a7 (Full build context shown later.) --- lldb.full --- = /usr/obj/armv7_clang/arm.armv6/usr/src/tmp/usr/lib/libgcc.a(clear_cache.o)= : In function `__clear_cache': /usr/src/contrib/compiler-rt/lib/builtins/clear_cache.c:(.text+0x1c): = relocation truncated to fit: R_ARM_CALL against symbol = `sysarch@@FBSD_1.0' defined in .plt section in = /usr/obj/armv7_clang/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a(regexec= .o) c++: error: linker command failed with exit code 1 (use -v to see = invocation) *** [lldb.full] Error code 1 make[5]: stopped in /usr/src/usr.bin/clang/lldb .ERROR_TARGET=3D'lldb.full' = .ERROR_META_FILE=3D'/usr/obj/armv7_clang/arm.armv6/usr/src/usr.bin/clang/l= ldb/lldb.full.meta' .MAKE.LEVEL=3D'5' MAKEFILE=3D'' .MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes silent=3Dyes = verbose' _ERROR_CMD=3D'c++ -mcpu=3Dcortex-a7 -mcpu=3Dcortex-a7 -target = armv6-gnueabihf-freebsd12.0 = --sysroot=3D/usr/obj/armv7_clang/arm.armv6/usr/src/tmp = -B/usr/obj/armv7_clang/arm.armv6/usr/src/tmp/usr/bin -O -pipe = -I/usr/src/contrib/llvm/tools/lldb/include = -I/usr/src/contrib/llvm/tools/clang/include -DCLANG_ENABLE_ARCMT = -DCLANG_ENABLE_STATIC_ANALYZER -I/usr/src/lib/clang/include = -I/usr/src/contrib/llvm/include -DLLVM_BUILD_GLOBAL_ISEL = -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS = -DLLVM_DEFAULT_TARGET_TRIPLE=3D\"armv6-unknown-freebsd12.0-gnueabihf\" = -DLLVM_HOST_TRIPLE=3D\"armv6-unknown-freebsd12.0\" = -DDEFAULT_SYSROOT=3D\"\" -ffunction-sections -fdata-sections -g = -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable = -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality = -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef = -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum = -Wno-knr-promoted-parameter -Wno-parentheses -Qunused-arguments = -std=3Dc++11 -fno-exceptions -fno-rtti -stdlib=3Dlibc++ = -Wno-c++11-extensions -Wl,--gc-sections -o lldb.full Driver.o = /usr/obj/armv7_clang/arm.armv6/usr/src/lib/clang/liblldb/liblldb.a = /usr/obj/armv7_clang/arm.armv6/usr/src/lib/clang/libclang/libclang.a = /usr/obj/armv7_clang/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a = -ledit -lpanel -lncursesw -lz -lpthread;' .CURDIR=3D'/usr/src/usr.bin/clang/lldb' .MAKE=3D'make' .OBJDIR=3D'/usr/obj/armv7_clang/arm.armv6/usr/src/usr.bin/clang/lldb' .TARGETS=3D'all' DESTDIR=3D'/usr/obj/armv7_clang/arm.armv6/usr/src/tmp' LD_LIBRARY_PATH=3D'' MACHINE=3D'arm' MACHINE_ARCH=3D'armv6' MAKEOBJDIRPREFIX=3D'/usr/obj/armv7_clang/arm.armv6' MAKESYSPATH=3D'/usr/src/share/mk' MAKE_VERSION=3D'20170720' = PATH=3D'/usr/obj/armv7_clang/arm.armv6/usr/src/tmp/legacy/usr/sbin:/usr/ob= j/armv7_clang/arm.armv6/usr/src/tmp/legacy/usr/bin:/usr/obj/armv7_clang/ar= m.armv6/usr/src/tmp/legacy/bin:/usr/obj/armv7_clang/arm.armv6/usr/src/tmp/= usr/sbin:/usr/obj/armv7_clang/arm.armv6/usr/src/tmp/usr/bin:/sbin:/bin:/us= r/sbin:/usr/bin' SRCTOP=3D'/usr/src' OBJTOP=3D'/usr/obj/armv7_clang/arm.armv6/usr/src' .MAKE.MAKEFILES=3D'/usr/src/share/mk/sys.mk = /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk = /root/src.configs/src.conf.armv7-clang-bootstrap.amd64-host = /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/bsd.suffixes.mk = /root/src.configs/make.conf /usr/src/share/mk/local.sys.mk = /usr/src/share/mk/src.sys.mk /dev/null = /usr/src/usr.bin/clang/lldb/Makefile /usr/src/lib/clang/lldb.pre.mk = /usr/src/lib/clang/clang.pre.mk /usr/src/lib/clang/llvm.pre.mk = /usr/src/lib/clang/clang.build.mk /usr/src/share/mk/src.opts.mk = /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.opts.mk = /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/bsd.compiler.mk = /usr/src/share/mk/bsd.linker.mk /usr/src/lib/clang/llvm.build.mk = /usr/src/share/mk/bsd.prog.mk /usr/src/share/mk/bsd.init.mk = /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk = /usr/src/usr.bin/clang/lldb/../Makefile.inc = /usr/src/usr.bin/clang/lldb/../../Makefile.inc = /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk = /usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.confs.mk = /usr/src/share/mk/bsd.files.mk /usr/src/share/mk/bsd.incs.mk = /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.man.mk = /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk = /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk = /usr/src/share/mk/bsd.sys.mk' .PATH=3D'. /usr/src/usr.bin/clang/lldb = /usr/src/contrib/llvm/tools/lldb/docs = /usr/src/contrib/llvm/tools/lldb/tools/driver' 1 error make[5]: stopped in /usr/src/usr.bin/clang/lldb .ERROR_TARGET=3D'lldb.full' = .ERROR_META_FILE=3D'/usr/obj/armv7_clang/arm.armv6/usr/src/usr.bin/clang/l= ldb/lldb.full.meta' .MAKE.LEVEL=3D'5' MAKEFILE=3D'' .MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes silent=3Dyes = verbose' _ERROR_CMD=3D'c++ -mcpu=3Dcortex-a7 -mcpu=3Dcortex-a7 -target = armv6-gnueabihf-freebsd12.0 = --sysroot=3D/usr/obj/armv7_clang/arm.armv6/usr/src/tmp = -B/usr/obj/armv7_clang/arm.armv6/usr/src/tmp/usr/bin -O -pipe = -I/usr/src/contrib/llvm/tools/lldb/include = -I/usr/src/contrib/llvm/tools/clang/include -DCLANG_ENABLE_ARCMT = -DCLANG_ENABLE_STATIC_ANALYZER -I/usr/src/lib/clang/include = -I/usr/src/contrib/llvm/include -DLLVM_BUILD_GLOBAL_ISEL = -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS = -DLLVM_DEFAULT_TARGET_TRIPLE=3D\"armv6-unknown-freebsd12.0-gnueabihf\" = -DLLVM_HOST_TRIPLE=3D\"armv6-unknown-freebsd12.0\" = -DDEFAULT_SYSROOT=3D\"\" -ffunction-sections -fdata-sections -g = -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable = -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality = -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef = -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum = -Wno-knr-promoted-parameter -Wno-parentheses -Qunused-arguments = -std=3Dc++11 -fno-exceptions -fno-rtti -stdlib=3Dlibc++ = -Wno-c++11-extensions -Wl,--gc-sections -o lldb.full Driver.o = /usr/obj/armv7_clang/arm.armv6/usr/src/lib/clang/liblldb/liblldb.a = /usr/obj/armv7_clang/arm.armv6/usr/src/lib/clang/libclang/libclang.a = /usr/obj/armv7_clang/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a = -ledit -lpanel -lncursesw -lz -lpthread;' .CURDIR=3D'/usr/src/usr.bin/clang/lldb' .MAKE=3D'make' .OBJDIR=3D'/usr/obj/armv7_clang/arm.armv6/usr/src/usr.bin/clang/lldb' .TARGETS=3D'all' DESTDIR=3D'/usr/obj/armv7_clang/arm.armv6/usr/src/tmp' LD_LIBRARY_PATH=3D'' MACHINE=3D'arm' MACHINE_ARCH=3D'armv6' MAKEOBJDIRPREFIX=3D'/usr/obj/armv7_clang/arm.armv6' MAKESYSPATH=3D'/usr/src/share/mk' MAKE_VERSION=3D'20170720' = PATH=3D'/usr/obj/armv7_clang/arm.armv6/usr/src/tmp/legacy/usr/sbin:/usr/ob= j/armv7_clang/arm.armv6/usr/src/tmp/legacy/usr/bin:/usr/obj/armv7_clang/ar= m.armv6/usr/src/tmp/legacy/bin:/usr/obj/armv7_clang/arm.armv6/usr/src/tmp/= usr/sbin:/usr/obj/armv7_clang/arm.armv6/usr/src/tmp/usr/bin:/sbin:/bin:/us= r/sbin:/usr/bin' SRCTOP=3D'/usr/src' OBJTOP=3D'/usr/obj/armv7_clang/arm.armv6/usr/src' .MAKE.MAKEFILES=3D'/usr/src/share/mk/sys.mk = /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk = /root/src.configs/src.conf.armv7-clang-bootstrap.amd64-host = /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/bsd.suffixes.mk = /root/src.configs/make.conf /usr/src/share/mk/local.sys.mk = /usr/src/share/mk/src.sys.mk /dev/null = /usr/src/usr.bin/clang/lldb/Makefile /usr/src/lib/clang/lldb.pre.mk = /usr/src/lib/clang/clang.pre.mk /usr/src/lib/clang/llvm.pre.mk = /usr/src/lib/clang/clang.build.mk /usr/src/share/mk/src.opts.mk = /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.opts.mk = /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/bsd.compiler.mk = /usr/src/share/mk/bsd.linker.mk /usr/src/lib/clang/llvm.build.mk = /usr/src/share/mk/bsd.prog.mk /usr/src/share/mk/bsd.init.mk = /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk = /usr/src/usr.bin/clang/lldb/../Makefile.inc = /usr/src/usr.bin/clang/lldb/../../Makefile.inc = /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk = /usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.confs.mk = /usr/src/share/mk/bsd.files.mk /usr/src/share/mk/bsd.incs.mk = /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.man.mk = /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk = /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk = /usr/src/share/mk/bsd.sys.mk' .PATH=3D'. /usr/src/usr.bin/clang/lldb = /usr/src/contrib/llvm/tools/lldb/docs = /usr/src/contrib/llvm/tools/lldb/tools/driver' *** [all_subdir_usr.bin/clang/lldb] Error code 2 Build context: = ~/sys_build_scripts.amd64-host/make_armv7_nodebug_clang_bootstrap-amd64-ho= st.sh -j8 buildworld buildkernel # more = ~/sys_build_scripts.amd64-host/make_armv7_nodebug_clang_bootstrap-amd64-ho= st.sh=20 kldload -n filemon && \ script = ~/sys_typescripts/typescript_make_armv7_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.armv7-clang-bootstrap.amd64-hos= t" \ WITH_META_MODE=3Dyes \ MAKEOBJDIRPREFIX=3D"/usr/obj/armv7_clang" \ make $* # more /root/src.configs/make.conf CFLAGS.gcc+=3D -v # more /root/src.configs/src.conf.armv7-clang-bootstrap.amd64-host TO_TYPE=3Darmv6 # KERNCONF=3DGENERIC-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_LIBCPLUSPLUS=3D WITH_BINUTILS_BOOTSTRAP=3D WITH_ELFTOOLCHAIN_BOOTSTRAP=3D WITH_CLANG_BOOTSTRAP=3D WITH_CLANG=3D WITH_CLANG_IS_CC=3D WITH_CLANG_FULL=3D WITH_CLANG_EXTRAS=3D WITH_LLD=3D # # Linking lldb fails for armv6(/v7) WITH_LLDB=3D # WITH_BOOT=3D WITHOUT_LIB32=3D WITHOUT_LIBSOFT=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_REPRODUCIBLE_BUILD=3D WITH_DEBUG_FILES=3D # XCFLAGS+=3D -mcpu=3Dcortex-a7 XCXXFLAGS+=3D -mcpu=3Dcortex-a7 # There is no XCPPFLAGS but XCPP gets XCFLAGS content. =3D=3D=3D Mark Millard markmi at dsl-only.net