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

vmrsss vmrsss
Sat Aug 16 18:17:43 CEST 2008


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  
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...

Cheers,
vmrsss



More information about the ffmpeg-devel mailing list