@@ -23,5 +23,3 @@ ifeq ($(CONFIG_ARM64_ERRATUM_843419),y)
LDFLAGS += --fix-cortex-a53-843419
endif
endif
-
-ALL_OBJS-y := arch/arm/$(TARGET_SUBARCH)/head.o $(ALL_OBJS-y)
@@ -4,11 +4,10 @@ obj-$(CONFIG_EARLY_PRINTK) += debug.o
obj-y += domctl.o
obj-y += domain.o
obj-y += entry.o
+obj-y += head.o
obj-y += insn.o
obj-$(CONFIG_LIVEPATCH) += livepatch.o
obj-y += proc-v7.o proc-caxx.o
obj-y += smpboot.o
obj-y += traps.o
obj-y += vfp.o
-
-extra-y += head.o
@@ -120,6 +120,7 @@
#endif /* !CONFIG_EARLY_PRINTK */
+ .section .text.header, "ax", %progbits
.arm
/*
@@ -7,6 +7,7 @@ obj-$(CONFIG_EARLY_PRINTK) += debug.o
obj-y += domctl.o
obj-y += domain.o
obj-y += entry.o
+obj-y += head.o
obj-y += insn.o
obj-$(CONFIG_LIVEPATCH) += livepatch.o
obj-y += smc.o
@@ -14,5 +15,3 @@ obj-y += smpboot.o
obj-y += traps.o
obj-y += vfp.o
obj-y += vsysreg.o
-
-extra-y += head.o
@@ -133,6 +133,7 @@
add \xb, \xb, x20
.endm
+ .section .text.header, "ax", %progbits
/*.aarch64*/
/*
@@ -30,9 +30,13 @@ SECTIONS
_start = .;
.text : {
_stext = .; /* Text section */
- *(.text)
+ *(.text.header)
+
*(.text.cold)
- *(.text.unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
+
+ *(.text)
+
*(.fixup)
*(.gnu.warning)
_etext = .; /* End of text section */
@@ -1,5 +1,7 @@
obj-y += acpi/
+obj-y += boot/
obj-y += cpu/
+obj-y += efi/
obj-y += genapic/
obj-$(CONFIG_GUEST) += guest/
obj-$(CONFIG_HVM) += hvm/
@@ -77,9 +79,6 @@ obj-$(CONFIG_COMPAT) += x86_64/platform_hypercall.o
obj-y += sysctl.o
endif
-# Allows "clean" to descend into boot/
-subdir- += boot
-
extra-y += asm-macros.i
extra-y += xen.lds
@@ -117,5 +117,3 @@ endif
# Set up the assembler include path properly for older toolchains.
CFLAGS += -Wa,-I$(srctree)/include
-
-ALL_OBJS-y := arch/x86/boot/built_in.o arch/x86/efi/built_in.o $(ALL_OBJS-y)
@@ -9,7 +9,7 @@
#include <asm/cpufeature.h>
#include <public/elfnote.h>
- .text
+ .section .text.header, "ax", @progbits
.code32
#define sym_offs(sym) ((sym) - __XEN_VIRT_START)
@@ -73,9 +73,7 @@ SECTIONS
_start = .;
DECL_SECTION(.text) {
_stext = .; /* Text and read-only data */
- *(.text)
- *(.text.__x86_indirect_thunk_*)
- *(.text.page_aligned)
+ *(.text.header)
. = ALIGN(PAGE_SIZE);
_stextentry = .;
@@ -87,7 +85,12 @@ SECTIONS
kexec_reloc_end = .;
*(.text.cold)
- *(.text.unlikely)
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
+
+ *(.text)
+ *(.text.__x86_indirect_thunk_*)
+ *(.text.page_aligned)
+
*(.fixup)
*(.gnu.warning)
_etext = .; /* End of text section */