/* SPDX-License-Identifier: GPL-2.0 */ #include <asm-generic/vmlinux.lds.h> #ifdef CONFIG_PPC64_BOOT_WRAPPER OUTPUT_ARCH(powerpc:common64) #else OUTPUT_ARCH(powerpc:common) #endif ENTRY(_zimage_start) EXTERN(_zimage_start) SECTIONS { .text : { _start = .; *(.text) *(.fixup) _etext = .; } . = ALIGN(4096); .data : { *(.rodata*) *(.data*) *(.sdata*) #ifndef CONFIG_PPC64_BOOT_WRAPPER *(.got2) #endif } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .dynamic : { __dynamic_start = .; *(.dynamic) } .hash : { *(.hash) } .interp : { *(.interp) } .rela.dyn : { #ifdef CONFIG_PPC64_BOOT_WRAPPER __rela_dyn_start = .; #endif *(.rela*) } . = ALIGN(8); .kernel:dtb : { _dtb_start = .; *(.kernel:dtb) _dtb_end = .; } . = ALIGN(4096); .kernel:vmlinux.strip : { _vmlinux_start = .; *(.kernel:vmlinux.strip) _vmlinux_end = .; } . = ALIGN(4096); .kernel:initrd : { _initrd_start = .; *(.kernel:initrd) _initrd_end = .; } . = ALIGN(4096); .kernel:esm_blob : { _esm_blob_start = .; *(.kernel:esm_blob) _esm_blob_end = .; } #ifdef CONFIG_PPC64_BOOT_WRAPPER . = ALIGN(256); .got : { __toc_start = .; *(.got) *(.toc) } #endif . = ALIGN(4096); .bss : { _edata = .; __bss_start = .; *(.sbss) *(.bss) *(COMMON) _end = . ; } }