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 = <brooks@freebsd.org> 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: = Brooks Davis = <brooks@FreeBSD.org><br>AuthorDate: 2024-05-17 15:47:22 = +0000<br>Commit: Brooks Davis = <brooks@FreeBSD.org><br>CommitDate: 2024-05-17 16:01:19 = +0000<br><br> arm: fail early on gcc = builds<br> Since at least 2022 (see = https://reviews.freebsd.org/D36754), it = has<br> not been possible to build armv6/armv7 = with gcc due to atomics macros<br> gcc doesn't = like. Prevent developers doing due diligance from = wasting<br> time and CPU cycles on this = combination as it just fails to build = in<br> libc.<br> Reviewed = by: imp, = andrew<br> Differential Revision: = https://reviews.freebsd.org/D45193<br></blockquote><br>As I said = in the review, this is a weird change. Only amd64 and i386 = build<br>with GCC. You should blacklist all the others if you are = going to blacklist<br>any, not just 32-bit arm. I hadn't = blacklisted any to make it possible for<br>other developers to work on = it. 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. 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 & 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>