From nobody Fri May 17 16:39:26 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Vgt3N2yz7z5LRHQ for ; Fri, 17 May 2024 16:39:44 +0000 (UTC) (envelope-from bounce.3jsmfihn0rriy44=musehebwepof=hfod0ryydpf10i@em790814.fubar.geek.nz) Received: from e3i74.smtp2go.com (e3i74.smtp2go.com [158.120.84.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Vgt3M6s2Sz4WJn for ; Fri, 17 May 2024 16:39:43 +0000 (UTC) (envelope-from bounce.3jsmfihn0rriy44=musehebwepof=hfod0ryydpf10i@em790814.fubar.geek.nz) Authentication-Results: mx1.freebsd.org; none Received: from [10.99.243.232] (helo=morbo.fubar.geek.nz) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.97-S2G) (envelope-from ) id 1s80cM-4o5NDgrvSaC-rvgq; Fri, 17 May 2024 16:39:38 +0000 Received: from smtpclient.apple (92.40.185.136.threembb.co.uk [92.40.185.136]) by morbo.fubar.geek.nz (Postfix) with ESMTPSA id C986475FA; Fri, 17 May 2024 16:39:37 +0000 (UTC) From: Andrew Turner Message-Id: <1AA02875-8758-4283-8DEB-8EFF6F747660@fubar.geek.nz> Content-Type: multipart/alternative; boundary="Apple-Mail=_274B75DD-7262-43CC-901B-71B4AD38B1A3" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\)) Subject: Re: git: 4c0dfd5959bd - main - arm: fail early on gcc builds Date: Fri, 17 May 2024 17:39:26 +0100 In-Reply-To: Cc: John Baldwin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org To: Brooks Davis References: <202405171601.44HG1Sef047261@gitrepo.freebsd.org> <456e4eef-e194-4e32-b3a7-c93bb941b82b@FreeBSD.org> X-Mailer: Apple Mail (2.3774.100.2.1.4) X-smtpcorp-track: SmT2uiMxNLxa.jJE-vrZSQZi6.z4A6mwvw74I DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smtpservice.net; i=@smtpservice.net; q=dns/txt; s=a1-4; t=1715963980; h=feedback-id : x-smtpcorp-track : date : message-id : to : subject : from : reply-to : sender : list-unsubscribe; bh=cbfpT6aaQJ+/qvaqqTDydXWtnF2pebCzoQfy+9yl2YE=; b=HeO0ZVN1gVEoN7gw2SKA1sGltbYN2licv+Ct6lzEuNYzcNtYdV3TbMLHJsi1O4wcIqQ1L OuOEsJ5bjuxuyJ6auTH2kGfg+rk0Admga3P4MLjh2XZ1crNfF6v3pIATd2orxjrQVEYji47 dx5LgWXjV2+rbYLHMQDbTQcsb4Sz0cMB2IRze/wfYv4RUcU70tksfGxvmRdZJSmrWYSD7po I7TZ51kFz+Sg4zpGRS+5savC9d9guZvLck2v09wWbuDDo5Xq2hlO+WBsoLU9OWHqrXy5PaR Jkcl3JlwlkA5b53rX8aEIHpoimpAeDlG/QaadydM+JTcTbuCyQg0ySLKkXyw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fubar.geek.nz; i=@fubar.geek.nz; q=dns/txt; s=s790814; t=1715963980; h=from : subject : to : message-id : date; bh=cbfpT6aaQJ+/qvaqqTDydXWtnF2pebCzoQfy+9yl2YE=; b=cj3HNuDH5ZaNBAeU1//0zWfRv/3ahOpOzR2hgRgIsJVg2QozRwZffBqTLkTreycpX4VqU JJRm/Tx3+wqZ2U3VDeLHczTiwD+q31BXij1/t2m/P7z/nIg6T8JScPOp/PaoZlW7M/q4X6n H7+hjz+TLRpzIU/iQaK7Sm26mFQmx+xZOGhyxk9q7kPVCnyWW5vaphYCCTQMatna5NyW2H3 dI82DRBJ6k/2mGTniLAYEWYpiXbaLe3CA33k7kzOqyyFkD0w6osk45F4nt6vuuSldSlQ19l CeC3ubxHg5k8YCRSYrlWY2mMKOrQFmcRGLIKCXrZVXGPivra0fy8hgcAC74g== X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:23352, ipnet:158.120.84.0/22, country:US] X-Rspamd-Queue-Id: 4Vgt3M6s2Sz4WJn --Apple-Mail=_274B75DD-7262-43CC-901B-71B4AD38B1A3 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 17 May 2024, at 17:27, Brooks Davis wrote: >=20 > On Fri, May 17, 2024 at 09:14:46AM -0700, John Baldwin wrote: >> On 5/17/24 9:01 AM, Brooks Davis wrote: >>> The branch main has been updated by brooks: >>>=20 >>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D4c0dfd5959bd499754e3fc9a7ce37c1d= 5ece31f7 >>>=20 >>> commit 4c0dfd5959bd499754e3fc9a7ce37c1d5ece31f7 >>> Author: Brooks Davis >>> AuthorDate: 2024-05-17 15:47:22 +0000 >>> Commit: Brooks Davis >>> CommitDate: 2024-05-17 16:01:19 +0000 >>>=20 >>> arm: fail early on gcc builds >>> Since at least 2022 (see https://reviews.freebsd.org/D36754), it = has >>> not been possible to build armv6/armv7 with gcc due to atomics = macros >>> gcc doesn't like. Prevent developers doing due diligance from = wasting >>> time and CPU cycles on this combination as it just fails to = build in >>> libc. >>> Reviewed by: imp, andrew >>> Differential Revision: https://reviews.freebsd.org/D45193 >>=20 >> As I said in the review, this is a weird change. Only amd64 and i386 = build >> with GCC. You should blacklist all the others if you are going to = blacklist >> any, not just 32-bit arm. I hadn't blacklisted any to make it = possible for >> other developers to work on it. Also, the review in question is = probably not >> the right fix, it's probably that we need to pass different CFLAGS to = GCC for >> 32-bit arm. I found too many issues with gcc 13 to get a world or kernel built. I = have fixes for some of them, but it looked like the effort to fix the = remaining issues wasn=E2=80=99t worth it. >=20 > I think I misunderstood your point in the review. I've wasted days > trying to do the right thing to let me reapply 4510f2ca9170 (Make > WITHOUT_UNDEFINED_VERSION the default) only to find that it's secret > knowledge that gcc builds are broken except on x86. >=20 > IMO there's less than zero value in universe targets that don't work > unless they are clearly fenced. >=20 > I propose disabling all the others and adding a flag to ignore this > guard. >=20 > -- Brooks >=20 > P.S. I've got aarch64 building except for GOOGLETEST and BOOT which = both > fail to link due to relocation complaints. I have fixes in [1] to build world and kernel for arm64 with GCC. I=E2=80=99= ve pushed some of the simple fixes & can put the remaining in review = next week. Andrew [1] https://github.com/zxombie/freebsd/tree/gcc-arm64 --Apple-Mail=_274B75DD-7262-43CC-901B-71B4AD38B1A3 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

