[FFmpeg-devel] [PATCH v2] configure: fix symbol prefix detection

Martin Storsjö martin at martin.st
Thu Sep 12 09:03:19 EEST 2024


On Wed, 11 Sep 2024, Marvin Scholz wrote:

> The symbol prefix check would incorrectly detect a bogus prefix in circumstances where sanitizers
> instrument the build, like when configuring with the clang-asan toolchain where it would detect the
> prefix as __odr_asan_gen_, which is obviously wrong.
>
> To fix this, adjust the prefix detection to only detect a one-character prefix, which is the only case
> that matters anywhere right now.
> ---
> configure | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index d3bd46f382a..7e84272b74b 100755
> --- a/configure
> +++ b/configure
> @@ -6131,13 +6131,15 @@ enable_weak_pic() {
> enabled pic && enable_weak_pic
>
> test_cc <<EOF || die "Symbol mangling check failed."
> int ff_extern;
> EOF
> -sym=$($nm $TMPO | awk '/ff_extern/{ print substr($0, match($0, /[^ \t]*ff_extern/)) }')
> +sym=$($nm $TMPO | awk '/[ \t]+[^ \t]{0,1}ff_extern/{ print substr($0, match($0, /[^ \t]{0,1}ff_extern$/)) }')
> extern_prefix=${sym%%ff_extern*}

Since we're checking for ff_extern$ in the substr match, would it be 
safest to include the $ in the initial ff_extern match as well? So if 
there's a _ff_extern$foo symbol listed first, that won't be matched?

// Martin



More information about the ffmpeg-devel mailing list