summaryrefslogtreecommitdiff
path: root/xmake/rules/platform/linux/driver/driver_modules.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/rules/platform/linux/driver/driver_modules.lua')
-rw-r--r--xmake/rules/platform/linux/driver/driver_modules.lua14
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)