diff options
| author | ruki <[email protected]> | 2020-04-02 22:54:13 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-04-02 11:25:23 +0800 |
| commit | 6e7428ce2cd5cc4ead8275b027550054d847c23f (patch) | |
| tree | fa096ae1045e6efcb70d00944ddefe5878c88f56 | |
| parent | e502dac2f44e1b00a97caf79d8f42b292403bc87 (diff) | |
add ubsan mode
| -rw-r--r-- | xmake/rules/mode/xmake.lua | 28 |
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) |
