[MPlayer-cygwin] mencoder crashing

Adam Seychell a_seychell at yahoo.com.au
Fri Jan 9 08:22:44 CET 2009


I'm closer to the problem.

In liba52/imdct.c
Data variables declared with:

static __attribute__((aligned(16)))

fail to be correctly aligned !

If I remove the static keyword from such variables then they become 
emitted from the translation unit and will be 16 byte aligned. mencoder 
  no longer segment faults in this case.

Could this be a possible bug in gcc ?

I am unable to reproduce the alignment discrepancy in a simple 
standalone program.

Adam


Adam Seychell wrote:
> Adam Seychell wrote:
>> The gdb output:
>> http://members.optusnet.com.au/~eseychell/gdb.output.mencoder.txt
>>
> 
> 
> I'm replying to my own message.
> 
> I see the crash trips on following movaps instruction
> 
> In function imdct_do_512_sse in liba52/imdct.c:753
> 
> 0x00525b26 <imdct_do_512_sse+54>:	movaps 0xc39dd8(%esi),%xmm2
> 
> ESI = 0 and so data was not 16 byte aligned !
> 
> The 0xc39dd8 value points to
> static float __attribute__((aligned(16))) sseSinCos1c[256];
> 
> but 0xc39dd8 is not aligned to 16 bytes !
> 
> 
> 
> _______________________________________________
> MPlayer-cygwin mailing list
> MPlayer-cygwin at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin
> 




More information about the MPlayer-cygwin mailing list