Re: git: 4f2ca36c7bec - main - arm64: Disable coverage sanitization of `pmap_update_strided`

From: Mark Johnston <markj_at_freebsd.org>
Date: Sat, 19 Oct 2024 14:31:12 UTC
On Fri, Oct 18, 2024 at 10:01:18PM +0100, Jessica Clarke wrote:
> On 11 Oct 2024, at 17:53, Mark Johnston <markj@FreeBSD.org> wrote:
> > 
> > The branch main has been updated by markj:
> > 
> > URL: https://cgit.FreeBSD.org/src/commit/?id=4f2ca36c7becd20b21ce5ef7256bbd42f732dafe
> > 
> > commit 4f2ca36c7becd20b21ce5ef7256bbd42f732dafe
> > Author:     Zhuo Ying Jiang Li <zhuoyingjiangli@gmail.com>
> > AuthorDate: 2024-10-11 16:41:49 +0000
> > Commit:     Mark Johnston <markj@FreeBSD.org>
> > CommitDate: 2024-10-11 16:52:53 +0000
> > 
> >    arm64: Disable coverage sanitization of `pmap_update_strided`
> > 
> >    The break-before-make update invalidates PTEs, including the PTE
> >    pointing to curthread, causing a fault in `trace_pc`. This
> >    addresses a similar issue in
> >    01bb9a2a3557bc9389f628d301cd691e08266f1d.
> 
> This broke* GitHub Actions due to the use of Clang 12 (newest Clang in
> Ubuntu 20.04 LTS which isn’t EOL until April 2025) which doesn’t
> support this sanitiser. Probably the easiest thing to do is to leave
> the relevant __nosanitizefoo defined to nothing unless that sanitiser
> is actually enabled (via __has_feature), as it’s not necessary outside
> of that, and if it’s enabled then you know it’s supported?

This seems to work, in that I reproduced the build failure locally with
CROSS_TOOLCHAIN=llvm12 and then verified this patch: https://reviews.freebsd.org/D47193

> Jess
> 
> * Masked by the OpenZFS import breaking it earlier in both commit
>   history and build order
>