* [FFmpeg-devel] [PATCH v2 1/5] configure: allow multiple sanitizers in --toolchain
@ 2025-07-17 2:04 Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 2/5] configure: add -fno-omit-frame-pointer when sanitizers are used Kacper Michajłow
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Kacper Michajłow @ 2025-07-17 2:04 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Kacper Michajłow
For example this allows --toolchain=clang-asan-usan.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
configure | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 10dafae8e2..17a83dd873 100755
--- a/configure
+++ b/configure
@@ -4638,14 +4638,23 @@ add_sanitizer_flags(){
esac
}
+add_sanitizers(){
+ IFS=-
+ set -- $*
+ unset IFS
+ for sanitizer; do
+ add_sanitizer_flags "$sanitizer"
+ done
+}
+
case "$toolchain" in
clang-*)
- add_sanitizer_flags "${toolchain#clang-}"
+ add_sanitizers "${toolchain#clang-}"
cc_default="clang"
cxx_default="clang++"
;;
gcc-*)
- add_sanitizer_flags "${toolchain#gcc-}"
+ add_sanitizers "${toolchain#gcc-}"
cc_default="gcc"
cxx_default="g++"
# In case of tsan with gcc, PIC has to be enabled
--
2.50.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH v2 2/5] configure: add -fno-omit-frame-pointer when sanitizers are used
2025-07-17 2:04 [FFmpeg-devel] [PATCH v2 1/5] configure: allow multiple sanitizers in --toolchain Kacper Michajłow
@ 2025-07-17 2:04 ` Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 3/5] configure: allow -ubsan in toolchain Kacper Michajłow
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Kacper Michajłow @ 2025-07-17 2:04 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Kacper Michajłow
All sanitizers give better reports with frame pointers. And skip adding
-fomit-frame-pointer.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
configure | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index 17a83dd873..11b2a93038 100755
--- a/configure
+++ b/configure
@@ -4645,6 +4645,7 @@ add_sanitizers(){
for sanitizer; do
add_sanitizer_flags "$sanitizer"
done
+ add_cflags -fno-omit-frame-pointer
}
case "$toolchain" in
@@ -6208,7 +6209,7 @@ set_default libdir
set_default $PATHS_LIST
set_default nm
-disabled optimizations || enabled ossfuzz || check_cflags -fomit-frame-pointer
+disabled optimizations || enabled ossfuzz || echo "$CFLAGS" | grep -q -- '-fsanitize=' || check_cflags -fomit-frame-pointer
enable_weak_pic() {
disabled pic && return
--
2.50.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH v2 3/5] configure: allow -ubsan in toolchain
2025-07-17 2:04 [FFmpeg-devel] [PATCH v2 1/5] configure: allow multiple sanitizers in --toolchain Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 2/5] configure: add -fno-omit-frame-pointer when sanitizers are used Kacper Michajłow
@ 2025-07-17 2:04 ` Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 4/5] configure: add -fuzz support to --toolchain Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 5/5] configure: remove ossfuzz sanitizer flags Kacper Michajłow
3 siblings, 0 replies; 5+ messages in thread
From: Kacper Michajłow @ 2025-07-17 2:04 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Kacper Michajłow
It's is commonly called UBSAN after all.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index 11b2a93038..bff0fe285b 100755
--- a/configure
+++ b/configure
@@ -4628,7 +4628,7 @@ add_sanitizer_flags(){
add_cflags -fsanitize=thread
add_ldflags -fsanitize=thread
;;
- usan)
+ usan|ubsan)
add_cflags -fsanitize=undefined
add_ldflags -fsanitize=undefined
;;
--
2.50.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH v2 4/5] configure: add -fuzz support to --toolchain
2025-07-17 2:04 [FFmpeg-devel] [PATCH v2 1/5] configure: allow multiple sanitizers in --toolchain Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 2/5] configure: add -fno-omit-frame-pointer when sanitizers are used Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 3/5] configure: allow -ubsan in toolchain Kacper Michajłow
@ 2025-07-17 2:04 ` Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 5/5] configure: remove ossfuzz sanitizer flags Kacper Michajłow
3 siblings, 0 replies; 5+ messages in thread
From: Kacper Michajłow @ 2025-07-17 2:04 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Kacper Michajłow
libFuzzer is linked only for fuzzing targets.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
configure | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/configure b/configure
index bff0fe285b..4773a507d3 100755
--- a/configure
+++ b/configure
@@ -4616,6 +4616,11 @@ add_sanitizer_flags(){
add_cflags -fsanitize=address
add_ldflags -fsanitize=address
;;
+ fuzz)
+ add_cflags -fsanitize=fuzzer-no-link
+ add_ldflags -fsanitize=fuzzer-no-link
+ : "${libfuzzer_path:=-fsanitize=fuzzer}"
+ ;;
lsan)
add_cflags -fsanitize=leak
add_ldflags -fsanitize=leak
--
2.50.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH v2 5/5] configure: remove ossfuzz sanitizer flags
2025-07-17 2:04 [FFmpeg-devel] [PATCH v2 1/5] configure: allow multiple sanitizers in --toolchain Kacper Michajłow
` (2 preceding siblings ...)
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 4/5] configure: add -fuzz support to --toolchain Kacper Michajłow
@ 2025-07-17 2:04 ` Kacper Michajłow
3 siblings, 0 replies; 5+ messages in thread
From: Kacper Michajłow @ 2025-07-17 2:04 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Kacper Michajłow
In OSS-Fuzz build environment flags are handled by CFLAGS and LDFLAGS.
In local build use --toolchain=clang-fuzz-asan-ubsan or similar
combination depending on requested sanitizers.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
configure | 5 -----
1 file changed, 5 deletions(-)
diff --git a/configure b/configure
index 4773a507d3..c0ba3bea87 100755
--- a/configure
+++ b/configure
@@ -4605,11 +4605,6 @@ set >> $logfile
test -n "$valgrind" && toolchain="valgrind-memcheck"
-enabled ossfuzz && ! echo $CFLAGS | grep -q -- "-fsanitize=" && ! echo $CFLAGS | grep -q -- "-fcoverage-mapping" &&{
- add_cflags -fsanitize=address,undefined -fsanitize-coverage=trace-pc-guard,trace-cmp -fno-omit-frame-pointer
- add_ldflags -fsanitize=address,undefined -fsanitize-coverage=trace-pc-guard,trace-cmp
-}
-
add_sanitizer_flags(){
case "$1" in
asan)
--
2.50.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-07-17 2:06 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-17 2:04 [FFmpeg-devel] [PATCH v2 1/5] configure: allow multiple sanitizers in --toolchain Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 2/5] configure: add -fno-omit-frame-pointer when sanitizers are used Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 3/5] configure: allow -ubsan in toolchain Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 4/5] configure: add -fuzz support to --toolchain Kacper Michajłow
2025-07-17 2:04 ` [FFmpeg-devel] [PATCH v2 5/5] configure: remove ossfuzz sanitizer flags Kacper Michajłow
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git