diff --git a/device/linux-amazon-thor/APKBUILD b/device/linux-amazon-thor/APKBUILD
index 76dbf51609e4d84eaf0fa3796b385c4adcf5ad2f..9cdccd3d7d0c640a9d1b3229c9ada70dc45ea0f3 100755
--- a/device/linux-amazon-thor/APKBUILD
+++ b/device/linux-amazon-thor/APKBUILD
@@ -10,9 +10,16 @@ _flavor="amazon-thor"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="kernel_phoenix_hdx-common"
diff --git a/device/linux-asus-duma/APKBUILD b/device/linux-asus-duma/APKBUILD
index c6735f888900730ae899d4676fe28cf6bc522b6c..b91190f683d614104951640d0dc12fbb4a902fc4 100644
--- a/device/linux-asus-duma/APKBUILD
+++ b/device/linux-asus-duma/APKBUILD
@@ -10,9 +10,16 @@ _flavor="asus-duma"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="ElementalX-Kernel-for-ME302KL"
diff --git a/device/linux-asus-flo/APKBUILD b/device/linux-asus-flo/APKBUILD
index 86671e395a0870bff7cfdf3ce221109a218f001e..645a6ecd5870016e97d40fe5f4ebb20b480ca247 100644
--- a/device/linux-asus-flo/APKBUILD
+++ b/device/linux-asus-flo/APKBUILD
@@ -31,8 +31,11 @@ subpackages=""
 license="GPL2"
 _abi_release=${pkgver}
 _carch="arm"
