Re: segfault configure

Martin Simmons <[email protected]> Tue, 23 Dec 2025 15:37:48 +0000
Newsgroups gmane.comp.video.mplayer.user
Message-ID <je8qetjjjn.fsf@localhost>
>>>>> On Thu, 04 Dec 2025 11:18:54 +0000, qbl  said:
> 
> Hello,
> 
> configure causes a segmentation fault when executing following code:
> 
> ============ Checking for kernel support of avx512 ============
> 
> #include <stdlib.h>
> #include <signal.h>
> static void catch(int sig) { exit(1); }
> int main(void) {
>    signal(SIGILL, catch);
>    __asm__ volatile ("vmovdqa32 %%zmm0, (%%eax)%{%%k1%}":::"memory"); 
> return 0;
> }
> 
> cc /tmp/mplayer-configure--3476/tmp.c -march=native -o 
> /tmp/mplayer-configure--3476/tmp -lm
> 
> 
> Segmentation fault (core dumped)
> Result is: failed
> 
> This usually is caused by an attempt to access insufficient aligned data.

The configure check looks broken to me, because it tries to store zmm0
at the undefined address in eax.

The following patch might fix it.  I've only tested it with the
non-avx512 case where it still correctly catches the SIGILL.

Index: configure
===================================================================
--- configure	(revision 38681)
+++ configure	(working copy)
@@ -2163,7 +2163,7 @@
   extcheck $_sse4_2   'sse4_2'   'pcmpgtq %%xmm0, %%xmm0'
   extcheck $_avx      'avx'      'vpabsw %%xmm0, %%xmm0'
   extcheck $_avx2     'avx2'     'vextracti128 $0, %%ymm0, %%xmm0'
-  extcheck $_avx512   'avx512'   'vmovdqa32 %%zmm0, (%%eax)%{%%k1%}'
+  extcheck $_avx512   'avx512'   'vmovdqa32 %%zmm0, %%zmm1%{%%k1%}'
   extcheck $_avx512icl 'avx512icl' 'vpdpwssds %%zmm28, %%zmm29, %%zmm31%{%%k1%}%{z%}'
   extcheck $_xop      'xop'      'vpmacsdd %%xmm0, %%xmm1, %%xmm2, %%xmm3'
   extcheck $_fma3     'fma3'     'vfmadd132ps %%ymm0, %%ymm1, %%ymm2'


__Martin
_______________________________________________
MPlayer-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo/%(_internal_name)s