[FFmpeg-devel] fft_mmx.asm yasm 64bit build broken

Måns Rullgård mans
Sat Aug 16 18:28:15 CEST 2008


vmrsss <vmrsss at gmail.com> writes:

> On 16 Aug 2008, at 16:17, M?ns Rullg?rd wrote:
>> This is an Apple problem.  Since the same code works on the same
>> hardware under Linux, it follows that it must be an Apple problem if
>> it doesn't work in MacOS.  In fact, code like this used to work just
>> fine with older versions of the Apple linker.  Sorry, but you're
>> barking up the wrong tree.
>
> M?ns, inded I might be barking up the wrong tree. Yet it seems to me  
> that yasm stops while generating 64bit code, so I don't understand why  
> you talk of linker problems. There is no linker involved here. The  

Sorry, I just saw something about relocations in the error message,
and assumed it as the usual problem.  The message looked a bit
mangled, and was hard to read.

> code compiles well and links well at 32bits (and builds well at 64bits  
> with ELF format, but of course it then does not link). It fails with - 
> f macho64 complaining about 32 bit absolute relocation in 64 bit mode  
> and suggesting to use some specific assembly forms:
>
>> "[_symbol wrt rip]" for mem access, "qword" and "dq _foo" for  
>> pointers.
>
> Let me also add all the rest of the asm code builds perfectly, which  
> seems to me to confirm a problem with the specific file.
>
> In conclusion, it looks as though some addressing mode is legal for  
> 64bit in ELF object format, and illegal with MACHO format (unless this  
> is a yasm limitation). It may be Loren knows how to fix it, which was  
> my original hope, or perhaps he does not; it may be this needs  
> "special" macosx code, but to just say "ask Apple" seems a just a bit  
> too quick to me...

Regardless of which component in the build process is complaining, the
problem is caused by Apple using a rubbish file format.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-devel mailing list