[FFmpeg-devel] OSX 10.5 (Leopard) build problem

Alexander Strange astrange
Sun Dec 16 22:31:33 CET 2007


On Dec 15, 2007, at 3:33 PM, Alexander Strange wrote:

>
> On Dec 15, 2007, at 3:15 PM, Steven M. Schultz wrote:
>
>>
>> On Sat, 15 Dec 2007, [iso-8859-1] M?ns Rullg?rd wrote:
>>
>>> As far as I am concerned, the bug is in OSX, not FFmpeg.  There are
>>> no
>>> problems on other OSes, or even older versions of OSX, so there is  
>>> no
>>> technical reason why the code shouldn't work on OSX 10.5.
>>
>> 	To me it's a matter of poorly formed code that relies on lenient
>> 	linkers.  Other systems, including older versions of OSX, had a
>> 	linker that apparently allowed non-pic code to be placed in a
>> 	shared library.
>
> The linker was rewritten for x86-64 support and 10.5 was rushed out
> the door apparently before they
> could put text relocations back in. I believe GNU ld supports it
> perfectly well too, and they're rather apologetic
> about it in the documentation, so it'll hopefully be back in soon.
>
> Actually, since that's using =m constraints and not MANGLE, isn't this
> a gcc bug? I guess I'll file some more bug reports.

The problem is actually the asm with six "r" uses in  
apply_welch_window_sse2.
It gets inlined into flac_compute_autocorr_sse2, which then runs out  
of registers.

This happens even with -fomit-frame-pointer, because it's using a VLA  
(tmp)
and apparently that requires it to keep another register in use. I'm  
not sure if
that's really necessary, but forcing apply_welch_window_sse noinline  
should
fix it.



More information about the ffmpeg-devel mailing list