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