Message ID | 20230130122213.28822-1-anton@khirnov.net |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] configure: add -fno-semantic-interposition to optflags | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Anton Khirnov: > Gcc flag -fsemantic-interposition, which is on by default with current > gcc versions, makes the compiler assume exported symbols can be > interposed by the linker, which prevents various kinds of optimization. > > Since we do not support such interposition and disable it with > -Bsymbolic, explicitly disable this assumption. > --- > configure | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/configure b/configure > index cb895cf9ac..6f702bfb64 100755 > --- a/configure > +++ b/configure > @@ -7174,6 +7174,7 @@ check_optflags(){ > check_optflags $optflags > check_optflags -fno-math-errno > check_optflags -fno-signed-zeros > +check_optflags -fno-semantic-interposition > > if enabled lto; then > test "$cc_type" != "$ld_type" && die "LTO requires same compiler and linker" This will add lots of dead HEVC functions in x86/hevcdsp_init.c; at least it did this last time I checked: Several of these functions are then inlined and because there are no callers outside of it, these functions are dead code. Of course marking them as static would be preferable, but that easier said than done with these macros. - Andreas
diff --git a/configure b/configure index cb895cf9ac..6f702bfb64 100755 --- a/configure +++ b/configure @@ -7174,6 +7174,7 @@ check_optflags(){ check_optflags $optflags check_optflags -fno-math-errno check_optflags -fno-signed-zeros +check_optflags -fno-semantic-interposition if enabled lto; then test "$cc_type" != "$ld_type" && die "LTO requires same compiler and linker"