[FFmpeg-cvslog] r20497 - trunk/configure
Alexander Strange
astrange
Sun Nov 15 20:18:36 CET 2009
On Nov 15, 2009, at 11:29 AM, Reimar D?ffinger wrote:
> On Sun, Nov 15, 2009 at 12:02:39PM +0000, M?ns Rullg?rd wrote:
>> Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
>>> On Sun, Nov 15, 2009 at 01:58:12AM -0500, Alexander Strange wrote:
>>>> The compiler defaults to PIC, so that check runs 'enable pic'.
>>>>
>>>> After that, -mdynamic-no-pic, which turns it off again, is under ! 'enabled_any pic shared', so it's not added.
>>>
>>> Hm. It was specifically for that check I put this before it, however I
>>> misread the condition.
>>
>> What does that flag do anyway?
>
> info gcc says:
> `-mdynamic-no-pic'
> On Darwin and Mac OS X systems, compile code so that it is not
> relocatable, but that its external references are relocatable. The
> resulting code is suitable for applications, but not shared
> libraries.
>
> Basically it's the closest you can get to non-PIC on OSX I think.
> However, as the docs say it only can be done for a static build (or
> more precisely for the binaries), however if you do not create a PIE
> binary there is no point to respect --enable-pic IMO, or is there
> something I miss?
x86-32 can use it for anything, but some dynamic linker optimizations won't work so it uses more memory.
x86-32 can even use -fno-pic (otherwise none of the asm would work), but it's not supported so it tends to find linker bugs.
x86-64 is always PIC no matter what the flags, and PPC is accurate to the docs.
So without an --enable-pie, there's no other reason to not use the flag.
>>>> Maybe it shouldn't be using the same variable for PIC being
>>>> detected and the user specifically requesting it, but that won't
>>>> fix this check, which either needs to not run for Darwin or to run
>>>> after the flag is added.
>>>
>>> Why is adding that flag conditional on PIC anyway?
>>
>> IIRC it was supposed to do something allowing non-pic code in shared
>> libs. Now that doesn't make much sense if, as you say, PIC is always
>> on with that compiler.
>>
>> So which way is it?
>
> No, it is supposed to allow avoiding some of the cost of PIC for binaries
> by using PIC only where necessary (I think something like ebx must have
> a specific value when calling system functions etc.).
> _______________________________________________
> ffmpeg-cvslog mailing list
> ffmpeg-cvslog at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-cvslog
More information about the ffmpeg-cvslog
mailing list