summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2020-04-02 22:54:13 +0800
committerruki <[email protected]>2020-04-02 11:25:23 +0800
commit6e7428ce2cd5cc4ead8275b027550054d847c23f (patch)
treefa096ae1045e6efcb70d00944ddefe5878c88f56
parente502dac2f44e1b00a97caf79d8f42b292403bc87 (diff)
add ubsan mode
-rw-r--r--xmake/rules/mode/xmake.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/xmake/rules/mode/xmake.lua b/xmake/rules/mode/xmake.lua
index 9682d98f2..6dfa4b0f2 100644
--- a/xmake/rules/mode/xmake.lua
+++ b/xmake/rules/mode/xmake.lua
@@ -173,6 +173,34 @@ rule("mode.tsan")
end
end)
+-- define rule: ubsan mode
+rule("mode.ubsan")
+ after_load(function (target)
+
+ -- is ubsan mode now? xmake f -m ubsan
+ if is_mode("ubsan") then
+
+ -- enable the debug symbols
+ if not target:get("symbols") then
+ target:set("symbols", "debug")
+ end
+
+ -- enable optimization
+ if not target:get("optimize") then
+ if is_plat("android", "iphoneos") then
+ target:set("optimize", "smallest")
+ else
+ target:set("optimize", "fastest")
+ end
+ end
+
+ -- enable tsan checker
+ target:add("cxflags", "-fsanitize=undefined")
+ target:add("mxflags", "-fsanitize=undefined")
+ target:add("ldflags", "-fsanitize=undefined")
+ end
+ end)
+
-- define rule: valgrind mode
rule("mode.valgrind")
after_load(function (target)