[FFmpeg-devel] [PATCH] Workaround Mac-OS x86_64 dynamic loader bug for Yasm generated code

Alexander Strange astrange
Sun Feb 8 04:20:40 CET 2009

On Feb 7, 2009, at 3:56 AM, Reimar D?ffinger wrote:

> On Fri, Feb 06, 2009 at 09:00:50PM -0500, Alexander Strange wrote:
>> On Feb 4, 2009, at 3:53 PM, Art Clarke wrote:
>>> On Wed, Feb 4, 2009 at 12:27 PM, Art Clarke <aclarke at xuggle.com>
>>> wrote:
>>>> See this chain for details on the problem:
>>>> http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-February/061189.html
>>>> Tested on Mac and Linux in 32 and 64 bit builds and everything
>>>> seems to work.
>>> My bad; I attached an earlier patch.  Correct patch is attached  
>>> (this
>>> one doesn't set alignment to 16 after change)
>> This patch seems correct for all systems to me, not just macho64,
>> since dispatch_tab* is data. But I don't have another OS to test
>> removing the %ifidn on.
> You misunderstood the purpose of the patch, mach targets can't use
> .rodata for anything that needs alignment because something is broken,
> thus most is placed in .text.

Right, that's because of the bug in yasm (which will be fixed in the  
next release).
But that actually has nothing to do with this; dispatch_tab appears in  
the text section because it's declared in the middle of it, since it's  
part of a macro.
If that was just an accident, it's cleaner to add section .rodata  
without checking for macho, even if other platforms don't need it.

More information about the ffmpeg-devel mailing list