summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2020-04-28 19:58:59 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-04-28 19:58:59 +0000
commit0633346b691cc83f493b1edfc3acc2cddd3fe3e3 (patch)
tree0d118654d671bb36ec79c7b4254d2ff65548b14f
parentab819210a8a9fd64e17fb90a76f67fe672d94fb5 (diff)
parent16cd9c9b2015f59cc91a7a76bbd94cc46ec09c4f (diff)
downloadcuttlefish-modules-0633346b691cc83f493b1edfc3acc2cddd3fe3e3.tar.gz
Merge "ANDROID: KASAN support for cuttlefish" into android-5.4
-rw-r--r--build.config.cuttlefish.aarch64_kasan33
-rw-r--r--build.config.cuttlefish.x86_64_kasan32
2 files changed, 65 insertions, 0 deletions
diff --git a/build.config.cuttlefish.aarch64_kasan b/build.config.cuttlefish.aarch64_kasan
new file mode 100644
index 0000000..eeddeda
--- /dev/null
+++ b/build.config.cuttlefish.aarch64_kasan
@@ -0,0 +1,33 @@
+. ${ROOT_DIR}/common/build.config.common
+. ${ROOT_DIR}/common/build.config.aarch64
+. ${ROOT_DIR}/common/build.config.gki
+
+BUILD_INITRAMFS=1
+EXT_MODULES="cuttlefish-modules"
+DEFCONFIG=cf_aarch_64_gki_defconfig
+PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/common/arch/arm64/configs/${DEFCONFIG} ${ROOT_DIR}/common/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/common/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/cuttlefish-modules/cuttlefish.fragment"
+POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/common/arch/arm64/configs/${DEFCONFIG} && update_kasan_config"
+
+KERNEL_DIR=common
+function update_kasan_config() {
+ ${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \
+ -e CONFIG_KASAN \
+ -e CONFIG_KASAN_INLINE \
+ -e CONFIG_KASAN_PANIC_ON_WARN \
+ -e CONFIG_KCOV \
+ -e CONFIG_PANIC_ON_WARN_DEFAULT_ENABLE \
+ -d CONFIG_RANDOMIZE_BASE \
+ -d CONFIG_KASAN_OUTLINE \
+ --set-val CONFIG_FRAME_WARN 0 \
+ -d LTO \
+ -d LTO_CLANG \
+ -d CFI \
+ -d CFI_PERMISSIVE \
+ -d CFI_CLANG \
+ -d SHADOW_CALL_STACK
+ (cd ${OUT_DIR} && \
+ make ${CC_LD_ARG} O=${OUT_DIR} olddefconfig)
+}
+
+# Not saving any kernel images. This build step is meant purely to generate the .kos.
+FILES=""
diff --git a/build.config.cuttlefish.x86_64_kasan b/build.config.cuttlefish.x86_64_kasan
new file mode 100644
index 0000000..5c9f75b
--- /dev/null
+++ b/build.config.cuttlefish.x86_64_kasan
@@ -0,0 +1,32 @@
+. ${ROOT_DIR}/common/build.config.common
+. ${ROOT_DIR}/common/build.config.x86_64
+. ${ROOT_DIR}/common/build.config_kasan.gki
+
+BUILD_INITRAMFS=1
+DEFCONFIG=cf_x86_64_gki_defconfig
+PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/common/arch/x86/configs/${DEFCONFIG} ${ROOT_DIR}/common/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/common/arch/x86/configs/gki_defconfig ${ROOT_DIR}/cuttlefish-modules/cuttlefish.fragment"
+POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/common/arch/x86/configs/${DEFCONFIG} && update_kasan_config"
+
+KERNEL_DIR=common
+function update_kasan_config() {
+ ${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \
+ -e CONFIG_KASAN \
+ -e CONFIG_KASAN_INLINE \
+ -e CONFIG_KASAN_PANIC_ON_WARN \
+ -e CONFIG_KCOV \
+ -e CONFIG_PANIC_ON_WARN_DEFAULT_ENABLE \
+ -d CONFIG_RANDOMIZE_BASE \
+ -d CONFIG_KASAN_OUTLINE \
+ --set-val CONFIG_FRAME_WARN 0 \
+ -d LTO \
+ -d LTO_CLANG \
+ -d CFI \
+ -d CFI_PERMISSIVE \
+ -d CFI_CLANG \
+ -d SHADOW_CALL_STACK
+ (cd ${OUT_DIR} && \
+ make ${CC_LD_ARG} O=${OUT_DIR} olddefconfig)
+}
+
+# Not saving any kernel images. This build step is meant purely to generate the .kos.
+FILES=""