Date: Sun, 12 Jun 2016 22:13:14 -0700 From: Mark Millard <markmi@dsl-only.net> To: freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD Ports <freebsd-ports@freebsd.org>, gerald@FreeBSD.org 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 Message-ID: <9956CBA7-4000-4124-9682-6A34456C188F@dsl-only.net> In-Reply-To: <497B54A1-A306-4264-AC8C-A57A7A53931E@dsl-only.net> References: <A35407A3-2A63-4B9C-AE2B-776159CC550A@dsl-only.net> <497B54A1-A306-4264-AC8C-A57A7A53931E@dsl-only.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2016-Jun-12, at 5:43 PM, Mark Millard <markmi at dsl-only.net> wrote: > 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.] >=20 > I may try lang/gcc6-devel to see what it does. lang/gcc6-devel (as of /usr/ports -r416711) also built fine on the rpi2. = [The test was with the bootstrap configuration item disabled.] Only = lang/gcc6 seems to have the reported problems for the rpi2. But I've not = tried lang/gcc49 or before. Nor have I tried any devel/*gcc* examples. The rest of the below material just repeats the original evidence of the = lang/gcc6 problem. Continue reading only if you care for that detail = now. >=20 > =3D=3D=3D > Mark Millard > markmi at dsl-only.net >=20 > On 2016-Jun-12, at 3:02 PM, Mark Millard <markmi at dsl-only.net> = wrote: >=20 >> 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 =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9956CBA7-4000-4124-9682-6A34456C188F>