Merge tag 'perf_urgent_for_v5.17_rc2' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / arch / powerpc / boot / zImage.lds.S
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #include <asm-generic/vmlinux.lds.h>
3
4 #ifdef CONFIG_PPC64_BOOT_WRAPPER
5 OUTPUT_ARCH(powerpc:common64)
6 #else
7 OUTPUT_ARCH(powerpc:common)
8 #endif
9 ENTRY(_zimage_start)
10 EXTERN(_zimage_start)
11 SECTIONS
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 }