Merge tag 'for-4.20-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
[linux-2.6-microblaze.git] / arch / s390 / boot / compressed / vmlinux.lds.S
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #include <asm-generic/vmlinux.lds.h>
3 #include <asm/vmlinux.lds.h>
4
5 OUTPUT_FORMAT("elf64-s390", "elf64-s390", "elf64-s390")
6 OUTPUT_ARCH(s390:64-bit)
7
8 ENTRY(startup)
9
10 SECTIONS
11 {
12         . = 0;
13         .head.text : {
14                 _head = . ;
15                 HEAD_TEXT
16                 _ehead = . ;
17         }
18         .text : {
19                 _text = .;      /* Text */
20                 *(.text)
21                 *(.text.*)
22                 _etext = . ;
23         }
24         .rodata : {
25                 _rodata = . ;
26                 *(.rodata)       /* read-only data */
27                 *(.rodata.*)
28                 _erodata = . ;
29         }
30         .data : {
31                 _data = . ;
32                 *(.data)
33                 *(.data.*)
34                 _edata = . ;
35         }
36         BOOT_DATA
37
38         /*
39          * uncompressed image info used by the decompressor it should match
40          * struct vmlinux_info. It comes from .vmlinux.info section of
41          * uncompressed vmlinux in a form of info.o
42          */
43         . = ALIGN(8);
44         .vmlinux.info : {
45                 _vmlinux_info = .;
46                 *(.vmlinux.info)
47         }
48
49 #ifdef CONFIG_KERNEL_UNCOMPRESSED
50         . = 0x100000;
51 #else
52         . = ALIGN(8);
53 #endif
54         .rodata.compressed : {
55                 _compressed_start = .;
56                 *(.vmlinux.bin.compressed)
57                 _compressed_end = .;
58         }
59         . = ALIGN(256);
60         .bss : {
61                 _bss = . ;
62                 *(.bss)
63                 *(.bss.*)
64                 *(COMMON)
65                 . = ALIGN(8);   /* For convenience during zeroing */
66                 _ebss = .;
67         }
68         _end = .;
69
70         /* Sections to be discarded */
71         /DISCARD/ : {
72                 *(.eh_frame)
73                 *(__ex_table)
74                 *(*__ksymtab*)
75                 *(___kcrctab*)
76         }
77 }