[FFmpeg-devel] Build problem (on Os X)
David DeHaven
dave
Wed Feb 4 21:08:23 CET 2009
On Feb 4, 2009, at 11:34 AM, David Conrad wrote:
> On Feb 4, 2009, at 2:04 PM, Art Clarke wrote:
>> On Wed, Feb 4, 2009 at 10:47 AM, David DeHaven <dave at sagetv.com>
>> wrote:
>>> Putting dispatch_tabxxx in .rodata seems to skirt the issue, but
>>> generates heaps of warnings on 32 bit. No idea if that works on 64
>>> bit
>>> as I don't have access to a 64 bit machine at the moment. Maybe make
>>> the added section .rodata/.text lines conditional with "%ifidn
>>> __OUTPUT_FORMAT__,macho64", that avoids the warnings and allows the
>>> system to cache the dylib code on 32 bit.
>>
>> I tried a similar hack (putting the dispatch tables in .data under
>> macho64), and it compiles without warning on x86_64, but bus errors
>> abound when running our standard tests encoding mpeg4 video.
>
> More details? Putting dispatch_tab_* in .rodata works fine for me
> here on x86_64 (as attached, obviously not a final solution), tested
> with converting h.264/mpeg4 + aac/vorbis to mpeg4 + mp2/vorbis.
> (yasm 0.7.2.2153)
>
>> I'm working on a workaround that allows you to turn off yasm via
>> configure and will post that patch as a short-term work around.
>
> Obviously this isn't great since more asm will be written in yasm
> eventually...
>
>
>>> Someone with more x86 assembly experience could probably find a
>>> better
>>> solution... I'm just kinda hacking in the dark here. I was able to
>>> build 64 bit dylibs though.
>>
>> yeah; me too.
>>
>> - Art
>
>
> <fft-rodata.diff>
+SECTION .rodata align=16
The section uses the previous alignment argument, yasm spits a warning
out for me.
I also made the following change to x86inc.asm, but it assumes yasm
isn't broken. Ideally configure needs to be modified to check if yasm
aligns sections properly or not, but I haven't figured out a clean way
of doing that while allowing cross-compilation except by adding a tool
that parses the mach-o object file (ugh-ly!).
I suppose if someone is cross-compiling for Mac OS X, they should have
otool or an appropriate objdump available...
-DrD-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x86inc-alignment.diff
Type: application/octet-stream
Size: 729 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090204/16cf4890/attachment.obj>
-------------- next part --------------
More information about the ffmpeg-devel
mailing list