diff --git a/arch/arc/cpu/u-boot.lds b/arch/arc/cpu/u-boot.lds
index ccddbf7dc9b754997b9ae7abc81d8d3b7351a5d6..693df74061f5c1203f18668a832fb7464abce999 100644
--- a/arch/arc/cpu/u-boot.lds
+++ b/arch/arc/cpu/u-boot.lds
@@ -13,6 +13,7 @@ SECTIONS
 	.text :	{
 		*(.__text_start)
 		*(.__image_copy_start)
+		arch/arc/lib/start.o (.text*)
 		*(.text*)
 	}
 
diff --git a/arch/arc/lib/Makefile b/arch/arc/lib/Makefile
index b88790492d2a2805819905a667430a5d807bcc7d..459bba9f6601149998ef3149c59d3c6d453c75aa 100644
--- a/arch/arc/lib/Makefile
+++ b/arch/arc/lib/Makefile
@@ -4,6 +4,7 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
+head-y := start.o
 obj-y += cache.o
 obj-y += cpu.o
 obj-y += interrupts.o
@@ -18,7 +19,6 @@ obj-y += memcpy-700.o
 obj-y += memset.o
 obj-y += reset.o
 obj-y += timer.o
-obj-y += start.o
 obj-y += ints_low.o
 obj-y += init_helpers.o