On 17 May 2024, at 17:27, Brooks Davis = <brooks@freebsd.org> wrote:

On Fri, May 17, 2024 at 09:14:46AM -0700, = John Baldwin wrote:
On 5/17/24 9:01 AM, Brooks Davis = wrote:
The branch main has been updated by = brooks:

URL: = https://cgit.FreeBSD.org/src/commit/?id=3D4c0dfd5959bd499754e3fc9a7ce37c1d= 5ece31f7

commit = 4c0dfd5959bd499754e3fc9a7ce37c1d5ece31f7
Author: =     Brooks Davis = <brooks@FreeBSD.org>
AuthorDate: 2024-05-17 15:47:22 = +0000
Commit:     Brooks Davis = <brooks@FreeBSD.org>
CommitDate: 2024-05-17 16:01:19 = +0000

    arm: fail early on gcc = builds
    Since at least 2022 (see = https://reviews.freebsd.org/D36754), it = has
    not been possible to build armv6/armv7 = with gcc due to atomics macros
    gcc doesn't = like.  Prevent developers doing due diligance from = wasting
    time and CPU cycles on this = combination as it just fails to build = in
    libc.
    Reviewed = by:    imp, = andrew
    Differential Revision: =  https://reviews.freebsd.org/D45193

As I said = in the review, this is a weird change.  Only amd64 and i386 = build
with GCC.  You should blacklist all the others if you are = going to blacklist
any, not just 32-bit arm.  I hadn't = blacklisted any to make it possible for
other developers to work on = it.  Also, the review in question is probably not
the right fix, = it's probably that we need to pass different CFLAGS to GCC for
32-bit = arm.

I found too = many issues with gcc 13 to get a world or kernel built. I have fixes for = some of them, but it looked like the effort to fix the remaining issues = wasn=E2=80=99t worth it.


I think I misunderstood your point in the = review.  I've wasted days
trying = to do the right thing to let me reapply 4510f2ca9170 (Make
WITHOUT_UNDEFINED_VERSION the default) only = to find that it's secret
knowledge that gcc builds are broken except on = x86.

IMO there's less than = zero value in universe targets that don't work
unless they are clearly fenced.

I propose disabling all the others and = adding a flag to ignore this
guard.

-- = Brooks

P.S. I've got aarch64 = building except for GOOGLETEST and BOOT which both
fail to link due to relocation = complaints.

I have fixes in [1] = to build world and kernel for arm64 with GCC. I=E2=80=99ve pushed some = of the simple fixes & can put the remaining in review next = week.

Andrew

[1] = https://github.com/zxombie/freebsd/tree/gcc-arm64

= --Apple-Mail=_274B75DD-7262-43CC-901B-71B4AD38B1A3--