On 29/07/2024 01.54, Richard Henderson wrote:
On 7/29/24 01:44, Akihiko Odaki wrote:
Commit 23ef50ae2d0c (".gitlab-ci.d/buildtest.yml: Use
-fno-sanitize=function in the clang-system job") adds
-fno-sanitize=function for the CI but doesn't add the flag in the
other context. Add it to meson.build for such. It is not removed from
.gitlab-ci.d/buildtest.yml because -fno-sanitize=function in meson.build
does not affect --extra-cflags due to argument ordering.

Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com>
---
Changes in v2:
- Dropped the change of: .gitlab-ci.d/buildtest.yml
- Link to v1: https://lore.kernel.org/r/20240714-function-v1-1-cc2acb417...@daynix.com
---
  meson.build                | 1 +
  .gitlab-ci.d/buildtest.yml | 1 -
  2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 5613b62a4f42..a4169c572ba9 100644
--- a/meson.build
+++ b/meson.build
@@ -609,6 +609,7 @@ if host_os != 'openbsd' and \
  endif
  qemu_common_flags += cc.get_supported_arguments(hardening_flags)
+qemu_common_flags += cc.get_supported_arguments('-fno-sanitize=function')
  add_global_arguments(qemu_common_flags, native: false, language: all_languages)   add_global_link_arguments(qemu_ldflags, native: false, language: all_languages)
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index aa327824052d..d83e50abd933 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -430,7 +430,6 @@ clang-system:
      IMAGE: fedora
      CONFIGURE_ARGS: --cc=clang --cxx=clang++
        --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
-      --extra-cflags=-fno-sanitize=function
      TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu s390x-softmmu
      MAKE_CHECK_ARGS: check-qtest check-tcg

---
base-commit: 93b799fafd9170da3a79a533ea6f73a18de82e22
change-id: 20240714-function-7d32c723abbc

Best regards,

Doesn't work, because --extra-cflags comes last and overrides it.

I think we need to drop -fsanitize=undefined from --extra-cflags as well, and use --enable-sanitizers.  I think it should be ok to leave -fno-sanitize-recover=undefined in extra.

That could be a solution, too, but I think the change in meson.build should then also be moved to the spot where -fsanitize=undefined is added.

 Thomas



Reply via email to