1 /* SPDX-License-Identifier: GPL-2.0 */
2 #include <asm-generic/vmlinux.lds.h>
4 OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT)
9 #include <asm/page_types.h>
12 OUTPUT_ARCH(i386:x86-64)
21 /* Be careful parts of head_64.S assume startup_32 is at
30 .rodata..compressed : {
31 *(.rodata..compressed)
42 *(.rodata) /* read-only data */
46 .data : ALIGN(0x1000) {
51 /* Add 4 bytes of extra space for a CRC-32 checksum */
52 . = ALIGN(. + 4, 0x200);
55 . = ALIGN(L1_CACHE_BYTES);
61 . = ALIGN(8); /* For convenience during zeroing */
72 . = ALIGN(PAGE_SIZE); /* keep ZO size page aligned */
81 *(.dynamic) *(.dynsym) *(.dynstr) *(.dynbss)
89 ASSERT(SIZEOF(.got.plt) == 0 ||
91 SIZEOF(.got.plt) == 0x18,
93 SIZEOF(.got.plt) == 0xc,
95 "Unexpected GOT/PLT entries detected!")
98 * Sections that should stay zero sized, which is safer to
99 * explicitly check instead of blindly discarding.
104 ASSERT(SIZEOF(.got) == 0, "Unexpected GOT entries detected!")
109 ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
114 ASSERT(SIZEOF(.rel.dyn) == 0, "Unexpected run-time relocations (.rel) detected!")
117 *(.rela.*) *(.rela_*)
119 ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!")