diff --git a/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch b/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch
new file mode 100644
index 00000000..f464ac40
--- /dev/null
+++ b/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch
@@ -0,0 +1,11 @@
+--- a/arch/arm64/mm/proc.S
++++ b/arch/arm64/mm/proc.S
+@@ -152,7 +152,7 @@
+ alternative_endif
+ ENDPROC(cpu_do_switch_mm)
+ 
+-	.section ".text.init", #alloc, #execinstr
++	.section ".text.init", "ax"
+ 
+ /*
+  *	__cpu_setup
diff --git a/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb b/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb
index e2e51304..4b606dee 100644
--- a/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb
+++ b/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb
@@ -9,8 +9,14 @@ PN .= "-${DISTRO_ARCH}"
 
 inherit linux-kernel
 
+# Older kernel dtc has yylloc multiple definition, fixed by -fcommon
+KERNEL_EXTRA_BUILDARGS += "HOSTCFLAGS+=-fcommon"
+# Older kernel passes -Wl,-Bsymbolic-functions to cross-linker which rejects it
+KERNEL_EXTRA_BUILDARGS += "LDFLAGS="
+
 SRC_URI += " \
     git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git;protocol=https;branch=linux-4.4.y-cip;destsuffix=${P} \
+    file://0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch \
 "
 
 SRCREV = "af3adf9f9c633ac0e1d68487d7fad22285dda8a3"
