[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