root/arch/s390/boot/compressed/vmlinux.lds.S

/* [<][>][^][v][top][bottom][index][help] */
   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         /*
  37         * .dma section for code, data, ex_table that need to stay below 2 GB,
  38         * even when the kernel is relocate: above 2 GB.
  39         */
  40         . = ALIGN(PAGE_SIZE);
  41         _sdma = .;
  42         .dma.text : {
  43                 _stext_dma = .;
  44                 *(.dma.text)
  45                 . = ALIGN(PAGE_SIZE);
  46                 _etext_dma = .;
  47         }
  48         . = ALIGN(16);
  49         .dma.ex_table : {
  50                 _start_dma_ex_table = .;
  51                 KEEP(*(.dma.ex_table))
  52                 _stop_dma_ex_table = .;
  53         }
  54         .dma.data : { *(.dma.data) }
  55         . = ALIGN(PAGE_SIZE);
  56         _edma = .;
  57 
  58         BOOT_DATA
  59         BOOT_DATA_PRESERVED
  60 
  61         /*
  62          * uncompressed image info used by the decompressor it should match
  63          * struct vmlinux_info. It comes from .vmlinux.info section of
  64          * uncompressed vmlinux in a form of info.o
  65          */
  66         . = ALIGN(8);
  67         .vmlinux.info : {
  68                 _vmlinux_info = .;
  69                 *(.vmlinux.info)
  70         }
  71 
  72 #ifdef CONFIG_KERNEL_UNCOMPRESSED
  73         . = 0x100000;
  74 #else
  75         . = ALIGN(8);
  76 #endif
  77         .rodata.compressed : {
  78                 _compressed_start = .;
  79                 *(.vmlinux.bin.compressed)
  80                 _compressed_end = .;
  81                 FILL(0xff);
  82                 . = ALIGN(4096);
  83         }
  84         . = ALIGN(256);
  85         .bss : {
  86                 _bss = . ;
  87                 *(.bss)
  88                 *(.bss.*)
  89                 *(COMMON)
  90                 . = ALIGN(8);   /* For convenience during zeroing */
  91                 _ebss = .;
  92         }
  93         _end = .;
  94 
  95         /* Sections to be discarded */
  96         /DISCARD/ : {
  97                 *(.eh_frame)
  98                 *(__ex_table)
  99                 *(*__ksymtab*)
 100                 *(___kcrctab*)
 101         }
 102 }

/* [<][>][^][v][top][bottom][index][help] */