: Re: [MPlayer-users] Re: intel os x crash using window codecs

Martin Simmons vyslnqaaxytp at spammotel.com
Sat Dec 16 23:33:50 CET 2006


>>>>> On Tue, 12 Dec 2006 14:21:05 -0500, Dave Chand said:
>>> Looks like a stack alignment problem to me -- the Intel Mac  
>>> calling convention
>>> requires 16 byte alignment of the stack before the call, which  
>>> won't be
>>> happening when a Win32 DLL makes calls to functions in loader/ 
>>> win32.c.
> The codecs work if latest mplayer svn is compiled with -g or -gfull,  
> and without -fomit-frame-pointer . Why would win32 codecs work if  
> mplayer is compiled with these two flags?
> 
> CFLAGS="-gfull or -g -mtune=nocona" gives a binary capable of using  
> win32 dll files.

Probably just luck.  Although Apple specifies 16 byte alignment, most compiled
code works fine without it.

Compiling the loader files with -mstackrealign -fno-unit-at-a-time sounds like
the right thing to me, though it looks like a few of the entries in the tables
in loader/win32.c point to libc directly (e.g. qsort), so they probably need
wrapping like the others.

__Martin



More information about the MPlayer-users mailing list