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

--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 <brooks@freebsd.org> 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 <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
>>>=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

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"overflow-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;"><br =
id=3D"lineBreakAtBeginningOfMessage"><div><br><blockquote =
type=3D"cite"><div>On 17 May 2024, at 17:27, Brooks Davis =
&lt;brooks@freebsd.org&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div><meta charset=3D"UTF-8"><span =
style=3D"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=3D"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=3D"cite" style=3D"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=3D"cite">The branch main has been updated by =
brooks:<br><br>URL: =
https://cgit.FreeBSD.org/src/commit/?id=3D4c0dfd5959bd499754e3fc9a7ce37c1d=
5ece31f7<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=E2=80=99t worth it.</div><br><blockquote type=3D"cite"><div><br =
style=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=3D"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=E2=80=99ve 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>=

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



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