From f6a2a9d3cbbe4e1d7748ca91dc4fb7fcf2c4af54 Mon Sep 17 00:00:00 2001 From: ruki Date: Sat, 11 Dec 2021 10:56:16 +0800 Subject: improve driver config --- xmake/rules/platform/linux/driver/driver_modules.lua | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'xmake/rules/platform/linux/driver/driver_modules.lua') 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) -- cgit v1.3.1