1
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 . = ALIGN(256);
40 .got :
41 {
42 __toc_start = .;
43 *(.got)
44 *(.toc)
45 }
46#endif
47
48 .hash : { *(.hash) }
49 .interp : { *(.interp) }
50 .rela.dyn :
51 {
52#ifdef CONFIG_PPC64_BOOT_WRAPPER
53 __rela_dyn_start = .;
54#endif
55 *(.rela*)
56 }
57
58 . = ALIGN(8);
59 .kernel:dtb :
60 {
61 _dtb_start = .;
62 *(.kernel:dtb)
63 _dtb_end = .;
64 }
65
66 . = ALIGN(4096);
67 .kernel:vmlinux.strip :
68 {
69 _vmlinux_start = .;
70 *(.kernel:vmlinux.strip)
71 _vmlinux_end = .;
72 }
73
74 . = ALIGN(4096);
75 .kernel:initrd :
76 {
77 _initrd_start = .;
78 *(.kernel:initrd)
79 _initrd_end = .;
80 }
81
82 . = ALIGN(4096);
83 .kernel:esm_blob :
84 {
85 _esm_blob_start = .;
86 *(.kernel:esm_blob)
87 _esm_blob_end = .;
88 }
89
90 . = ALIGN(4096);
91 .bss :
92 {
93 _edata = .;
94 __bss_start = .;
95 *(.sbss)
96 *(.bss)
97 *(COMMON)
98 _end = . ;
99 }
100}
101