Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Cédric Le Goater | 147c051 | 2014-04-24 09:23:39 +0200 | [diff] [blame] | 2 | #include <asm-generic/vmlinux.lds.h> |
3 | |||||
4 | #ifdef CONFIG_PPC64_BOOT_WRAPPER | ||||
5 | OUTPUT_ARCH(powerpc:common64) | ||||
6 | #else | ||||
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | OUTPUT_ARCH(powerpc:common) |
Cédric Le Goater | 147c051 | 2014-04-24 09:23:39 +0200 | [diff] [blame] | 8 | #endif |
Olaf Hering | 67a1b68 | 2005-10-28 17:46:49 -0700 | [diff] [blame] | 9 | ENTRY(_zimage_start) |
David Gibson | cd197ff | 2007-03-05 14:24:52 +1100 | [diff] [blame] | 10 | EXTERN(_zimage_start) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 11 | SECTIONS |
12 | { | ||||
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 13 | .text : |
14 | { | ||||
Michael Ellerman | 6975a78 | 2011-04-12 20:38:55 +0000 | [diff] [blame] | 15 | _start = .; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 16 | *(.text) |
17 | *(.fixup) | ||||
Michael Ellerman | 6975a78 | 2011-04-12 20:38:55 +0000 | [diff] [blame] | 18 | _etext = .; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 19 | } |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | . = ALIGN(4096); |
21 | .data : | ||||
22 | { | ||||
Olaf Hering | 06cf26b | 2005-10-28 17:46:44 -0700 | [diff] [blame] | 23 | *(.rodata*) |
24 | *(.data*) | ||||
25 | *(.sdata*) | ||||
Cédric Le Goater | 147c051 | 2014-04-24 09:23:39 +0200 | [diff] [blame] | 26 | #ifndef CONFIG_PPC64_BOOT_WRAPPER |
Olaf Hering | a449723 | 2005-10-28 17:46:48 -0700 | [diff] [blame] | 27 | *(.got2) |
Cédric Le Goater | 147c051 | 2014-04-24 09:23:39 +0200 | [diff] [blame] | 28 | #endif |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | } |
Michael Ellerman | 6975a78 | 2011-04-12 20:38:55 +0000 | [diff] [blame] | 30 | .dynsym : { *(.dynsym) } |
31 | .dynstr : { *(.dynstr) } | ||||
32 | .dynamic : | ||||
33 | { | ||||
34 | __dynamic_start = .; | ||||
35 | *(.dynamic) | ||||
36 | } | ||||
37 | .hash : { *(.hash) } | ||||
38 | .interp : { *(.interp) } | ||||
Cédric Le Goater | 147c051 | 2014-04-24 09:23:39 +0200 | [diff] [blame] | 39 | .rela.dyn : |
40 | { | ||||
41 | #ifdef CONFIG_PPC64_BOOT_WRAPPER | ||||
42 | __rela_dyn_start = .; | ||||
43 | #endif | ||||
44 | *(.rela*) | ||||
45 | } | ||||
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 46 | |
Paul Mackerras | 621da0f | 2006-11-09 16:00:06 +1100 | [diff] [blame] | 47 | . = ALIGN(8); |
Michael Ellerman | 6975a78 | 2011-04-12 20:38:55 +0000 | [diff] [blame] | 48 | .kernel:dtb : |
49 | { | ||||
50 | _dtb_start = .; | ||||
51 | *(.kernel:dtb) | ||||
52 | _dtb_end = .; | ||||
53 | } | ||||
Paul Mackerras | 621da0f | 2006-11-09 16:00:06 +1100 | [diff] [blame] | 54 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 55 | . = ALIGN(4096); |
Michael Ellerman | 6975a78 | 2011-04-12 20:38:55 +0000 | [diff] [blame] | 56 | .kernel:vmlinux.strip : |
57 | { | ||||
58 | _vmlinux_start = .; | ||||
59 | *(.kernel:vmlinux.strip) | ||||
60 | _vmlinux_end = .; | ||||
61 | } | ||||
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 62 | |
63 | . = ALIGN(4096); | ||||
Michael Ellerman | 6975a78 | 2011-04-12 20:38:55 +0000 | [diff] [blame] | 64 | .kernel:initrd : |
65 | { | ||||
66 | _initrd_start = .; | ||||
67 | *(.kernel:initrd) | ||||
68 | _initrd_end = .; | ||||
69 | } | ||||
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 70 | |
Cédric Le Goater | 147c051 | 2014-04-24 09:23:39 +0200 | [diff] [blame] | 71 | #ifdef CONFIG_PPC64_BOOT_WRAPPER |
Michael Ellerman | 97ee351 | 2017-03-07 16:14:49 +1100 | [diff] [blame] | 72 | . = ALIGN(256); |
Cédric Le Goater | 147c051 | 2014-04-24 09:23:39 +0200 | [diff] [blame] | 73 | .got : |
74 | { | ||||
75 | __toc_start = .; | ||||
76 | *(.got) | ||||
77 | *(.toc) | ||||
78 | } | ||||
79 | #endif | ||||
80 | |||||
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 81 | . = ALIGN(4096); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 82 | .bss : |
83 | { | ||||
Michael Ellerman | 6975a78 | 2011-04-12 20:38:55 +0000 | [diff] [blame] | 84 | _edata = .; |
85 | __bss_start = .; | ||||
86 | *(.sbss) | ||||
87 | *(.bss) | ||||
88 | *(COMMON) | ||||
89 | _end = . ; | ||||
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 90 | } |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 91 | } |