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 <brooks@freebsd.org> 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: 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’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. 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 & 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>