+
+# Compiler: latest GCC from Alpine
 HOSTCC="${CC:-gcc}"
 HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
 ksrcdir="$srcdir/linux-$pkgver"
 
 prepare() {
diff --git a/device/linux-asus-grouper/APKBUILD b/device/linux-asus-grouper/APKBUILD
index a0c0d4382bad86e7eaeefd57955365f18c293337..adff04f140e996dcffd6ba82e0eb3b46c970e6e3 100644
--- a/device/linux-asus-grouper/APKBUILD
+++ b/device/linux-asus-grouper/APKBUILD
@@ -26,7 +26,7 @@ arch="armhf"
 pkgdesc="Nexus 7 (2012) kernel from LineageOS"
 url="https://github.com/LineageOS/android_kernel_asus_grouper"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -40,10 +40,16 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
 
-#ksrcdir="$srcdir/${_vendor}-kernel-grouper-${_hash}"
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
+
 ksrcdir="$srcdir/android_kernel_asus_grouper-${_hash}"
 
 prepare() {
diff --git a/device/linux-asus-t00f/APKBUILD b/device/linux-asus-t00f/APKBUILD
index a4dea7200d4d2648dea5c1c330355759b91d35a4..7c8e5ccebb2c13643c1c926803d64eca8f15ce7b 100644
--- a/device/linux-asus-t00f/APKBUILD
+++ b/device/linux-asus-t00f/APKBUILD
@@ -10,9 +10,16 @@ _flavor="asus-t00f"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_asus_T00F"
diff --git a/device/linux-asus-tf101/APKBUILD b/device/linux-asus-tf101/APKBUILD
index 6f7ebf95e88fb11e1582ed5692ee0ca7028e2a3a..bd20ce12bc036d0f19f0b0735587151e32963d20 100644
--- a/device/linux-asus-tf101/APKBUILD
+++ b/device/linux-asus-tf101/APKBUILD
@@ -10,9 +10,16 @@ _flavor="asus-tf101"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="TF101-GNU-kernel"
diff --git a/device/linux-asus-z00t/APKBUILD b/device/linux-asus-z00t/APKBUILD
index 2f1696e0da9927ccb25fc1d2018234e308d9bced..893b31e4df22e9b4dc276a15477f8031fa7d877c 100644
--- a/device/linux-asus-z00t/APKBUILD
+++ b/device/linux-asus-z00t/APKBUILD
@@ -10,9 +10,16 @@ _flavor="asus-z00t"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_asus_msm8916"
diff --git a/device/linux-bq-chaozu/APKBUILD b/device/linux-bq-chaozu/APKBUILD
index b2d4c7f0d51622d63f4706e57879caeae4bda97f..58a7a840ea4018073735b32072feda95e6e58cdd 100644
--- a/device/linux-bq-chaozu/APKBUILD
+++ b/device/linux-bq-chaozu/APKBUILD
@@ -10,9 +10,16 @@ _flavor="bq-chaozu"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_bq_msm8937"
diff --git a/device/linux-fairphone-fp2/APKBUILD b/device/linux-fairphone-fp2/APKBUILD
index 317bbfe82a13630268c59afb69bcd7b5f2d67165..173c4f491b060ddae8bcaa3097b1e48957fe1859 100644
--- a/device/linux-fairphone-fp2/APKBUILD
+++ b/device/linux-fairphone-fp2/APKBUILD
@@ -10,9 +10,16 @@ _flavor="fairphone-fp2"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev dtbtool xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev dtbtool xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_fairphone_msm8974"
diff --git a/device/linux-google-glass/APKBUILD b/device/linux-google-glass/APKBUILD
index 49c82a875717a40cc936a07c7e82f63fab1e9b98..9e0ce5b47fc9352dee4982115ebbc6472d69ac22 100644
--- a/device/linux-google-glass/APKBUILD
+++ b/device/linux-google-glass/APKBUILD
@@ -10,9 +10,16 @@ _flavor="google-glass"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="factory-kernel"
diff --git a/device/linux-gp-peak/APKBUILD b/device/linux-gp-peak/APKBUILD
index 3a5c14afeba4e00a9aab25ddcdde9d8b3a580367..d822a4f801c86b1d0e2ac48bbb695fa26e77b9a8 100644
--- a/device/linux-gp-peak/APKBUILD
+++ b/device/linux-gp-peak/APKBUILD
@@ -10,9 +10,16 @@ _flavor="gp-peak"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="gp-peak-kernel"
diff --git a/device/linux-htc-a5ul/APKBUILD b/device/linux-htc-a5ul/APKBUILD
index 86d5bb85809146f9b19fc9f69fad0c5ba1dfc519..f4bceb88f25758f5e82201dc27180304f65a2fc1 100644
--- a/device/linux-htc-a5ul/APKBUILD
+++ b/device/linux-htc-a5ul/APKBUILD
@@ -10,9 +10,16 @@ _flavor="htc-a5ul"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev lz4 dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev lz4 dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_htc_msm8974"
diff --git a/device/linux-htc-ace/APKBUILD b/device/linux-htc-ace/APKBUILD
index 87540901792b300b14722955c3c332dafa098745..3a2ac0959fea0280a8e8decb63436e9adf2d3ad7 100644
--- a/device/linux-htc-ace/APKBUILD
+++ b/device/linux-htc-ace/APKBUILD
@@ -25,7 +25,7 @@ arch="armhf"
 pkgdesc="HTC Desire kernel from OpenDesireProject"
 url="https://github.com/OpenDesireProject/android_kernel_htc_msm7x30"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -39,8 +39,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_htc_msm7x30-${_hash}"
 
diff --git a/device/linux-htc-bravo/APKBUILD b/device/linux-htc-bravo/APKBUILD
index cbdee319e9206546d197471424583a2c2d9b4ee2..d6527713eb06a712ed2620b710c656e62c66d7ce 100644
--- a/device/linux-htc-bravo/APKBUILD
+++ b/device/linux-htc-bravo/APKBUILD
@@ -10,9 +10,16 @@ _flavor="htc-bravo"
 url="https://github.com/spezi77/android_kernel_htc_qsd8k_3.0"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_htc_qsd8k_3.0"
diff --git a/device/linux-htc-flounder/APKBUILD b/device/linux-htc-flounder/APKBUILD
index 9aff8ab0b5b435770db3e86667597a9e68cb5878..97bf55c8011f34ecbd192baf5e3c1215f8f2857b 100644
--- a/device/linux-htc-flounder/APKBUILD
+++ b/device/linux-htc-flounder/APKBUILD
@@ -10,9 +10,16 @@ _flavor="htc-flounder"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_htc_flounder"
diff --git a/device/linux-htc-m8/APKBUILD b/device/linux-htc-m8/APKBUILD
index c02830c7286014dd19fc615ef6bed12ed3c39cb8..c53703817496c32420a4fc2eef20539b268d7cf4 100644
--- a/device/linux-htc-m8/APKBUILD
+++ b/device/linux-htc-m8/APKBUILD
@@ -10,9 +10,16 @@ _flavor="htc-m8"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_htc_msm8974"
diff --git a/device/linux-htc-vivo/APKBUILD b/device/linux-htc-vivo/APKBUILD
index 041534f6d07e920ab8c11ce674672d6bf47a6962..732e279798ec4dd399ef4ed744682b38c24c43d9 100644
--- a/device/linux-htc-vivo/APKBUILD
+++ b/device/linux-htc-vivo/APKBUILD
@@ -10,9 +10,16 @@ _flavor="htc-vivo"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="T.E.S.C.O-kernel_vivo"
diff --git a/device/linux-huawei-angler/APKBUILD b/device/linux-huawei-angler/APKBUILD
index 0d203cf480fe0e689983076b5c6a845eec7c46e9..13b95781976cfbc17c297b75fbbbdb3586eb0a2c 100644
--- a/device/linux-huawei-angler/APKBUILD
+++ b/device/linux-huawei-angler/APKBUILD
@@ -26,7 +26,7 @@ arch="aarch64"
 pkgdesc="LineageOS kernel for Nexus 6P Angler"
 url="https://github.com/LineageOS/android_kernel_huawei_angler"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev python2"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev python2 gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -40,8 +40,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm64"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_huawei_angler-${_hash}"
 
diff --git a/device/linux-huawei-y530/APKBUILD b/device/linux-huawei-y530/APKBUILD
index b5a4d5a1e0311fda906e1b36cb66a81383c005b9..666d2d4ef52809485319ee5097ce61766bd93e77 100644
--- a/device/linux-huawei-y530/APKBUILD
+++ b/device/linux-huawei-y530/APKBUILD
@@ -10,9 +10,16 @@ _flavor="huawei-y530"
 url="https://github.com/PieroV/android_kernel_huawei_msm8x1x"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_huawei_msm8x1x"
diff --git a/device/linux-infocus-flatfish/APKBUILD b/device/linux-infocus-flatfish/APKBUILD
index ea610ef539e7f1c2c9df6fcd8dc4c57a78085d21..b040f788cc0cf9ecbea2ea12e09a1282f71bd6b9 100644
--- a/device/linux-infocus-flatfish/APKBUILD
+++ b/device/linux-infocus-flatfish/APKBUILD
@@ -10,9 +10,16 @@ _flavor="infocus-flatfish"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="kernel_flatfish"
diff --git a/device/linux-jolla-sbj/APKBUILD b/device/linux-jolla-sbj/APKBUILD
index 4d82918f687721136ea71c515f2a0bbc341acb53..a02570440ab7ea109e60e1dfcff9ca3f123bcfa2 100644
--- a/device/linux-jolla-sbj/APKBUILD
+++ b/device/linux-jolla-sbj/APKBUILD
@@ -10,9 +10,16 @@ _flavor="jolla-sbj"
 url="http://releases.sailfishos.org/sources/2.1.0.11/"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _hash="2.1.0.11"
diff --git a/device/linux-leeco-s2/APKBUILD b/device/linux-leeco-s2/APKBUILD
index 100e3f1785b7bda54465a1a53c7ef6534413dea4..7ca5e4999c050b5a91c8f30e4002de5f89b61f8d 100644
--- a/device/linux-leeco-s2/APKBUILD
+++ b/device/linux-leeco-s2/APKBUILD
@@ -10,9 +10,17 @@ _flavor="leeco-s2"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev git python2"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev git python2 gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
+
 # Source
 _repository="overload1"
 _commit="b3650e93fec05cfe6ecf1fe80383bcff979463a0"
diff --git a/device/linux-lenovo-karate/APKBUILD b/device/linux-lenovo-karate/APKBUILD
index 2bf2860ff62ceb6cd275c57f69389ad3925bd0a4..12e2535eb318d398521f5c84d27aa31dfc06722f 100644
--- a/device/linux-lenovo-karate/APKBUILD
+++ b/device/linux-lenovo-karate/APKBUILD
@@ -10,9 +10,16 @@ _flavor="lenovo-karate"
 url="https://github.com/karthick111/android_kernel_lenovo_msm8937"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_lenovo_msm8937"
diff --git a/device/linux-lg-bullhead/APKBUILD b/device/linux-lg-bullhead/APKBUILD
index 66ecae057e3ef5e5b85eab08bda7de83c6ee4dc3..ece6ffc92d4e07a61a517bc10e4f7d2c336175b0 100644
--- a/device/linux-lg-bullhead/APKBUILD
+++ b/device/linux-lg-bullhead/APKBUILD
@@ -10,9 +10,16 @@ _flavor="lg-bullhead"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="bullhead"
diff --git a/device/linux-lg-d285/APKBUILD b/device/linux-lg-d285/APKBUILD
index 5e476add85a5f6614cb2f2aa36990e4255e3477b..c79db457a7ac4c525795204dac37d766f456b2e0 100644
--- a/device/linux-lg-d285/APKBUILD
+++ b/device/linux-lg-d285/APKBUILD
@@ -20,7 +20,7 @@ arch="armhf"
 pkgdesc="LineageOS kernel for LG L65"
 url="https://github.com/LineageOS/android_kernel_lge_msm8226"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev python2"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev python2 gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -36,8 +36,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_lge_msm8226-${_hash}"
 
diff --git a/device/linux-lg-d855/APKBUILD b/device/linux-lg-d855/APKBUILD
index 945b4e552cc4e7c125e5e313821c2b87e9ae1d16..4241ae9e47f7d1fac59ae204f7f40e89d4b49d63 100644
--- a/device/linux-lg-d855/APKBUILD
+++ b/device/linux-lg-d855/APKBUILD
@@ -26,7 +26,7 @@ arch="armhf"
 pkgdesc="LG G3 kernel from LineageOS"
 url="https://github.com/LineageOS/android_kernel_lge_g3"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -40,8 +40,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_${_vendor}_g3-${_hash}"
 
diff --git a/device/linux-lg-dory/APKBUILD b/device/linux-lg-dory/APKBUILD
index df5b7a9c44974bae99148044ff38e3af76a60e90..ca0d0fc75c54a1440f107aaa598753c1d1ba1af2 100644
--- a/device/linux-lg-dory/APKBUILD
+++ b/device/linux-lg-dory/APKBUILD
@@ -26,7 +26,7 @@ arch="armhf"
 pkgdesc="Kernel for LG G Watch"
 url="https://android.googlesource.com/kernel/msm/+/android-msm-dory-3.10-marshmallow-mr1-wear-release"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -43,8 +43,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 builddir="$srcdir/kernel_msm-${_hash}"
 
diff --git a/device/linux-lg-h815/APKBUILD b/device/linux-lg-h815/APKBUILD
index 1c521762a90f086761deb7a4a8206a154e389ea6..3dffdc9fd56453b794119fd7678b110186318cbd 100644
--- a/device/linux-lg-h815/APKBUILD
+++ b/device/linux-lg-h815/APKBUILD
@@ -10,9 +10,16 @@ _flavor="lg-h815"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_lge_msm8992"
diff --git a/device/linux-lg-lenok/APKBUILD b/device/linux-lg-lenok/APKBUILD
index 9f862d09c8b09e7da959e1dc4ff0e86d1197faea..7670770767f8e4c3b2c591eace6ce93083d1b101 100644
--- a/device/linux-lg-lenok/APKBUILD
+++ b/device/linux-lg-lenok/APKBUILD
@@ -28,7 +28,7 @@ arch="armhf"
 pkgdesc="G Watch R kernel"
 url="https://github.com/Tsunamical/kernel_lge_bass-lenok"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -42,8 +42,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/kernel_lge_bass-lenok-${_hash}"
 
diff --git a/device/linux-lg-mako/APKBUILD b/device/linux-lg-mako/APKBUILD
index e2330abbc28aa48576b012f4dd4501b184be181e..6666bab7303d0b84e21772e4929e1e4330ff1b7c 100644
--- a/device/linux-lg-mako/APKBUILD
+++ b/device/linux-lg-mako/APKBUILD
@@ -10,9 +10,16 @@ _flavor="lg-mako"
 url="https://github.com/LineageOS/lge-kernel-mako"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="lge-kernel-mako"
diff --git a/device/linux-lg-w5/APKBUILD b/device/linux-lg-w5/APKBUILD
index 82f759a70a823725cc9bf7ac0f7efb6c7faf33fe..7d8909de76cdfab589c54b309482a52d7dd0868c 100644
--- a/device/linux-lg-w5/APKBUILD
+++ b/device/linux-lg-w5/APKBUILD
@@ -10,9 +10,16 @@ _flavor="lg-w5"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_lge_msm8226"
diff --git a/device/linux-motorola-athene/APKBUILD b/device/linux-motorola-athene/APKBUILD
index a878d297c4862fc01afc600e1572f2a04e14a34c..2d35a9466f6c17fba19140e1f1be8eff238a4e9d 100644
--- a/device/linux-motorola-athene/APKBUILD
+++ b/device/linux-motorola-athene/APKBUILD
@@ -10,9 +10,16 @@ _flavor="motorola-athene"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_motorola_msm8952"
diff --git a/device/linux-motorola-falcon/APKBUILD b/device/linux-motorola-falcon/APKBUILD
index 6ac785ba7863ef9274188bbb0012087810bc4efb..0f89d0558f895f34ee04cf583cc73a7a316916fa 100644
--- a/device/linux-motorola-falcon/APKBUILD
+++ b/device/linux-motorola-falcon/APKBUILD
@@ -11,9 +11,16 @@ url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
 depends="libsparse"
-makedepends="coreutils perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="coreutils perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_motorola_msm8226"
diff --git a/device/linux-motorola-ghost/APKBUILD b/device/linux-motorola-ghost/APKBUILD
index 39036afd65da9434b14470804e7184a677d9b27f..7980322ba33c310f32a9138eddca99dfb8143187 100644
--- a/device/linux-motorola-ghost/APKBUILD
+++ b/device/linux-motorola-ghost/APKBUILD
@@ -10,9 +10,16 @@ _flavor="motorola-ghost"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev coreutils xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev coreutils xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_motorola_ghost"
diff --git a/device/linux-motorola-harpia/APKBUILD b/device/linux-motorola-harpia/APKBUILD
index bd86677f5a95a52b75c72c99375c00052c02bc29..298a1988be4fb1bf074075cb451ba67e61aa2327 100644
--- a/device/linux-motorola-harpia/APKBUILD
+++ b/device/linux-motorola-harpia/APKBUILD
@@ -10,9 +10,16 @@ _flavor="motorola-harpia"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_motorola_msm8916"
diff --git a/device/linux-motorola-maserati/APKBUILD b/device/linux-motorola-maserati/APKBUILD
index 46f28a1a5e9ab826c519de5d89df763eec52724d..6cd1ee52c840507c5f0b4839ba915cff3bbfde77 100644
--- a/device/linux-motorola-maserati/APKBUILD
+++ b/device/linux-motorola-maserati/APKBUILD
@@ -10,9 +10,16 @@ _flavor="motorola-maserati"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_motorola_omap4-common"
diff --git a/device/linux-motorola-osprey/APKBUILD b/device/linux-motorola-osprey/APKBUILD
index 1f3487a3d7ed95bfeb2b731ddb36b2f321a433c8..a60855f82c4f8053acbd14af3cc3e4d0971edd83 100644
--- a/device/linux-motorola-osprey/APKBUILD
+++ b/device/linux-motorola-osprey/APKBUILD
@@ -14,7 +14,7 @@ arch="armhf"
 pkgdesc="Moto G (2015) kernel from LineageOS"
 url="https://github.com/LineageOS/android_kernel_motorola_msm8916"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -29,8 +29,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_${_vendor}_msm8916-${_hash}"
 
diff --git a/device/linux-motorola-peregrine/APKBUILD b/device/linux-motorola-peregrine/APKBUILD
index 90ebf436920ac2c7e5fd33745e86f808f889dc3d..50af15dfa0817a8746ef311c5d99df6801bec588 100644
--- a/device/linux-motorola-peregrine/APKBUILD
+++ b/device/linux-motorola-peregrine/APKBUILD
@@ -11,9 +11,16 @@ url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
 depends="libsparse"
-makedepends="coreutils perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="coreutils perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_motorola_msm8226"
diff --git a/device/linux-motorola-potter/APKBUILD b/device/linux-motorola-potter/APKBUILD
index b20f37babc76addd35cd273a05fb76b7fe47f705..95b02f279952cd9ab528a8284011f7a8370559d0 100644
--- a/device/linux-motorola-potter/APKBUILD
+++ b/device/linux-motorola-potter/APKBUILD
@@ -10,9 +10,16 @@ _flavor="motorola-potter"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_motorola_msm8953"
diff --git a/device/linux-motorola-shamu/APKBUILD b/device/linux-motorola-shamu/APKBUILD
index 18e4b03528bb4a8e54698ceedb0bb963e8b554ef..4717d79a430fa80a37c85c80f291b77f11c9624d 100644
--- a/device/linux-motorola-shamu/APKBUILD
+++ b/device/linux-motorola-shamu/APKBUILD
@@ -10,9 +10,16 @@ _flavor="motorola-shamu"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_moto_shamu"
diff --git a/device/linux-motorola-titan/APKBUILD b/device/linux-motorola-titan/APKBUILD
index cc48a1cd93784e3e5674d9ce94f2a7561be76c02..108a07a73482b6b29d57279264cf5f5118e86f22 100644
--- a/device/linux-motorola-titan/APKBUILD
+++ b/device/linux-motorola-titan/APKBUILD
@@ -30,7 +30,7 @@ arch="armhf"
 pkgdesc="Motorola Moto G 2014 kernel from LineageOS"
 url="https://github.com/LineageOS/android_kernel_motorola_msm8226"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -47,8 +47,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_motorola_msm8226-${_hash}"
 
diff --git a/device/linux-nextbit-robin/APKBUILD b/device/linux-nextbit-robin/APKBUILD
index d081aec28aad8f2a5ab9c5a30bf93b6cd5bf583e..2f836abe6e6200a55fc1cb0d404c48cb75c8449c 100644
--- a/device/linux-nextbit-robin/APKBUILD
+++ b/device/linux-nextbit-robin/APKBUILD
@@ -10,9 +10,16 @@ _flavor="nextbit-robin"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_nextbit_msm8992"
diff --git a/device/linux-nokia-n9/APKBUILD b/device/linux-nokia-n9/APKBUILD
index f0c5be1efa73c35a8a8be205a1c6bcefc992e3e0..e15f818c06c3decf0a23bae356292c8774ccd2b4 100644
--- a/device/linux-nokia-n9/APKBUILD
+++ b/device/linux-nokia-n9/APKBUILD
@@ -41,6 +41,8 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
+
+# Compiler: latest GCC from Alpine
 HOSTCC="${CC:-gcc}"
 HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
 
diff --git a/device/linux-nokia-rm885/APKBUILD b/device/linux-nokia-rm885/APKBUILD
index 7d8abf1b00f38ad3ee43e0829cc88c42a06962a7..1215a7baa717b1ba6a20293e6b165607ab44c0ea 100644
--- a/device/linux-nokia-rm885/APKBUILD
+++ b/device/linux-nokia-rm885/APKBUILD
@@ -10,9 +10,16 @@ _flavor="nokia-rm885"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_nokia_msm8x27"
diff --git a/device/linux-oneplus-bacon/APKBUILD b/device/linux-oneplus-bacon/APKBUILD
index 162b2ce90d8eb5a25be392b053286fcc95b94376..8209591f5ceb00829414248fa9411c11be130470 100644
--- a/device/linux-oneplus-bacon/APKBUILD
+++ b/device/linux-oneplus-bacon/APKBUILD
@@ -27,7 +27,7 @@ arch="armhf"
 pkgdesc="LineageOS 14.1 kernel for OnePlus One (bacon)"
 url="https://github.com/LineageOS/android_kernel_oneplus_msm8974"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev python2 xz dtbtool"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev python2 xz dtbtool gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -41,8 +41,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_oneplus_msm8974-${_version}"
 
diff --git a/device/linux-oneplus-oneplus2/APKBUILD b/device/linux-oneplus-oneplus2/APKBUILD
index a297a726d57a12ddb9bb6d5b1568709aca6eec8d..82aacb32dd5f46ee5de5d84656a12eedc7b77a0f 100644
--- a/device/linux-oneplus-oneplus2/APKBUILD
+++ b/device/linux-oneplus-oneplus2/APKBUILD
@@ -10,9 +10,16 @@ _flavor="oneplus-oneplus2"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_oneplus_msm8994"
diff --git a/device/linux-oneplus-onyx/APKBUILD b/device/linux-oneplus-onyx/APKBUILD
index 8022c8b1fc2fc0e3a01fe1ad49484c77a75d5910..452df5476ff69bc224f8c654f61c117ceff72467 100644
--- a/device/linux-oneplus-onyx/APKBUILD
+++ b/device/linux-oneplus-onyx/APKBUILD
@@ -37,7 +37,7 @@ arch="armhf"
 pkgdesc="LineageOS 14.1 kernel for OnePlus X (onyx)"
 url="https://github.com/LineageOS/android_kernel_oneplus_onyx"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev python2 xz dtbtool"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev python2 xz dtbtool gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -56,8 +56,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs.
+# See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_oneplus_onyx-${_version}"
 
diff --git a/device/linux-samsung-espresso10/APKBUILD b/device/linux-samsung-espresso10/APKBUILD
index 559fb8fea0715394178d31620a2952cb1f3ff4de..5c49282ddbbcbeb20e13e9cdb04ae341de649f16 100644
--- a/device/linux-samsung-espresso10/APKBUILD
+++ b/device/linux-samsung-espresso10/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-espresso10"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source - Use unlegacy kernel
 _repository="android_kernel_samsung_espresso"
diff --git a/device/linux-samsung-gts210vewifi/APKBUILD b/device/linux-samsung-gts210vewifi/APKBUILD
index 36aae501c77806bd31af7787b4851341fb1b2cdf..133580bf876a214ff974903047caeed9bb648c92 100644
--- a/device/linux-samsung-gts210vewifi/APKBUILD
+++ b/device/linux-samsung-gts210vewifi/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-gts210vewifi"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 # gts210vewifi uses msm8976 kernel
diff --git a/device/linux-samsung-i747m/APKBUILD b/device/linux-samsung-i747m/APKBUILD
index 671d2763152861d2cab93bd3bd76ded9cf63b115..e54e11b306ea64c861eb8f30b61d564511f2ec70 100644
--- a/device/linux-samsung-i747m/APKBUILD
+++ b/device/linux-samsung-i747m/APKBUILD
@@ -16,9 +16,16 @@ _flavor="samsung-i747m"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers xz elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers xz elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_samsung_d2"
diff --git a/device/linux-samsung-i8190/APKBUILD b/device/linux-samsung-i8190/APKBUILD
index 7167ae1f99d6c4446037eb445e9cb3dbb8b452ce..71cf89f2c89dfb91ad5a75aecc344cdec937d6bb 100644
--- a/device/linux-samsung-i8190/APKBUILD
+++ b/device/linux-samsung-i8190/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-i8190"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_samsung_golden"
diff --git a/device/linux-samsung-i8200/APKBUILD b/device/linux-samsung-i8200/APKBUILD
index 7a0a79aca76878dc15472fa889746d58644f8f33..5f34c1aaa8040b7c8d41c08201009065afff7c7f 100644
--- a/device/linux-samsung-i8200/APKBUILD
+++ b/device/linux-samsung-i8200/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-i8200"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="kernel_i8200"
diff --git a/device/linux-samsung-i9003/APKBUILD b/device/linux-samsung-i9003/APKBUILD
index 553196f9ecad49cc8c12704b27f71218dcbcc05a..571a46c95087e0855514e8b40d2af46c5499d529 100644
--- a/device/linux-samsung-i9003/APKBUILD
+++ b/device/linux-samsung-i9003/APKBUILD
@@ -30,7 +30,7 @@ pkgdesc="Samsung Galaxy SI SLC kernel"
 url="https://github.com/dhiru1602/android_kernel_samsung_latona"
 depends=""
 makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev
-findutils busybox-static-armhf"
+findutils busybox-static-armhf gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -48,8 +48,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_samsung_latona-${_hash}"
 
diff --git a/device/linux-samsung-i9070/APKBUILD b/device/linux-samsung-i9070/APKBUILD
index 026832e1481ddf1dd74d79341e89b652f1f344e3..628ea26d18ebe976c49c8d2d7a5ade8b6988df55 100644
--- a/device/linux-samsung-i9070/APKBUILD
+++ b/device/linux-samsung-i9070/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-i9070"
 url="https://github.com/Epirex/Samsung_STE_Kernel"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev busybox-static-armhf"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev busybox-static-armhf gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="Samsung_STE_Kernel"
diff --git a/device/linux-samsung-i9100/APKBUILD b/device/linux-samsung-i9100/APKBUILD
index 11331b1988eff6d85585dab1a40f711f29d94662..4e279eb334bc25d4f766adc9cf0e762893aadc48 100644
--- a/device/linux-samsung-i9100/APKBUILD
+++ b/device/linux-samsung-i9100/APKBUILD
@@ -31,7 +31,7 @@ pkgdesc="Samsung Galaxy SII kernel from LineageOS"
 url="https://github.com/LineageOS/android_kernel_samsung_smdk4412"
 depends=""
 makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev
-findutils busybox-static-armhf"
+findutils busybox-static-armhf gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -45,8 +45,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_samsung_smdk4412-${_hash}"
 
diff --git a/device/linux-samsung-i9195/APKBUILD b/device/linux-samsung-i9195/APKBUILD
index ce09b38cb0dec54bf79bbf1df93a2999d93e7987..eb251df0c9dbcc121abbefd0c97eaceedbe68723 100644
--- a/device/linux-samsung-i9195/APKBUILD
+++ b/device/linux-samsung-i9195/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-i9195"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_samsung_msm8930-common"
diff --git a/device/linux-samsung-i9305/APKBUILD b/device/linux-samsung-i9305/APKBUILD
index ddde9413be7f0cb102693500cff2f467f3a048ec..3d8480ec7d33e9b4e3d8d2e4c1e1c5e3c0c57b86 100644
--- a/device/linux-samsung-i9305/APKBUILD
+++ b/device/linux-samsung-i9305/APKBUILD
@@ -28,7 +28,7 @@ arch="armhf"
 pkgdesc="Samsung Galaxy SIII LTE kernel from LineageOS"
 url="https://github.com/LineageOS/android_kernel_samsung_smdk4412"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz busybox-static-armhf"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz busybox-static-armhf gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -41,8 +41,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_${_vendor}_smdk4412-${_hash}"
 
diff --git a/device/linux-samsung-jflte/APKBUILD b/device/linux-samsung-jflte/APKBUILD
index a29a1f6bac6d723e38c7807a50a5a399707e4b2d..164767c8112a6a627a6516d4402cfcfab4a6c639 100644
--- a/device/linux-samsung-jflte/APKBUILD
+++ b/device/linux-samsung-jflte/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-jflte"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_samsung_jf"
diff --git a/device/linux-samsung-klte/APKBUILD b/device/linux-samsung-klte/APKBUILD
index 3f9a8d9fd7bca58cdf69867df4712890df19460e..26cf9b7fb7214de25b38fcd5432998dd66d6aa0d 100644
--- a/device/linux-samsung-klte/APKBUILD
+++ b/device/linux-samsung-klte/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-klte"
 url="https://github.com/andip71/boeffla-kernel-samsung-s5"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="boeffla-kernel-samsung-s5"
diff --git a/device/linux-samsung-kminilte/APKBUILD b/device/linux-samsung-kminilte/APKBUILD
index c2a2749552061fc8c36aea4e971db62b69ed1c5d..98d6f5cd3c42e136fb7ab49ae5d6ad24d47c78db 100644
--- a/device/linux-samsung-kminilte/APKBUILD
+++ b/device/linux-samsung-kminilte/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-kminilte"
 url="https://github.com/cm-3470/android_kernel_samsung_kminilte"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_samsung_kminilte"
diff --git a/device/linux-samsung-kylepro/APKBUILD b/device/linux-samsung-kylepro/APKBUILD
index d49c67929b698fe5a5e3c474cf08af6a45fd0523..38b605570c55c97fbe485f375b4960e603ca555c 100644
--- a/device/linux-samsung-kylepro/APKBUILD
+++ b/device/linux-samsung-kylepro/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-kylepro"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_samsung_kyleproxx"
diff --git a/device/linux-samsung-kylessopen/APKBUILD b/device/linux-samsung-kylessopen/APKBUILD
index 30839f13f9909234e65660374af7908fd30cecb6..43bbdb21ae28dce8064459e08ef7c04868cf3e1b 100644
--- a/device/linux-samsung-kylessopen/APKBUILD
+++ b/device/linux-samsung-kylessopen/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-kylessopen"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev lzo xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev lzo xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="FrankenKernel"
diff --git a/device/linux-samsung-kylevess/APKBUILD b/device/linux-samsung-kylevess/APKBUILD
index 697e8a8d9f11bc64c22d67418516e43acb67d9ec..485ac14b60f69129519eac79524fe3fdd43d173b 100644
--- a/device/linux-samsung-kylevess/APKBUILD
+++ b/device/linux-samsung-kylevess/APKBUILD
@@ -9,9 +9,16 @@ _flavor="samsung-kylevess"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="kernel_samsung_kylevess_f2fs"
diff --git a/device/linux-samsung-lt023g/APKBUILD b/device/linux-samsung-lt023g/APKBUILD
index 0b6bb678662792534ffba595977e1457439b0d72..cbbe9b7ee2c717112bf3fd24122345997fec542e 100644
--- a/device/linux-samsung-lt023g/APKBUILD
+++ b/device/linux-samsung-lt023g/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-lt023g"
 url="https://github.com/kumajaya/android_kernel_samsung_lt02"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_samsung_lt02"
diff --git a/device/linux-samsung-maguro/APKBUILD b/device/linux-samsung-maguro/APKBUILD
index 3f462ccb8bda37cc9e696b9ac91733ed6d43c8bf..0e1e42816a2dfceaa447d57ece722ba7812e7ede 100644
--- a/device/linux-samsung-maguro/APKBUILD
+++ b/device/linux-samsung-maguro/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-maguro"
 url="https://github.com/LineageOS/android_kernel_samsung_tuna"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_samsung_tuna"
diff --git a/device/linux-samsung-manta/APKBUILD b/device/linux-samsung-manta/APKBUILD
index e65680d607a00a93b636b4d457f7c8c4a31eda56..1cd68a97ad828c42db3a52441dce805f1f1c58a9 100644
--- a/device/linux-samsung-manta/APKBUILD
+++ b/device/linux-samsung-manta/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-manta"
 url="https://github.com/LineageOS/android_kernel_samsung_manta"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_samsung_manta"
diff --git a/device/linux-samsung-n5110/APKBUILD b/device/linux-samsung-n5110/APKBUILD
index 1719afd2d08fb65f0b46d4e47ecaacfdea8e4a81..15b840ce846f5307103fd5cb1bc7665ab1b6f435 100644
--- a/device/linux-samsung-n5110/APKBUILD
+++ b/device/linux-samsung-n5110/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-n5110"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_samsung_smdk4412"
diff --git a/device/linux-samsung-n7100/APKBUILD b/device/linux-samsung-n7100/APKBUILD
index f3ae6a66de6d77d69b8ce72463087f7cd3d4f4e1..11423a653ec6e4b93eba8c3c4d10ac51eef5472e 100644
--- a/device/linux-samsung-n7100/APKBUILD
+++ b/device/linux-samsung-n7100/APKBUILD
@@ -31,7 +31,7 @@ arch="armhf"
 pkgdesc="Samsung Galaxy Note II (GSM) Kernel from ParanoidNote"
 url="https://github.com/bigbiff/android_kernel_samsung_smdk4412"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -47,8 +47,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_samsung_smdk4412-${_hash}"
 
diff --git a/device/linux-samsung-p4wifi/APKBUILD b/device/linux-samsung-p4wifi/APKBUILD
index e037ce2c78127b5e22b08fca31683f524babd016..caa6545f0e40e4594f055e01bde62a900a5ffd57 100644
--- a/device/linux-samsung-p4wifi/APKBUILD
+++ b/device/linux-samsung-p4wifi/APKBUILD
@@ -11,6 +11,8 @@ url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
 makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz flex bison libressl-dev"
+
+# Compiler: latest GCC from Alpine
 HOSTCC="${CC:-gcc}"
 HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
 
diff --git a/device/linux-samsung-s6500d/APKBUILD b/device/linux-samsung-s6500d/APKBUILD
index d9f3f889b99d1b66ee5b89b9976df5e41e626814..b2ea68d2f5799fa39354a6b20a0e621c1493e13f 100644
--- a/device/linux-samsung-s6500d/APKBUILD
+++ b/device/linux-samsung-s6500d/APKBUILD
@@ -10,9 +10,16 @@ _flavor="samsung-s6500d"
 url="https://github.com/Shadowofleaf/android_kernel_samsung_msm7x27a/"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_samsung_msm7x27a"
diff --git a/device/linux-semc-anzu/APKBUILD b/device/linux-semc-anzu/APKBUILD
index d867855848d3352545f0a1c31846fea2450faee5..c95b0fa1e85996046c6391339b36a7c66808c0c6 100644
--- a/device/linux-semc-anzu/APKBUILD
+++ b/device/linux-semc-anzu/APKBUILD
@@ -16,9 +16,16 @@ _flavor="semc-anzu"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_semc_msm7x30"
diff --git a/device/linux-semc-smultron/APKBUILD b/device/linux-semc-smultron/APKBUILD
index c2eaf4ef5a4ccd0ad65fddf9cc96b9efdedf4635..d96f488337f2235e63967c54f67a6a297936eb49 100644
--- a/device/linux-semc-smultron/APKBUILD
+++ b/device/linux-semc-smultron/APKBUILD
@@ -10,9 +10,16 @@ _flavor="semc-smultron"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_semc_msm7x30"
diff --git a/device/linux-sony-amami/APKBUILD b/device/linux-sony-amami/APKBUILD
index 54217ff21788dda61f55ae9fecf5890cf863dd5e..09cd9433b28b9cfbf332253ed99d8ca1621bcb26 100644
--- a/device/linux-sony-amami/APKBUILD
+++ b/device/linux-sony-amami/APKBUILD
@@ -28,7 +28,7 @@ arch="armhf"
 pkgdesc="Sony Xperia Z1 Compact kernel"
 url="https://github.com/sonyxperiadev/kernel"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -42,8 +42,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/kernel-${_hash}"
 
diff --git a/device/linux-sony-aries/APKBUILD b/device/linux-sony-aries/APKBUILD
index f0c80843a97c1164c6f696679c2de78e7922b743..7c35857917d16fd1541e1ef32362a44e1915151c 100644
--- a/device/linux-sony-aries/APKBUILD
+++ b/device/linux-sony-aries/APKBUILD
@@ -10,9 +10,16 @@ _flavor=sony-aries
 url="https://github.com/sonyxperiadev/kernel"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="kernel"
diff --git a/device/linux-sony-castor-windy/APKBUILD b/device/linux-sony-castor-windy/APKBUILD
index a0aa1fe0e4acf1c81b00a1551df5b07164707a06..ddcf901cedec75ce4cf305a5aac2a109054733d5 100644
--- a/device/linux-sony-castor-windy/APKBUILD
+++ b/device/linux-sony-castor-windy/APKBUILD
@@ -26,7 +26,7 @@ arch="armhf"
 pkgdesc="Sony Xperia Z2 Tablet kernel"
 url="https://github.com/andersson"
 depends=""
-makedepends="perl sed installkernel  bash gmp-dev bc linux-headers elfutils-dev"
+makedepends="perl sed installkernel  bash gmp-dev bc linux-headers elfutils-dev gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -40,8 +40,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/kernel-${_branch}"
 
diff --git a/device/linux-sony-coconut/APKBUILD b/device/linux-sony-coconut/APKBUILD
index 7474568f9861b3ee553dca02137b6c620439c89a..5c5d65d57b90709bb37499d3ccb9d0cb23b61c13 100644
--- a/device/linux-sony-coconut/APKBUILD
+++ b/device/linux-sony-coconut/APKBUILD
@@ -10,9 +10,16 @@ _flavor="sony-coconut"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="xz perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="xz perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_semc_msm7x30"
@@ -23,7 +30,7 @@ source="
 	$_config
 	compiler-gcc6.h
 	01_msm-fix-perf_trace_counters.patch
- 	02_gpu-msm-fix-gcc5-compile.patch
+	02_gpu-msm-fix-gcc5-compile.patch
 "
 builddir="$srcdir/${_repository}-${_commit}"
 
diff --git a/device/linux-sony-honami/APKBUILD b/device/linux-sony-honami/APKBUILD
index d25f9b07664ce312a6b129246addffb04b85c84d..f2c27ef94a7851c7b1b610e63e62dea07783b44c 100644
--- a/device/linux-sony-honami/APKBUILD
+++ b/device/linux-sony-honami/APKBUILD
@@ -10,9 +10,16 @@ _flavor="sony-honami"
 url="https://github.com/sonyxperiadev/kernel"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="kernel"
diff --git a/device/linux-sony-nicki/APKBUILD b/device/linux-sony-nicki/APKBUILD
index c4618d98aaed02b4ce19628f5a9b043959f6c5cf..cbc1da1024c553c41153cb2f7748a4b58cb95343 100644
--- a/device/linux-sony-nicki/APKBUILD
+++ b/device/linux-sony-nicki/APKBUILD
@@ -10,9 +10,16 @@ _flavor="sony-nicki"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_sony_msm8x27"
diff --git a/device/linux-sony-scorpion/APKBUILD b/device/linux-sony-scorpion/APKBUILD
index b9b45dbb309e2b091fcdb90cd656ced53b35ad22..03af109c68ff51c0496057e713d629463fd0a69e 100644
--- a/device/linux-sony-scorpion/APKBUILD
+++ b/device/linux-sony-scorpion/APKBUILD
@@ -10,9 +10,16 @@ _flavor="sony-scorpion"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="kernel"
diff --git a/device/linux-sony-seagull/APKBUILD b/device/linux-sony-seagull/APKBUILD
index 84dace1097c155637e0d03da0a3b3922f4e456d7..b7b36163c0c633bfe9d826e2ecdf3f6cc8531493 100644
--- a/device/linux-sony-seagull/APKBUILD
+++ b/device/linux-sony-seagull/APKBUILD
@@ -12,9 +12,16 @@ _flavor="sony-seagull"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_sony_seagull"
diff --git a/device/linux-sony-yuga/APKBUILD b/device/linux-sony-yuga/APKBUILD
index 5931f792d6e0c31aaf720c523cbd555e0ef1d9c7..38b55a7c2ab3166c217c6ede96702ec8b801d622 100644
--- a/device/linux-sony-yuga/APKBUILD
+++ b/device/linux-sony-yuga/APKBUILD
@@ -26,7 +26,7 @@ arch="armhf"
 pkgdesc="Sony Xperia Z kernel"
 url="https://github.com/LineageOS/android_kernel_sony_apq8064"
 depends=""
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -43,8 +43,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/android_kernel_sony_apq8064-${_hash}"
 
diff --git a/device/linux-t2m-flame/APKBUILD b/device/linux-t2m-flame/APKBUILD
index 114b0576aa9dc4d6ad572b6c3d66ec2a74d91577..4d76a910d9f308cd8db2efa30bfb60fa8b990e47 100644
--- a/device/linux-t2m-flame/APKBUILD
+++ b/device/linux-t2m-flame/APKBUILD
@@ -26,7 +26,7 @@ arch="armhf"
 pkgdesc="T2M flame kernel"
 url="https://github.com/mozilla-b2g/codeaurora_kernel_msm"
 depends=""
-makedepends="dtbtool perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
+makedepends="dtbtool perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
 options="!strip !check !tracedeps"
 install=
 source="
@@ -45,8 +45,15 @@ license="GPL2"
 
 _abi_release=${pkgver}
 _carch="arm"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 ksrcdir="$srcdir/codeaurora_kernel_msm-$_hash"
 
diff --git a/device/linux-teclast-x80pro/APKBUILD b/device/linux-teclast-x80pro/APKBUILD
index acb31d32c29bae77db758fc1e54fdc14fe4bdae1..21c696cb40b0fb973872ddb518fc8e802fb245d7 100644
--- a/device/linux-teclast-x80pro/APKBUILD
+++ b/device/linux-teclast-x80pro/APKBUILD
@@ -7,7 +7,7 @@ _config="config-${_flavor}.${CARCH}"
 
 pkgname=linux-${_flavor}
 
-pkgver=4.14.2
+pkgver=4.14.73
 case $pkgver in
 	*.*.*)	_kernver=${pkgver%.*};;
 	*.*) _kernver=$pkgver;;
