David Liontooth wrote:
> Andrew Church wrote:
>   
>>> I should have waited 5 minutes before posting this. I took a look at the 
>>> diff for memcpy.c to verify what had changed from the last revision. I 
>>> changed:
>>>
>>> .balign 16
>>>
>>> back to:
>>>
>>> .align 16
>>>     
>>>       
>> [...]
>>   
>>     
>>> Compilation gets A LOT further after this. It next dies here:
>>>
>>> gcc -DHAVE_CONFIG_H -I. -I../.. -D_REENTRANT -I../.. -I../../src -Wall 
>>> -Wstrict-prototypes -Wmissing-prototypes -g -O2 -MT deinterlace.lo -MD -MP 
>>> -MF .deps/deinterlace.Tpo -c deinterlace.c  -fno-common -DPIC -o 
>>> .libs/deinterlace.o
>>> /var/tmp//cc5641dA.s:362:Unknown pseudo-op: .rept
>>>     
>>>       
>> Again, it looks like your assembler is too old.  From your earlier post, it
>> looks like the binutils-2.17 package you had installed mysteriously did not
>> include the assembler (as), so I'd suggest installing binutils from source.
>> If that's not an option, --disable-mmx should (hopefully) disable all the
>> assembly and at least let you compile.
>>   
>>     
> We're trying to find out what's going wrong with the assembly
> compilation -- for reference, there's
> http://developer.apple.com/documentation/DeveloperTools/Reference/Assembler/Assembler.pdf
>
> I'm not going to dive it it myself; let's see if we can find someone who
> knows what's going on. A couple of guys working on Pre Make Kit (pmk,
> see
> http://sourceforge.net/tracker/index.php?func=detail&aid=1569713&group_id=94395&atid=607694)
> try hard to make it work but up frustrated, concluding "Projects that
> mix assembly and C code must all fail on MacOS X Intel machines." They
> also say mplayer avoids the problem by using C embedded assembly.
>
> Aside from the probably unattractive option of switching to C embedded
> assembly, this is clearly not a transcode problem.
>   

A recurring story is that OSX on 386 requires 16-byte alignment:

    The biggest difference is that the stack must be 16-byte aligned at
    the point of a function call. They wanted to do this because all
    Macs, coming late to to the Intel party, can assume they're running
    on a processor with SSE, Intel's vector instruction set, similar in
    concept to the PowerPC AltiVec. OS X uses SSE for all floating point
    math by default, for a performance boost. SSE, however, has some
    instructions that require 16-byte alignment. Apple just said, screw
    it, we have no legacy code, let's just require the stack to be
    16-byte aligned so we can use SSE.

http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
-- he proposes a workaround.

> Dave
>
>   

Reply via email to