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