Index | Thread | Search

From:
Jeremie Courreges-Anglas <jca@wxcvbn.org>
Subject:
Missing arm_neon_sve_bridge.h on arm64 (was: Re: aarch64 bulk build report)
To:
Rafael Sadowski <rafael@sizeofvoid.org>
Cc:
Jonathan Gray <jsg@jsg.id.au>, Peter Hessler <phessler@theapt.org>, ports@openbsd.org, robert@openbsd.org
Date:
Fri, 26 Dec 2025 18:00:50 +0100

Download raw body.

Thread
On Fri, Dec 26, 2025 at 06:55:14AM +0100, Rafael Sadowski wrote:
> On Fri Dec 26, 2025 at 10:16:46AM +1100, Jonathan Gray wrote:
> > On Thu, Dec 25, 2025 at 11:57:16PM +0100, Peter Hessler wrote:
> > > 
> > > 
> > > :http://build-failures.rhaalovely.net/aarch64/2025-12-22/x11/qt6/qtwebengine.log
> > > :
> > > 
> > > In file included from ../../../../../qtwebengine-everywhere-src-6.10.1/src/3rdparty/chromium/third_party/libaom/source/libaom/av1/encoder/arm/av1_error_sve.c:19:
> > > ../../../../../qtwebengine-everywhere-src-6.10.1/src/3rdparty/chromium/third_party/libaom/source/libaom/aom_dsp/arm/aom_neon_sve_bridge.h:15:10:
> > > fatal error: 'arm_neon_sve_bridge.h' file not found
> > >    15 | #include <arm_neon_sve_bridge.h>
> > >       |          ^~~~~~~~~~~~~~~~~~~~~~~
> > 
> > The log shows base clang.
> > 
> > Does installing the include fix the build?
> 
> I tried to mix the headers from base and ports to get access to
> arm_neon_sve_bridge without luck. I would be grateful if we could do it
> that way. CC robert@

FWIW I fixed Robert's mail address.  A similar diff was already
proposed by Brad:

  https://marc.info/?l=openbsd-tech&m=174155733400782&w=2

But it resulted in build failures using clang-19:

  https://marc.info/?l=openbsd-tech&m=174482865617988&w=2

For this header addition to be a clear improvement we'd need to first
apply Brad's proposal which backports some code from llvm/20:

  https://marc.info/?l=openbsd-ports&m=174555990331066&w=2

Regarding the diff below,

> > 
> > Index: gnu/usr.bin/clang/include/clang/intrin/Makefile
> > ===================================================================
> > RCS file: /cvs/src/gnu/usr.bin/clang/include/clang/intrin/Makefile,v
> > diff -u -p -r1.29 Makefile
> > --- gnu/usr.bin/clang/include/clang/intrin/Makefile	13 Jun 2025 17:11:09 -0000	1.29
> > +++ gnu/usr.bin/clang/include/clang/intrin/Makefile	25 Dec 2025 23:05:51 -0000
> > @@ -30,7 +30,7 @@ GEN+=		arm_bf16.h
> >  GEN+=		arm_mve.h
> >  GEN+=		arm_cde.h
> >  GEN+=		arm_vector_types.h
> > -HEADERS+=	arm_acle.h arm_cmse.h ${GEN}
> > +HEADERS+=	arm_acle.h arm_cmse.h arm_neon_sve_bridge.h ${GEN}

Brad's diff only installed the header on aarch64.
gnu/llvm/clang/lib/Headers/CMakeLists.txt indeed marks this file as
"aarch64-only" so I'd suggest we use Brad's diff.

> >  .elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
> >  HEADERS+=	__wmmintrin_aes.h \
> >  		__wmmintrin_pclmul.h \

-- 
jca