linux/arch/x86/boot/compressed/vmlinux.lds.S
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#include <asm-generic/vmlinux.lds.h>
   3
   4OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
   5
   6#undef i386
   7
   8#include <asm/cache.h>
   9#include <asm/page_types.h>
  10
  11#ifdef CONFIG_X86_64
  12OUTPUT_ARCH(i386:x86-64)
  13ENTRY(startup_64)
  14#else
  15OUTPUT_ARCH(i386)
  16ENTRY(startup_32)
  17#endif
  18
  19SECTIONS
  20{
  21        /* Be careful parts of head_64.S assume startup_32 is at
  22         * address 0.
  23         */
  24        . = 0;
  25        .head.text : {
  26                _head = . ;
  27                HEAD_TEXT
  28                _ehead = . ;
  29        }
  30        .rodata..compressed : {
  31                *(.rodata..compressed)
  32        }
  33        .text : {
  34                _text = .;      /* Text */
  35                *(.text)
  36                *(.text.*)
  37                _etext = . ;
  38        }
  39        .rodata : {
  40                _rodata = . ;
  41                *(.rodata)       /* read-only data */
  42                *(.rodata.*)
  43                _erodata = . ;
  44        }
  45        .got : {
  46                _got = .;
  47                KEEP(*(.got.plt))
  48                KEEP(*(.got))
  49                _egot = .;
  50        }
  51        .data : {
  52                _data = . ;
  53                *(.data)
  54                *(.data.*)
  55                _edata = . ;
  56        }
  57        . = ALIGN(L1_CACHE_BYTES);
  58        .bss : {
  59                _bss = . ;
  60                *(.bss)
  61                *(.bss.*)
  62                *(COMMON)
  63                . = ALIGN(8);   /* For convenience during zeroing */
  64                _ebss = .;
  65        }
  66#ifdef CONFIG_X86_64
  67       . = ALIGN(PAGE_SIZE);
  68       .pgtable : {
  69                _pgtable = . ;
  70                *(.pgtable)
  71                _epgtable = . ;
  72        }
  73#endif
  74        . = ALIGN(PAGE_SIZE);   /* keep ZO size page aligned */
  75        _end = .;
  76}
  77