From owner-freebsd-arm@freebsd.org Mon Jun 13 00:43:47 2016 Return-Path: Delivered-To: freebsd-arm@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 43CF7AF19FE for ; Mon, 13 Jun 2016 00:43:47 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-4.reflexion.net [208.70.210.4]) (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 00C7427A8 for ; Mon, 13 Jun 2016 00:43:45 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 30787 invoked from network); 13 Jun 2016 00:44:19 -0000 Received: from unknown (HELO mail-cs-01.app.dca.reflexion.local) (10.81.19.1) by 0 (rfx-qmail) with SMTP; 13 Jun 2016 00:44:19 -0000 Received: by mail-cs-01.app.dca.reflexion.local (Reflexion email security v7.90.3) with SMTP; Sun, 12 Jun 2016 20:44:26 -0400 (EDT) Received: (qmail 28479 invoked from network); 13 Jun 2016 00:44:26 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with SMTP; 13 Jun 2016 00:44:26 -0000 X-No-Relay: not in my network X-No-Relay: not in my network X-No-Relay: not in my network X-No-Relay: not in my network Received: from [192.168.0.105] (ip70-189-131-151.lv.lv.cox.net [70.189.131.151]) by iron2.pdx.net (Postfix) with ESMTPSA id ED595B1E001; Sun, 12 Jun 2016 17:43:38 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: lang/gcc6 (as of /usr/ports -r416711) does not build on 11.0 -r301815 on an rpi2 [armv7-a, cortex-a7]: a.out uses VFP register arguments, . . . does not From: Mark Millard In-Reply-To: Date: Sun, 12 Jun 2016 17:43:43 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <497B54A1-A306-4264-AC8C-A57A7A53931E@dsl-only.net> References: To: freebsd-arm , FreeBSD Toolchain , FreeBSD Ports , gerald@FreeBSD.org X-Mailer: Apple Mail (2.3124) X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2016 00:43:47 -0000 Just a quick top-posted note: lang/gcc5 (as of /usr/ports -r416711) = built fine, unlike the lang/gcc6 noted before/below. [I happened to try = lang/gcc5 with the bootstrap configuration item disabled.] I may try lang/gcc6-devel to see what it does. =3D=3D=3D Mark Millard markmi at dsl-only.net On 2016-Jun-12, at 3:02 PM, Mark Millard wrote: > On an rpi2: >=20 >> # uname -apKU >> FreeBSD rpi2 11.0-ALPHA3 FreeBSD 11.0-ALPHA3 #0 r301815M: Sat Jun 11 = 23:43:48 PDT 2016 = markmi@FreeBSDx64:/usr/obj/clang/arm.armv6/usr/src/sys/RPI2-NODBG ar >> m armv6 1100116 1100116 >=20 >=20 > with /usr/ports at -r416711. . . >=20 >=20 > For attempting to build lang/gcc6 with the bootstrap configuration = item enabled: >=20 >> configure:3735: = /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/xgcc = -B/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/ = -B/usr/local/armv6-por >> tbld-freebsd11.0/bin/ -B/usr/local/armv6-portbld-freebsd11.0/lib/ = -isystem /usr/local/armv6-portbld-freebsd11.0/include -isystem = /usr/local/armv6-portbld-freebs >> d11.0/sys-include -O2 -pipe -mcpu=3Dcortex-a7 -DLIBICONV_PLUG -g = -fno-strict-aliasing conftest.c >&5 >> /usr/local/bin/ld: error: a.out uses VFP register arguments, = /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/crtbegin.o does = not >> /usr/local/bin/ld: failed to merge target specific data of file = /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/crtbegin.o >> /usr/local/bin/ld: error: a.out uses VFP register arguments, = /tmp/ccC38Tl3.o does not >> /usr/local/bin/ld: failed to merge target specific data of file = /tmp/ccC38Tl3.o >> /usr/local/bin/ld: error: a.out uses VFP register arguments, = /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/crtend.o does = not >> /usr/local/bin/ld: failed to merge target specific data of file = /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/crtend.o >> collect2: error: ld returned 1 exit status >> configure:3739: $? =3D 1 >> configure:3776: result:=20 >> configure: failed program was: >> | /* confdefs.h */ >> | #define PACKAGE_NAME "GNU Offloading and Multi Processing Runtime = Library" >> | #define PACKAGE_TARNAME "libgomp" >> | #define PACKAGE_VERSION "1.0" >> | #define PACKAGE_STRING "GNU Offloading and Multi Processing Runtime = Library 1.0" >> | #define PACKAGE_BUGREPORT "" >> | #define PACKAGE_URL "http://www.gnu.org/software/libgomp/" >> | #define PACKAGE "libgomp" >> | #define VERSION "1.0" >> | /* end confdefs.h. */ >> |=20 >> | int >> | main () >> | { >> |=20 >> | ; >> | return 0; >> | } >> configure:3782: error: in = `/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/armv6-portbld-freebsd1= 1.0/libgomp': >> configure:3786: error: C compiler cannot create executables >=20 >=20 >=20 > For attempting to build lang/gcc6 with the bootstrap configuraiton = item disabled similar ld reports are generated: >=20 >> /usr/local/bin/ld: error: a.out uses VFP register arguments, = /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/crtbegin.o does = not >> /usr/local/bin/ld: failed to merge target specific data of file = /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/crtbegin.o >> /usr/local/bin/ld: error: a.out uses VFP register arguments, = /tmp/cco9nucg.o does not >> /usr/local/bin/ld: failed to merge target specific data of file = /tmp/cco9nucg.o >> /usr/local/bin/ld: error: a.out uses VFP register arguments, = /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/crtend.o does = not >> /usr/local/bin/ld: failed to merge target specific data of file = /usr/obj/portswork/usr/ports/lang/gcc6/work/.build/./gcc/crtend.o >> collect2: error: ld returned 1 exit status >> configure:3003: $? =3D 1 >> configure:3040: result:=20 >> configure: failed program was: >> | /* confdefs.h */ >> | #define PACKAGE_NAME "package-unused" >> | #define PACKAGE_TARNAME "libbacktrace" >> | #define PACKAGE_VERSION "version-unused" >> | #define PACKAGE_STRING "package-unused version-unused" >> | #define PACKAGE_BUGREPORT "" >> | #define PACKAGE_URL "" >> | /* end confdefs.h. */ >> |=20 >> | int >> | main () >> | { >> |=20 >> | ; >> | return 0; >> | } >> configure:3046: error: in = `/usr/obj/portswork/usr/ports/lang/gcc6/work/.build/armv6-portbld-freebsd1= 1.0/libbacktrace': >> configure:3050: error: C compiler cannot create executables >=20 >=20 > Context details. . . >=20 > As for the in-use make.conf (not the one used for the system build): >=20 >> # more /etc/make.conf >> DEFAULT_VERSIONS+=3Dperl5=3D5.22 >> WRKDIRPREFIX=3D/usr/obj/portswork >> WITH_DEBUG=3D >> WITH_DEBUG_FILES=3D >> MALLOC_PRODUCTION=3D >> # >> #system clang 3.8 (gcc6 rejects -march=3Darmv7a): >> #CFLAGS+=3D -march=3Darmv7-a -mcpu=3Dcortex-a7 >> #CXXFLAGS+=3D -march=3Darmv7-a -mcpu=3Dcortex-a7 >> #CPPFLAGS+=3D -march=3Darmv7-a -mcpu=3Dcortex-a7 >> # >> #lang/gcc6's xgcc stage considers the above conflicting so use just: >> CFLAGS+=3D -mcpu=3Dcortex-a7 >> CXXFLAGS+=3D -mcpu=3Dcortex-a7 >> CPPFLAGS+=3D -mcpu=3Dcortex-a7 >=20 >=20 > The armv6 11.0 -r301815 system was cross built from amd64, built using = src.conf: >=20 >> # more ~/src.configs/src.conf.rpi2-clang-bootstrap.amd64-host=20 >> TO_TYPE=3Darmv6 >> # >> KERNCONF=3DRPI2-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_LIBSOFT=3D >> WITH_LIBCPLUSPLUS=3D >> WITH_BINUTILS_BOOTSTRAP=3D >> WITH_CLANG_BOOTSTRAP=3D >> WITH_CLANG=3D >> WITH_CLANG_IS_CC=3D >> WITH_CLANG_FULL=3D >> WITH_CLANG_EXTRAS=3D >> WITH_LLDB=3D >> # >> WITH_BOOT=3D >> WITHOUT_LIB32=3D >> # >> WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=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_DEBUG_FILES=3D >> # >> XCFLAGS+=3D -march=3Darmv7-a -mcpu=3Dcortex-a7 >> XCXXFLAGS+=3D -march=3Darmv7-a -mcpu=3Dcortex-a7 >> # There is no XCPPFLAGS but XCPP ets XCFLAGS content. >=20 > and with the make.conf for the system build being empty: >=20 >> # more ~/src.configs/make.conf=20 >> # >=20 >=20 > =3D=3D=3D > Mark Millard > markmi at dsl-only.net