1/* SPDX-License-Identifier: GPL-2.0 */ 2#include <asm-generic/vmlinux.lds.h> 3 4#ifdef CONFIG_PPC64_BOOT_WRAPPER 5OUTPUT_ARCH(powerpc:common64) 6#else 7OUTPUT_ARCH(powerpc:common) 8#endif 9ENTRY(_zimage_start) 10EXTERN(_zimage_start) 11SECTIONS 12{ 13 .text : 14 { 15 _start = .; 16 *(.text) 17 *(.fixup) 18 _etext = .; 19 } 20 . = ALIGN(4096); 21 .data : 22 { 23 *(.rodata*) 24 *(.data*) 25 *(.sdata*) 26#ifndef CONFIG_PPC64_BOOT_WRAPPER 27 *(.got2) 28#endif 29 } 30 .dynsym : { *(.dynsym) } 31 .dynstr : { *(.dynstr) } 32 .dynamic : 33 { 34 __dynamic_start = .; 35 *(.dynamic) 36 } 37 38#ifdef CONFIG_PPC64_BOOT_WRAPPER 39 .got : ALIGN(256) 40 { 41 *(.got .toc) 42 } 43#endif 44 45 .hash : { *(.hash) } 46 .interp : { *(.interp) } 47 .rela.dyn : 48 { 49#ifdef CONFIG_PPC64_BOOT_WRAPPER 50 __rela_dyn_start = .; 51#endif 52 *(.rela*) 53 } 54 55 . = ALIGN(8); 56 .kernel:dtb : 57 { 58 _dtb_start = .; 59 *(.kernel:dtb) 60 _dtb_end = .; 61 } 62 63 . = ALIGN(4096); 64 .kernel:vmlinux.strip : 65 { 66 _vmlinux_start = .; 67 *(.kernel:vmlinux.strip) 68 _vmlinux_end = .; 69 } 70 71 . = ALIGN(4096); 72 .kernel:initrd : 73 { 74 _initrd_start = .; 75 *(.kernel:initrd) 76 _initrd_end = .; 77 } 78 79 . = ALIGN(4096); 80 .kernel:esm_blob : 81 { 82 _esm_blob_start = .; 83 *(.kernel:esm_blob) 84 _esm_blob_end = .; 85 } 86 87 . = ALIGN(4096); 88 .bss : 89 { 90 _edata = .; 91 __bss_start = .; 92 *(.sbss) 93 *(.bss) 94 *(COMMON) 95 _end = . ; 96 } 97} 98