OUTPUT_ARCH(i386:x86-64)
+#ifndef EFI
PHDRS
{
text PT_LOAD ;
-#if (defined(BUILD_ID) || defined (CONFIG_PVH_GUEST)) && !defined(EFI)
+#if defined(BUILD_ID) || defined(CONFIG_PVH_GUEST)
note PT_NOTE ;
#endif
}
+#define PHDR(x) :x
+#else
+#define PHDR(x)
+#endif
+
SECTIONS
{
#if !defined(EFI)
*(.text.kexec)
*(.gnu.warning)
_etext = .; /* End of text section */
- } :text = 0x9090
+ } PHDR(text) = 0x9090
. = ALIGN(SECTION_ALIGN);
__2M_text_end = .;
*(SORT(.data.vpci.*))
__end_vpci_array = .;
#endif
- } :text
+ } PHDR(text)
#if defined(CONFIG_PVH_GUEST) && !defined(EFI)
DECL_SECTION(.note.Xen) {
*(.note.Xen)
- } :note :text
+ } PHDR(note) PHDR(text)
#endif
#if defined(BUILD_ID)
__note_gnu_build_id_start = .;
*(.note.gnu.build-id)
__note_gnu_build_id_end = .;
- } :note :text
+ } PHDR(note) PHDR(text)
#elif defined(BUILD_ID_EFI)
DECL_SECTION(.buildid) {
__note_gnu_build_id_start = .;
*(.buildid)
__note_gnu_build_id_end = .;
- } :text
+ }
#endif
#endif
. = ALIGN(4);
DECL_SECTION(.reloc) {
*(.reloc)
- } :text
+ } PHDR(text)
#endif
_erodata = .;
#ifdef EFI /* EFI wants to merge all of .init.* ELF doesn't. */
. = ALIGN(SMP_CACHE_BYTES);
#else
- } :text
+ } PHDR(text)
DECL_SECTION(.init.data) {
#endif
*(SORT(.data.vpci.*))
__end_vpci_array = .;
#endif
- } :text
+ } PHDR(text)
. = ALIGN(SECTION_ALIGN);
__init_end = .;
*(.data.paramhypfs)
__paramhypfs_end = .;
#endif
- } :text
+ } PHDR(text)
DECL_SECTION(.data) {
*(.data.page_aligned)
*(.data.rel)
*(.data.rel.*)
CONSTRUCTORS
- } :text
+ } PHDR(text)
DECL_SECTION(.bss) {
__bss_start = .;
*(.bss)
. = ALIGN(POINTER_ALIGN);
__bss_end = .;
- } :text
+ } PHDR(text)
_end = . ;
. = ALIGN(SECTION_ALIGN);
. = ALIGN(4);
DECL_SECTION(.reloc) {
*(.reloc)
- } :text
+ }
/* Trick the linker into setting the image size to exactly 16Mb. */
. = ALIGN(__section_alignment__);
DECL_SECTION(.pad) {
. = ALIGN(MB(16));
- } :text
+ }
#endif
#ifndef XEN_BUILD_EFI