From owner-freebsd-toolchain@freebsd.org Sat Apr 29 00:24:31 2017 Return-Path: Delivered-To: freebsd-toolchain@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 0B419D55AF2 for ; Sat, 29 Apr 2017 00:24:31 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-50.reflexion.net [208.70.210.50]) (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 C5164A12 for ; Sat, 29 Apr 2017 00:24:30 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 27601 invoked from network); 29 Apr 2017 00:27:42 -0000 Received: from unknown (HELO rtc-sm-01.app.dca.reflexion.local) (10.81.150.1) by 0 (rfx-qmail) with SMTP; 29 Apr 2017 00:27:42 -0000 Received: by rtc-sm-01.app.dca.reflexion.local (Reflexion email security v8.40.0) with SMTP; Fri, 28 Apr 2017 20:24:28 -0400 (EDT) Received: (qmail 26265 invoked from network); 29 Apr 2017 00:24:28 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 29 Apr 2017 00:24:28 -0000 Received: from [192.168.1.106] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id 0EFE3EC913D; Fri, 28 Apr 2017 17:24:28 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: svn commit: r439595 - in head/devel: aarch64-gcc aarch64-none-elf-gcc amd64-gcc arm-none-eabi-gcc arm-none-eabi-gcc492 mips-gcc mips64-gcc powerpc64-gcc riscv64-gcc sparc64-gcc From: Mark Millard In-Reply-To: <8E45FA57-8D2E-4159-8E02-6A5044000CC2@dsl-only.net> Date: Fri, 28 Apr 2017 17:24:27 -0700 Cc: Baptiste Daroussin , Alexander Kabaev Content-Transfer-Encoding: quoted-printable Message-Id: References: <8E45FA57-8D2E-4159-8E02-6A5044000CC2@dsl-only.net> To: svn-ports-head@freebsd.org, Mark Linimon , FreeBSD Toolchain X-Mailer: Apple Mail (2.3273) X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Apr 2017 00:24:31 -0000 On 2017-Apr-28, at 3:27 PM, Mark Millard wrote: > Just FYI: >=20 > https://reviews.freebsd.org/D10537 may help with powerpc64-gcc > slave ports (and powerpc64-gcc itself) when they are built on > the type of machine that they target. >=20 > As of devel/*binutils -r436732 and -r432733 (the update > to 2.28) many things are broken for linking with debug > information that were not before (for example). It turns > out to be because of a change in return code for reporting > issues for the cases I know about: the new return code > stops the build (and the return code is likely appropriate > long term as I understand). For example a formerly ignored > debug information issue now blocks various builds when a > (modern) binutils is involved. >=20 > [Because of this I've been reverting devel/*binutils > to -r436731 each time I update the revision of > /usr/ports.] >=20 > As of ports head -r439263 with reverting > devel/*binutils to -r436731 and the patch > from D10537 I tested building the following > earlier today as part of reviewing D10537: >=20 > amd64: built amd64-gcc powerpc64-gcc aarch64-gcc > powerpc64: built powerpc64-gcc > aarch64: built aarch64-gcc > (Note: aarch64 is using -mcpu=3Dcortex-a53 explicitly.) >=20 > Context: head -r317015 in each case. > (WITH_LLD_IS_LD=3D was used on aarch64.) > (powerpc64 is system-clang/libc++ based, used > devel/*binutils) >=20 > If the information would be useful I could try > some other combinations under the patch and > the older binutils for comparison. (That does > not say when anyone might use the information.) >=20 > I also have access to armv7. (In this context > I normally use -mcpu=3Dcortex-a7 explicitly.) > So I could try that type of host as well. >=20 > I do not have access to mips, mips64, riscv, sparc64 > so they could be targets but not hosts in my tests: > always cross-builds. >=20 > I have access to powerpc but currently am not well > set up to use it without rebuilding it as gcc 4.2.1 > based for buildworld, not just buildkernel. (clang > generates bad stack handling for some contexts for > 32-bit powerpc.) I tried building devel/amd64-gcc on a powerpc64 head -r317015 system that was built with clang and libc++ and has clang as its system compiler. /usr/ports as of -r439263 but devel/*binutils as of -r436731 (so 2.27 instead of 2.2.8). The result was the "=3Da" problem for the clang based build: = /usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/config/i38= 6/cpuid.h:223:3: error: invalid output constraint '=3Da' in asm __cpuid (__ext, __eax, __ebx, __ecx, __edx); ^ = /usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/config/i38= 6/cpuid.h:165:7: note: expanded from macro '__cpuid' : "=3Da" (a), "=3Db" (b), "=3Dc" (c), "=3Dd" (d) \ . . . (other such messages) . . . In file included from = /usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/c-family/c= ppspec.c/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/co= nfig/i386/driver-i386.c:554::225: error: invalid output constraint '=3Da' = in asm . . . : "=3Da" (eax), "=3Dd" (edx) ^ . . . So this system-clang context on powerpc64 is like -r439595 reports for building devel/amd64-gcc on aarch64: +BROKEN_aarch64=3D error: invalid output constraint '=3Da' = in asm head/devel/amd64-gcc/Makefile only says: BROKEN_powerpc64=3D Does not build but it is like on aarch64 --at least when system-clang compiler that is in use. The compiler command lines were: c++ -std=3Dgnu++98 -fno-PIE -c -O2 -pipe -B/usr/local/bin/ = -DLIBICONV_PLUG -g -fno-strict-aliasing -B/usr/local/bin/ = -DLIBICONV_PLUG -DIN_GCC -fno-strict-aliasing -fno-exceptions = -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing = -Wwrite-strings -Wcast-qual -Wmissing-format-attribute = -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros = -Wno-overlength-strings -DHAVE_CONFIG_H -I. -I. = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/. = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/../inclu= de = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/../libcp= p/include -I/usr/local/include = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/../libde= cnumber = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/../libde= cnumber/dpd -I../libdecnumber = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/../libba= cktrace -B/usr/local/bin/ -DLIBICONV_PLUG -o driver-i386.o -MT = driver-i386.o -MMD -MP -MF ./.deps/driver-i386.TPo = /usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/config/i38= 6/driver-i386.c c++ -std=3Dgnu++98 -fno-PIE -c -O2 -pipe -B/usr/local/bin/ = -DLIBICONV_PLUG -g -fno-strict-aliasing -B/usr/local/bin/ = -DLIBICONV_PLUG -DIN_GCC -fno-strict-aliasing -fno-exceptions = -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing = -Wwrite-strings -Wcast-qual -Wmissing-format-attribute = -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros = -Wno-overlength-strings -DHAVE_CONFIG_H -I. -Ic-family = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/c-family= = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/../inclu= de = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/../libcp= p/include -I/usr/local/include = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/../libde= cnumber = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/../libde= cnumber/dpd -I../libdecnumber = -I/usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/../libba= cktrace -B/usr/local/bin/ -DLIBICONV_PLUG -o c-family/cppspec.o -MT = c-family/cppspec.o -MMD -MP -MF c-family/.deps/cppspec.TPo = /usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.3.0/gcc/c-family/c= ppspec.c It will be a fairly long time before the aarch64 context gets to this point in a devel/adm64-gcc build, although I expect a replication of the reported behavior for building devel/amd64-gcc . =3D=3D=3D Mark Millard markmi at dsl-only.net