diff options
| -rw-r--r-- | xmake/rules/platform/linux/driver/driver_modules.lua | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/xmake/rules/platform/linux/driver/driver_modules.lua b/xmake/rules/platform/linux/driver/driver_modules.lua index 52414c582..7fd4f9bcf 100644 --- a/xmake/rules/platform/linux/driver/driver_modules.lua +++ b/xmake/rules/platform/linux/driver/driver_modules.lua @@ -161,12 +161,18 @@ function load(target) target:add("cflags", "-fno-strict-overflow", "-fno-stack-check", "-fconserve-stack") -- add optional flags (fentry) - target:add("cflags", "-mfentry") - target:add("defines", "CC_USING_FENTRY") + local has_fentry = target:values("linux.driver.fentry") + if has_fentry then + target:add("cflags", "-mfentry") + target:add("defines", "CC_USING_FENTRY") + end -- add optional flags (asan) - target:add("cflags", "-fsanitize=kernel-address", "-fasan-shadow-offset=0xdffffc0000000000", "-fsanitize-coverage=trace-pc", "-fsanitize-coverage=trace-cmp") - target:add("cflags", "--param asan-globals=1", "--param asan-instrumentation-with-call-threshold=0", "--param asan-stack=1", "--param asan-instrument-allocas=1") + local has_asan = target:values("linux.driver.asan") + if has_asan then + target:add("cflags", "-fsanitize=kernel-address", "-fasan-shadow-offset=0xdffffc0000000000", "-fsanitize-coverage=trace-pc", "-fsanitize-coverage=trace-cmp") + target:add("cflags", "--param asan-globals=1", "--param asan-instrumentation-with-call-threshold=0", "--param asan-stack=1", "--param asan-instrument-allocas=1") + end end function link(target, opt) |
