[FFmpeg-devel] [PATCH] configure: reserve a register for gcc before 5 on x86_32 with PIE
Carl Eugen Hoyos
ceffmpeg at gmail.com
Sun Nov 20 22:27:57 EET 2016
2016-11-20 19:48 GMT+01:00 Andreas Cadhalpun <andreas.cadhalpun at googlemail.com>:
> On 20.11.2016 13:38, Carl Eugen Hoyos wrote:
>> 2016-11-20 1:07 GMT+01:00 Andreas Cadhalpun <andreas.cadhalpun at googlemail.com>:
>>> gcc before gcc-5 reserves a register on x86_32 for the GOT, when PIE is
>>> This fixes build failures due to:
>>> error: 'asm' operand has impossible constraints
>> Not reproducible with vanilla gcc 4.9.1 and gcc 4.4.6 so the patch is
>> not ok as-is afaict.
> That's interesting. I just tried with gcc 4.8.4-1 and it works fine, too.
> So this is probably a bug in gcc 4.9.2-10, which means we can't do anything
> about it.
> Consider this patch dropped.
Thank you for doing the additional test.
>> The tested (32bit) configure line here was:
>> --enable-gpl --toolchain=hardened --disable-stripping --enable-shared
>>> A build log of a failed build with gcc 4.9 is available at:
>> Please consider to remove the following options from the configure line,
>> they do lead to more user questions and make support more difficult:
> Can you elaborate on how this makes support more difficult?
My experience is that users copy the effect-less configure options
from distributions and ask on -users why they don't work.
> These could be dropped. They were just added to the jessie-backports
> version, as those libraries are too old/unavailable there.
> I'd rather not remove this. The thing is that sdl2 is autodetected, like sdl
> used to be, but ffplay depends on it.
How is that different from before?
> When 3.2 switched to sdl2 the build silently worked, but didn't
> produce ffplay, which I found annoying.
But --enable-sdl2 made no difference at all, or do I misunderstand?
>> Is --disable-stripping really useful?
Thank you for explaining this!
More information about the ffmpeg-devel