Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 1/5] configure: allow multiple sanitizers in --toolchain
@ 2025-07-17  1:14 Kacper Michajłow
  2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 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  1:14 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 | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 10dafae8e2..85712380c0 100755
--- a/configure
+++ b/configure
@@ -4638,14 +4638,21 @@ add_sanitizer_flags(){
     esac
 }
 
+add_sanitizers(){
+    IFS=- read -ra sanitizers <<< "$1"
+    for sanitizer in "${sanitizers[@]}"; 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 2/5] configure: add -fno-omit-frame-pointer when sanitizers are used
  2025-07-17  1:14 [FFmpeg-devel] [PATCH 1/5] configure: allow multiple sanitizers in --toolchain Kacper Michajłow
@ 2025-07-17  1:14 ` Kacper Michajłow
  2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 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  1:14 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Kacper Michajłow

All sanitizers give better reports with frame pointers.

Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
 configure | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/configure b/configure
index 85712380c0..3fe33b72ed 100755
--- a/configure
+++ b/configure
@@ -4643,6 +4643,9 @@ add_sanitizers(){
     for sanitizer in "${sanitizers[@]}"; do
         add_sanitizer_flags "$sanitizer"
     done
+    if [ "${#sanitizers[@]}" -gt 0 ]; then
+        add_cflags -fno-omit-frame-pointer
+    fi
 }
 
 case "$toolchain" in
-- 
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 3/5] configure: allow -ubsan in toolchain
  2025-07-17  1:14 [FFmpeg-devel] [PATCH 1/5] configure: allow multiple sanitizers in --toolchain Kacper Michajłow
  2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 2/5] configure: add -fno-omit-frame-pointer when sanitizers are used Kacper Michajłow
@ 2025-07-17  1:14 ` Kacper Michajłow
  2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 4/5] configure: add -fuzz support to --toolchain Kacper Michajłow
  2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 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  1:14 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 3fe33b72ed..fd4a52fc5f 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 4/5] configure: add -fuzz support to --toolchain
  2025-07-17  1:14 [FFmpeg-devel] [PATCH 1/5] configure: allow multiple sanitizers in --toolchain Kacper Michajłow
  2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 2/5] configure: add -fno-omit-frame-pointer when sanitizers are used Kacper Michajłow
  2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 3/5] configure: allow -ubsan in toolchain Kacper Michajłow
@ 2025-07-17  1:14 ` Kacper Michajłow
  2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 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  1:14 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 fd4a52fc5f..36f7ab8c7c 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 5/5] configure: remove ossfuzz sanitizer flags
  2025-07-17  1:14 [FFmpeg-devel] [PATCH 1/5] configure: allow multiple sanitizers in --toolchain Kacper Michajłow
                   ` (2 preceding siblings ...)
  2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 4/5] configure: add -fuzz support to --toolchain Kacper Michajłow
@ 2025-07-17  1:14 ` Kacper Michajłow
  3 siblings, 0 replies; 5+ messages in thread
From: Kacper Michajłow @ 2025-07-17  1:14 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 36f7ab8c7c..ea1a426ba1 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  1:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-17  1:14 [FFmpeg-devel] [PATCH 1/5] configure: allow multiple sanitizers in --toolchain Kacper Michajłow
2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 2/5] configure: add -fno-omit-frame-pointer when sanitizers are used Kacper Michajłow
2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 3/5] configure: allow -ubsan in toolchain Kacper Michajłow
2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 4/5] configure: add -fuzz support to --toolchain Kacper Michajłow
2025-07-17  1:14 ` [FFmpeg-devel] [PATCH 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