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 v4: - Moved -fno-sanitize=function immediately after -fsanitize=undefined - Link to v3: https://lore.kernel.org/r/20240816-function-v3-1-32ff225e5...@daynix.com Changes in v3: - I was not properly dropping the change of .gitlab-ci.d/buildtest.yml but only updated the message. v3 fixes this. (Thomas Huth) - Link to v2: https://lore.kernel.org/r/20240729-function-v2-1-2401ab18b...@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 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 5613b62a4f42..b7e50358a88a 100644 --- a/meson.build +++ b/meson.build @@ -483,8 +483,12 @@ if get_option('sanitizers') # Detect static linking issue with ubsan - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84285 if cc.links('int main(int argc, char **argv) { return argc + 1; }', args: [qemu_ldflags, '-fsanitize=undefined']) - qemu_cflags = ['-fsanitize=undefined'] + qemu_cflags - qemu_ldflags = ['-fsanitize=undefined'] + qemu_ldflags + qemu_cflags = ['-fsanitize=undefined'] + \ + cc.get_supported_arguments('-fno-sanitize=function') + \ + qemu_cflags + qemu_ldflags = ['-fsanitize=undefined'] + \ + cc.get_supported_arguments('-fno-sanitize=function') + \ + qemu_ldflags endif endif --- base-commit: 93b799fafd9170da3a79a533ea6f73a18de82e22 change-id: 20240714-function-7d32c723abbc Best regards, -- Akihiko Odaki <akihiko.od...@daynix.com>