[FFmpeg-devel] [PATCH v2] configure: fix symbol prefix detection
Marvin Scholz
epirat07 at gmail.com
Thu Sep 12 00:09:34 EEST 2024
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*}
+log "Symbol prefix detected as: '${extern_prefix}'"
+
! disabled inline_asm && check_inline_asm inline_asm '"" ::'
check_cc pragma_deprecated "" '_Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")'
test_cpp_condition stdlib.h "defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)" && enable bigendian
base-commit: 2e91532ead860651c135bdedd96b6112ff715529
--
2.46.0
More information about the ffmpeg-devel
mailing list