@@ -42,6 +42,7 @@ ppc*) _carch="powerpc" ;;
 s390*) _carch="s390" ;;
 esac
 
+# Compiler: latest GCC from Alpine
 HOSTCC="${CC:-gcc}"
 HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
 
@@ -74,6 +75,15 @@ prepare() {
 		return 1
 	fi
 
+	# Remove -Werror from all makefiles
+	local i
+	local makefiles="$(find . -type f -name Makefile)
+		$(find . -type f -name Kbuild)"
+	for i in $makefiles; do
+		sed -i 's/-Werror-/-W/g' "$i"
+		sed -i 's/-Werror//g' "$i"
+	done
+
 	mkdir -p "$srcdir"/build
 	cp -v "$srcdir"/$_config "$srcdir"/build/.config
 	make -C "$ksrcdir" O="$srcdir"/build ARCH="$_carch" HOSTCC="$HOSTCC" \
@@ -171,4 +181,4 @@ dev() {
 
 sha512sums="77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8  linux-4.14.tar.xz
 2bd6a0264a249cf3d1119cc86c39c29114ed583472635788aceb9c0a59e306b50f030eb9f27fad98df35a9b7e1f8b42bae01b00bedaa1d21015bbd6ab656a615  config-teclast-x80pro.x86_64
-04415954c3c4d3044a6a3da979e59fb18f0eda3fd872a8036ac8947fbbadcd6041384a900973b917353de6e5c1a589eff1db63c029edcb78f38b07868a929f9d  patch-4.14.2.xz"
+d509365295b6bb5ad55d8859a6cc7cae00ef7b7b34aef21167fcfc992accbf9ac1f4191446c911b55844b09ff0c7f83fd422aea71c2877521331b7b0e05a9205  patch-4.14.73.xz"
diff --git a/device/linux-wiko-lenny3/APKBUILD b/device/linux-wiko-lenny3/APKBUILD
index 0684256ed13aacbda2c83ceb0c388cdfa8ddb91a..f2c918094fa149cd57a71e43f1870db3553b176b 100644
--- a/device/linux-wiko-lenny3/APKBUILD
+++ b/device/linux-wiko-lenny3/APKBUILD
@@ -10,9 +10,16 @@ _flavor="wiko-lenny3"
 url="https://wikomobile.com"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _download_url="http://www.wikogeek.com/index.php?tel="
diff --git a/device/linux-xiaomi-armani/APKBUILD b/device/linux-xiaomi-armani/APKBUILD
index 69a354cd5923e552dee2002789325e35ad354a47..d7be2a495491052a73d2d4ce1d70200a93aaf3ce 100644
--- a/device/linux-xiaomi-armani/APKBUILD
+++ b/device/linux-xiaomi-armani/APKBUILD
@@ -10,9 +10,16 @@ _flavor="xiaomi-armani"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_xiaomi_armani"
diff --git a/device/linux-xiaomi-cancro/APKBUILD b/device/linux-xiaomi-cancro/APKBUILD
index d785ea70d3c6b4904579c71ea92ff4f087ba31be..c30dbbde9390866ddac738ddd64df3112c26d603 100644
--- a/device/linux-xiaomi-cancro/APKBUILD
+++ b/device/linux-xiaomi-cancro/APKBUILD
@@ -10,9 +10,16 @@ _flavor="xiaomi-cancro"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="xz perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="xz perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_xiaomi_cancro"
diff --git a/device/linux-xiaomi-ido/APKBUILD b/device/linux-xiaomi-ido/APKBUILD
index a96e8304b4719df0a6709e5e62c00775e7acd17f..ff49c030c19741362bce34350ab4efa69e5aa6c9 100644
--- a/device/linux-xiaomi-ido/APKBUILD
+++ b/device/linux-xiaomi-ido/APKBUILD
@@ -10,9 +10,16 @@ _flavor="xiaomi-ido"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool python"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool python gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_xiaomi_msm8916"
diff --git a/device/linux-xiaomi-mido/APKBUILD b/device/linux-xiaomi-mido/APKBUILD
index 9e90a1149de4e912e81ae3dd6622968ecbc50d70..31cb5f8852c8b9c65a09a08ecb06d8a2b8f8a398 100644
--- a/device/linux-xiaomi-mido/APKBUILD
+++ b/device/linux-xiaomi-mido/APKBUILD
@@ -10,9 +10,16 @@ _flavor="xiaomi-mido"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="android_kernel_xiaomi_msm8953"
diff --git a/device/linux-xiaomi-santoni/APKBUILD b/device/linux-xiaomi-santoni/APKBUILD
index af973922a39f031a2a687eb142878ecb43318b79..f6a34e166e82783925ecbdfbc5df79a531ef1476 100644
--- a/device/linux-xiaomi-santoni/APKBUILD
+++ b/device/linux-xiaomi-santoni/APKBUILD
@@ -10,9 +10,16 @@ _flavor="xiaomi-santoni"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
 _repository="Xiaomi_Kernel_OpenSource"
diff --git a/device/linux-zte-kis3/APKBUILD b/device/linux-zte-kis3/APKBUILD
index 646725d1652c805c4485d6bd4d7f2ad5eea664ab..1f5e16c9cf138123c463100756a1851cf18c7d27 100644
--- a/device/linux-zte-kis3/APKBUILD
+++ b/device/linux-zte-kis3/APKBUILD
@@ -10,12 +10,18 @@ _flavor="zte-kis3"
 url="https://kernel.org"
 license="GPL2"
 options="!strip !check !tracedeps"
-makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool xz"
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
+makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev dtbtool xz gcc6"
+
+# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
+# request if you find out that it is booting working with newer GCCs as
+# well. See <https://postmarketos.org/vendorkernel> for instructions.
+if [ "${CC:0:5}" != "gcc6-" ]; then
+	CC="gcc6-$CC"
+	HOSTCC="gcc6-gcc"
+	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
+fi
 
 # Source
-# 
 _repository="android_kernel_zte_msm8610"
 _commit="b55a46067bb75d8a290b2cc0e07f5fb3d8207cb1"
 _config="config-${_flavor}.${arch}"