NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: structure fxsave* / fxsave64 changed from 102x to 11.0?
> From: Riccardo Mottola <riccardo.mottola%libero.it@localhost>
> Date: Wed, 21 Oct 2026 00:20:03 +0200
>
> On 10.2 amd64, compilng ArcticFox i dev branch s fine.
>
> However, on 11.0 I get this error:
>
> 167:52.84 /home/multix/code/Arctic-Fox/js/src/wasm/WasmSignalHandlers.cpp:166:25: error: invalid cast from type '__fpregset_t' to type 'fxsave*' 167:52.84 166 | # define XMM_sig(p,i) (((struct fxsave64*)(p)->uc_mcontext.__fpregs)->fx_xmm[i])
>
> 167:52.84 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sorry, we broke the API compatibility here. Fortunately the fix is
very simple -- just insert an ampersand, and it will work equally well
on older NetBSD and newer NetBSD:
-# define XMM_sig(p,i) (((struct fxsave64*)(p)->uc_mcontext.__fpregs)->fx_xmm[i])
+# define XMM_sig(p,i) (((struct fxsave64*)&(p)->uc_mcontext.__fpregs)->fx_xmm[i])
This was raised in PR kern/60539: XSAVE changes break ucontext
userspace API <https://gnats.NetBSD.org/60539>; see background there
if you're curious.
Home |
Main Index |
Thread Index |
Old Index