Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 May 2024 17:39:26 +0100
From:      Andrew Turner <andrew@fubar.geek.nz>
To:        Brooks Davis <brooks@freebsd.org>
Cc:        John Baldwin <jhb@freebsd.org>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: 4c0dfd5959bd - main - arm: fail early on gcc builds
Message-ID:  <1AA02875-8758-4283-8DEB-8EFF6F747660@fubar.geek.nz>
In-Reply-To: <ZkeFYuI0P_tDZElk@spindle.one-eyed-alien.net>
References:  <202405171601.44HG1Sef047261@gitrepo.freebsd.org> <456e4eef-e194-4e32-b3a7-c93bb941b82b@FreeBSD.org> <ZkeFYuI0P_tDZElk@spindle.one-eyed-alien.net>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]


> 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=4c0dfd5959bd499754e3fc9a7ce37c1d5ece31f7
>>> 
>>> 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’t 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’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


[-- Attachment #2 --]
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><br id="lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>On 17 May 2024, at 17:27, Brooks Davis &lt;brooks@freebsd.org&gt; wrote:</div><br class="Apple-interchange-newline"><div><meta charset="UTF-8"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">On Fri, May 17, 2024 at 09:14:46AM -0700, John Baldwin wrote:</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">On 5/17/24 9:01 AM, Brooks Davis wrote:<br><blockquote type="cite">The branch main has been updated by brooks:<br><br>URL: https://cgit.FreeBSD.org/src/commit/?id=4c0dfd5959bd499754e3fc9a7ce37c1d5ece31f7<br><br>commit 4c0dfd5959bd499754e3fc9a7ce37c1d5ece31f7<br>Author: &nbsp;&nbsp;&nbsp;&nbsp;Brooks Davis &lt;brooks@FreeBSD.org&gt;<br>AuthorDate: 2024-05-17 15:47:22 +0000<br>Commit: &nbsp;&nbsp;&nbsp;&nbsp;Brooks Davis &lt;brooks@FreeBSD.org&gt;<br>CommitDate: 2024-05-17 16:01:19 +0000<br><br>&nbsp;&nbsp;&nbsp;&nbsp;arm: fail early on gcc builds<br>&nbsp;&nbsp;&nbsp;&nbsp;Since at least 2022 (see https://reviews.freebsd.org/D36754), it has<br>&nbsp;&nbsp;&nbsp;&nbsp;not been possible to build armv6/armv7 with gcc due to atomics macros<br>&nbsp;&nbsp;&nbsp;&nbsp;gcc doesn't like. &nbsp;Prevent developers doing due diligance from wasting<br>&nbsp;&nbsp;&nbsp;&nbsp;time and CPU cycles on this combination as it just fails to build in<br>&nbsp;&nbsp;&nbsp;&nbsp;libc.<br>&nbsp;&nbsp;&nbsp;&nbsp;Reviewed by: &nbsp;&nbsp;&nbsp;imp, andrew<br>&nbsp;&nbsp;&nbsp;&nbsp;Differential Revision: &nbsp;https://reviews.freebsd.org/D45193<br></blockquote><br>As I said in the review, this is a weird change. &nbsp;Only amd64 and i386 build<br>with GCC. &nbsp;You should blacklist all the others if you are going to blacklist<br>any, not just 32-bit arm. &nbsp;I hadn't blacklisted any to make it possible for<br>other developers to work on it. &nbsp;Also, the review in question is probably not<br>the right fix, it's probably that we need to pass different CFLAGS to GCC for<br>32-bit arm.<br></blockquote></div></blockquote><div><br></div><div>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’t worth it.</div><br><blockquote type="cite"><div><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">I think I misunderstood your point in the review. &nbsp;I've wasted days</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">trying to do the right thing to let me reapply 4510f2ca9170 (Make</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">WITHOUT_UNDEFINED_VERSION the default) only to find that it's secret</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">knowledge that gcc builds are broken except on x86.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">IMO there's less than zero value in universe targets that don't work</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">unless they are clearly fenced.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">I propose disabling all the others and adding a flag to ignore this</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">guard.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">-- Brooks</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">P.S. I've got aarch64 building except for GOOGLETEST and BOOT which both</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">fail to link due to relocation complaints.</span></div></blockquote><br></div><div>I have fixes in [1] to build world and kernel for arm64 with GCC. I’ve pushed some of the simple fixes &amp; can put the remaining in review next week.</div><div><br></div><div>Andrew</div><div><br></div><div>[1] https://github.com/zxombie/freebsd/tree/gcc-arm64</div><br></body></html>

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1AA02875-8758-4283-8DEB-8EFF6F747660>