From owner-freebsd-ports@freebsd.org Sun May 19 15:46:30 2019 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A32315B0FBB for ; Sun, 19 May 2019 15:46:30 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic307-55.consmr.mail.gq1.yahoo.com (sonic307-55.consmr.mail.gq1.yahoo.com [98.137.64.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 678ED69D38 for ; Sun, 19 May 2019 15:46:29 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: GW5sRrwVM1lZvVrGS4X35KkwDbspyL.k9Ampj_C19Qz5JcDIqhfQfs8TJt6bO3R GrwugqWkIQbmrIHoWJ3fIO6OfnuDuBCVJj6Dwrj3Hd3Ya2oAlqZ8IEbgEO2eebm3bgO61nDbjM7W GqcD1ra_F3YhLG7Weypm4hTQkL2ThxfKXj.vC8dghMEr4rNhfeCzlhLJW6ZbtLamGpd8MUPuJBHz lpdj1sjbW.kG15k7OIQB7CcGY2RRFwZNHFMZJafXqVhZFCAbHqQIcA_dFrzKdlbq6BunDud4lI6N UyGqe2KHIsBlWdWQE7LwIQp4lgasJE4SlH6xIuDOKkRdKRk.NUUiM1Xb4YVFVHqauy2nqEbM3_A0 1.MuhvaEfC_HcE6_B2kFI4zjh4QWtjGx7uqbPOPiAn_NMAxg9RkhNdkQQB6n_5IkK5q5lwIoKOM. FllF1vyAJI.Y97hxuZRPJHv8US9CT4PQG1a1ryr7g9sdkzR7T0jDUUBtz7EMHIBtX25EJD0FS2_2 o9ALNTh3xOrI7OqJLiBlAaaPsYOw8rbkTXXLoQ3e2AG67Sbyt1KeqzQcXRxrxZUuDPMTBdXJTyNe E1_0evIK2hroDXz44RwKPZ8E3TdeK62jy9jYG.mU65Iq2w9BLpCRRhQIAwCnSxAD9x5CTmbGwpez h8AwyA1PQ0UnSMHSXBG3kYkJA5_KftHhBoKQaoHowSqgzLHRlOMktKBP_NDFlMu7f.JXcsK4kfCh mutTtw9IU.ay7LrTxkP14rWzcSdn_Hkp1vRPSQNUF_g83db9Zm8p.8C585kEHsokgKBUTAbaiLXH VYdVzaWb.2HQR8D414rlpWW.iy56vzOBLeMfNYjt0TlFJvPq_o4i2E9_RBMBvNYhRAudNies1R2Y KF76fhae48eysFduHUzIExOehMcjJhgt7olqbqONzPASnErN0dcJThWdLhAXKGtXUYy8bOGyf_0f Flxw5M5WSNgNfY3LH29713SHq6HYZ_nnDZD6XWEps80YyMOTGMnwiVpCVVj7MgZQmBaXS_d.TBFR zFOpD2ovPzXKITOr_qGMq.X4Zo89uwgGg.J5lALp88oOv.eJtn_eDd3qFwzOvoLAipguxOn2Nog4 wFrn2B9pNkbyKpZXiqcrQclWRNMfSUWWxu3VxEFPhFmO7nAtdG.kD.qXNQDbRyeM0vb.wJ4RiWhq fMnD_8j9Cp7s0_257ZABVmrhqrkzOKi7kjFC10MJiKNmhiLfEOS0pkSgkXbC68fHTcUD4Guk- Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.gq1.yahoo.com with HTTP; Sun, 19 May 2019 15:46:22 +0000 Received: from c-76-115-7-162.hsd1.or.comcast.net (EHLO [192.168.1.103]) ([76.115.7.162]) by smtp419.mail.gq1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 8af2d86533f90ec8c05e2f43116df262; Sun, 19 May 2019 15:46:19 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: maintenance of gcc cross ports From: Mark Millard In-Reply-To: Date: Sun, 19 May 2019 08:46:19 -0700 Cc: ports-list freebsd , "bapt@FreeBSD.org" , "jhb@FreeBSD.org" Content-Transfer-Encoding: quoted-printable Message-Id: <2A90CC78-117B-4988-9022-1687872B6C59@yahoo.com> References: <0BDF4BD8-EF07-4226-A2BA-4ACE476CD6FC@yahoo.com> To: James Shuriff X-Mailer: Apple Mail (2.3445.104.11) X-Rspamd-Queue-Id: 678ED69D38 X-Spamd-Bar: + X-Spamd-Result: default: False [1.17 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MV_CASE(0.50)[]; FREEMAIL_FROM(0.00)[yahoo.com]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[yahoo.com:+]; MX_GOOD(-0.01)[cached: mta6.am0.yahoodns.net]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.46)[-0.463,0]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; NEURAL_SPAM_SHORT(0.91)[0.910,0]; NEURAL_HAM_LONG(-0.38)[-0.377,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(1.61)[ip: (6.32), ipnet: 98.137.64.0/21(1.00), asn: 36647(0.80), country: US(-0.06)]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[31.64.137.98.list.dnswl.org : 127.0.5.0] X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 May 2019 15:46:30 -0000 On 2019-May-19, at 07:40, James Shuriff wrote: > I didn't/don't plan on touching binutils. Binutils is okay. I made new = patches as well. What I'm really concerned with bringing up to date is = aarch64-none-elf-gcc. > The GNU toolchain is unfortunately required for building an Aarch64 = system Are you specifically referencing contexts that need to build u-boot? (My guess is: yes.) I've done buildworld buildkernel based on system clang and lld many = times in the past, though not very recently. (I currently do not have access = to the environment but will again, eventually.) For aarch64 I'd mostly recently built for and used: A) a Pine64+ 2GB (needs: sysutils/u-boot-pine64 ) B) an OverDrive 1000 (no u-boot build needed) I've done amd64->aarch64 cross builds and self hosted ones for/on such. The OverDrive 1000 builds did not involve devel/aarch64-none-elf-gcc at all as far as I can remember. > and is a prereq for a bunch of sysutils arm ports. Yep. Are there sysutils/u-boot-* 's that no longer build under gcc 6.4.0? Other things? > At worst we can do something like what's done with the lang ports = gcc6, gcc7, gcc8. I've CC'd the maintainers so hopefully they can give = us some input and we can come up with a solution. >=20 > As for Makefile issues, this is only an issue for the = arm-none-eabi-gcc and aarch64-none-elf-gcc ports because they have = multiple hyphens. It's mostly a cosmetic issue. Each port has its own = plist because gcc generates different headers depending on the platform = so the PLIST TARGETARCH regex doesn't really affect all that much. There = are some clang flags dependent on TARGETARCH but whoever wrote the = aarch64-none-elf-gcc port must have known it wasn't working in the = master because the check is in the bare metal port as well. The = stripping out of all hyphens causes things like "gcc version 6.4.0 = (FreeBSD Ports Collection for aarch64noneelf)". I use = ${PKGNAMEPREFIX:C/-$//} for the comment and version and = ${PKGNAMEPREFIX:C/-.*//} for TARGETARCH. The original regex for all of = those is ${PKGNAMEPREFIX:C/-//g} and I'm sure you can see how that's a = problem when there's multiple hyphens. Thanks for the notes. > - James Shuriff >=20 > -----Original Message----- > From: Mark Millard > Sent: Sunday, May 19, 2019 1:33 AM > To: James Shuriff ; ports-list freebsd = > Subject: Re: maintenance of gcc cross ports >=20 > James Shuriff james at opentech.cc wrote on Sat May 18 12:29:22 UTC = 2019 : >=20 >> The powerpc64-gcc port and all the ports that use it as a master = (aarch64-gcc, aarch64-none-elf-gcc, amd64-gcc, arm-none-eabi-gcc, = i386-gcc, mips-gcc, mips64-gcc, and sparc64-gcc) are very old and use = buggy makefiles. I would like to take over maintenance of these ports. = Powerpc64-gcc uses an old version of gcc and the makefile is buggy. = Certain variables use bad regular expressions thus don't do what they're = supposed to do. I've fixed up the makefiles and made new plists with a = newer version of gcc. >=20 > Be aware that: >=20 > /[ports]/head/base/binutils depends on devel/binutils via: >=20 > MASTERDIR=3D${.CURDIR}/../../devel/binutils >=20 > /[ports]/head/base/gcc depends on devel/powerpc64-gcc via: >=20 > EXTRA_PATCHES+=3D = ${.CURDIR}/../../devel/powerpc64-gcc/files/freebsd-format-extensions > EXTRA_PATCHES+=3D = ${.CURDIR}/../../devel/powerpc64-gcc/files/freebsd-libdir > EXTRA_PATCHES+=3D = ${.CURDIR}/../../devel/powerpc64-gcc/files/patch-gcc-freebsd-mips >=20 > The maintainer is listed as: bapt@FreeBSD.org but the activity tends = to be jhb@FreeBSD.org . There are other, more overall FreeBSD toolchain = efforts that these various ports are tied to. That may constrain what = can be done when. You would probably need to consult with these folks = about any changes. >=20 > I use these ports for doing alternate toolchain buildworld buildkernel = activities, including using, say, devel/powerpc64-gcc on a powerpc64 = machine to self host with more modern tools than gcc 4.2.1 based ones. > As I understand, being in devel/ instead of lang/ for gcc tools is = tied to being constructed for the system-building activities instead of = for general use. >=20 > You might want to show your Makefile updates so that that the problems = are fully explicit. >=20 =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)