he got sigill on amd k7, caused by sse instruction in fastmemcpy code! Nick / Michael, please check this... --------- Forwarded message --------- From: Michael Mauch <michael.mauch@gmx.de> To: mplayer-users@mplayer.dev.hu Subject: [MPlayer-users] New CPU-detection code in current CVS, crash on Athlon ... Linux elmicha 2.4.18 #1 Die Mär 12 22:36:29 CET 2002 i686 unknown % cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : 2 model name : AMD Athlon(tm) Processor stepping : 1 cpu MHz : 706.969 cache size : 512 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat p se36 mmx fxsr syscall mmxext 3dnowext 3dnow bogomips : 1409.02 % gdb mplayer GNU gdb 5.1 MPlayer CVS-020319-20:11-2.95.3 (C) 2000-2002 Arpad Gereoffy (siehe DOCS!) CPU vendor name: AuthenticAMD max cpuid level: 1 CPU: Advanced Micro Devices Athlon K75 Pluto,Orion (Type: 6, Stepping: 1) extended cpuid-level: 6 CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0 Compiled with RUNTIME CPU Detection - warning, it's not optimal! To get best performance, recompile mplayer from sources with --disable-runtime-cpudetec tion mp3lib: made decode tables with MMX optimization init layer2&3 finished, tables done mp3lib: using 3DNow!Ex optimized decore! Program received signal SIGILL, Illegal instruction. [Switching to Thread 1024 (runnable)] 0x08087d4d in fast_memcpy (to=0x826d1e0, from=0x826cae0, len=512) at aclib_t emplate.c:207 207 __asm__ __volatile__ ( (gdb) bt #0 0x08087d4d in fast_memcpy (to=0x826d1e0, from=0x826cae0, len=512) at aclib_template.c:207 #1 0x080b0f8e in MP3_DecodeFrame (hova=0x83133f0 "", single=-1) at sr1.c:16 7 #2 0x0806e6cc in init_audio (sh_audio=0x82b9ce0) at dec_audio.c:772 #3 0x08068008 in main (argc=10, argv=0xbfffef54, envp=0xbfffef80) at mplaye r.c:1159 #4 0x405e48c1 in __libc_start_main (main=0x80665fc <main>, argc=10, argv=0x bfffef54, init=0x8063bc0 <_init>, fini=0x81bf4f4 <_fini>, rtld_fini=0x4000a914 <_d l_fini>, stack_end=0xbfffef4c) at ../sysdeps/generic/libc-start.c:92 (gdb) disass $eip-32 $eip+32 Dump of assembler code from 0x8087d2d to 0x8087d6d: 0x8087d2d <fast_memcpy+141>: dec %edi 0x8087d2e <fast_memcpy+142>: adc %cl,(%edi) 0x8087d30 <fast_memcpy+144>: sub 0x20(%edi),%edx 0x8087d33 <fast_memcpy+147>: movntps %xmm3,0x30(%edi) 0x8087d37 <fast_memcpy+151>: add $0x40,%esi 0x8087d3a <fast_memcpy+154>: add $0x40,%edi 0x8087d3d <fast_memcpy+157>: dec %ecx 0x8087d3e <fast_memcpy+158>: jne 0x8087d12 <fast_memcpy+114> 0x8087d40 <fast_memcpy+160>: jmp 0x8087d74 <fast_memcpy+212> 0x8087d42 <fast_memcpy+162>: test %ecx,%ecx 0x8087d44 <fast_memcpy+164>: je 0x8087d74 <fast_memcpy+212> 0x8087d46 <fast_memcpy+166>: prefetchnta 0x140(%esi) 0x8087d4d <fast_memcpy+173>: movaps (%esi),%xmm0 <=== sigill here! 0x8087d50 <fast_memcpy+176>: movaps 0x10(%esi),%xmm1 0x8087d54 <fast_memcpy+180>: movaps 0x20(%esi),%xmm2 0x8087d58 <fast_memcpy+184>: movaps 0x30(%esi),%xmm3 0x8087d5c <fast_memcpy+188>: movntps %xmm0,(%edi) 0x8087d5f <fast_memcpy+191>: movntps %xmm1,0x10(%edi) 0x8087d63 <fast_memcpy+195>: movntps %xmm2,0x20(%edi) 0x8087d67 <fast_memcpy+199>: movntps %xmm3,0x30(%edi) 0x8087d6b <fast_memcpy+203>: add $0x40,%esi End of assembler dump. (gdb) q The program is running. Exit anyway? (y or n) y "--disable-runtime-cpudetection" doesn't help, neither does replacing the old ~/.mplayer/codecs.conf. "gcc -c -O4 -march=i486 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer" are the right flags for my Athlon? Hope I didn't forget something. Regards... Michael _______________________________________________ RTFM!!! http://www.MPlayerHQ.hu/DOCS Search: http://www.MPlayerHQ.hu/cgi-bin/htsearch http://mplayerhq.hu/mailman/listinfo/mplayer-users