]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Meson: Cleanup sanitizer modules
authorFred Morcos <fred.morcos@open-xchange.com>
Wed, 16 Aug 2023 13:27:43 +0000 (15:27 +0200)
committerFred Morcos <fred.morcos@open-xchange.com>
Wed, 20 Mar 2024 12:28:42 +0000 (13:28 +0100)
meson/sanitizers/address-sanitizer-fiber-switching/meson.build
meson/sanitizers/address-sanitizer-fiber-switching/sanitizer_finish_switch_fiber_1ptr.cc [new file with mode: 0644]
meson/sanitizers/address-sanitizer-fiber-switching/sanitizer_finish_switch_fiber_3ptrs.cc [new file with mode: 0644]
meson/sanitizers/meson.build

index 35cbb31999467a5e4e33202b19fbc23827190dbb..2cd80780db45b95584f2cd920c41c20bed5873c4 100644 (file)
@@ -1,23 +1,5 @@
-# Address Sanitizer Fiber Switching
-# Inputs: conf
-
-prog_single_pointer = '''
-#include <sanitizer/common_interface_defs.h>
-
-int main() {
-  __sanitizer_finish_switch_fiber(nullptr);
-  return 0;
-}
-'''
-
-prog_three_pointers = '''
-#include <sanitizer/common_interface_defs.h>
-
-int main() {
-  __sanitizer_finish_switch_fiber(nullptr, nullptr, nullptr);
-  return 0;
-}
-'''
+prog_single_pointer = fs.read('sanitizer_finish_switch_fiber_1ptr.cc')
+prog_three_pointers = fs.read('sanitizer_finish_switch_fiber_3ptrs.cc')
 
 single_pointer = false
 three_pointers = false
@@ -36,13 +18,27 @@ if cxx.check_header('sanitizer/common_interface_defs.h', required: false)
   endif
 
 else
-  warning('Address Sanitizer requested but `sanitizer/common_interface_defs.h` is invalid or cannot be found. Address Sanitizer fiber switching is not available')
+  warning('Address Sanitizer requested but `sanitizer/common_interface_defs.h` ' +
+          'is invalid or cannot be found. Address Sanitizer fiber switching is ' +
+          'not available')
 endif
 
 if not single_pointer and not three_pointers
   warning('Address Sanitizer fiber switching is not available due to an unknown API version')
 endif
 
-conf.set10('HAVE_FIBER_SANITIZER', single_pointer or three_pointers, description: 'Address Sanitizer fiber annotation interface is available')
-conf.set10('HAVE_SANITIZER_FINISH_SWITCH_FIBER_SINGLE_PTR', single_pointer, description: 'Address Sanitizer: __sanitizer_finish_switch_fiber takes only a pointer')
-conf.set10('HAVE_SANITIZER_FINISH_SWITCH_FIBER_THREE_PTRS', three_pointers, description: 'Address Sanitizer: __sanitizer_finish_switch_fiber takes three pointers')
+conf.set(
+  'HAVE_FIBER_SANITIZER',
+  single_pointer or three_pointers,
+  description: 'Address Sanitizer fiber annotation interface is available',
+)
+conf.set(
+  'HAVE_SANITIZER_FINISH_SWITCH_FIBER_SINGLE_PTR',
+  single_pointer,
+  description: 'Address Sanitizer: __sanitizer_finish_switch_fiber takes only a pointer',
+)
+conf.set(
+  'HAVE_SANITIZER_FINISH_SWITCH_FIBER_THREE_PTRS',
+  three_pointers,
+  description: 'Address Sanitizer: __sanitizer_finish_switch_fiber takes three pointers',
+)
diff --git a/meson/sanitizers/address-sanitizer-fiber-switching/sanitizer_finish_switch_fiber_1ptr.cc b/meson/sanitizers/address-sanitizer-fiber-switching/sanitizer_finish_switch_fiber_1ptr.cc
new file mode 100644 (file)
index 0000000..029b46d
--- /dev/null
@@ -0,0 +1,6 @@
+#include <sanitizer/common_interface_defs.h>
+
+int main() {
+  __sanitizer_finish_switch_fiber(nullptr);
+  return 0;
+}
diff --git a/meson/sanitizers/address-sanitizer-fiber-switching/sanitizer_finish_switch_fiber_3ptrs.cc b/meson/sanitizers/address-sanitizer-fiber-switching/sanitizer_finish_switch_fiber_3ptrs.cc
new file mode 100644 (file)
index 0000000..fae9756
--- /dev/null
@@ -0,0 +1,6 @@
+#include <sanitizer/common_interface_defs.h>
+
+int main() {
+  __sanitizer_finish_switch_fiber(nullptr, nullptr, nullptr);
+  return 0;
+}
index b207ccf03253ce896e64f0846099b864d37850f2..052a7b51576591aa0a1b89e6956ee5412305d4b4 100644 (file)
@@ -1,12 +1,10 @@
-# Sanitizers
-
 opt_sanitize = get_option('b_sanitize')
 
 if opt_sanitize == 'address' or opt_sanitize == 'address,undefined'
   subdir('address-sanitizer-fiber-switching')
 endif
 
-if opt_sanitize != 'none'
+if opt_sanitize != '' and opt_sanitize != 'none'
   add_global_arguments('-fno-omit-frame-pointer', language: ['c', 'cpp'])
 endif