linux/arch/parisc/boot/compressed/vmlinux.lds.S
<<
>>
Prefs
   1#include <asm-generic/vmlinux.lds.h>
   2#include <asm/page.h>
   3#include "sizes.h"
   4
   5#ifndef CONFIG_64BIT
   6OUTPUT_FORMAT("elf32-hppa-linux")
   7OUTPUT_ARCH(hppa)
   8#else
   9OUTPUT_FORMAT("elf64-hppa-linux")
  10OUTPUT_ARCH(hppa:hppa2.0w)
  11#endif
  12
  13ENTRY(startup)
  14
  15SECTIONS
  16{
  17        /* palo loads at 0x60000 */
  18        /* loaded kernel will move to 0x10000 */
  19        . = 0xe0000;    /* should not overwrite palo code */
  20
  21        .head.text : {
  22                _head = . ;
  23                HEAD_TEXT
  24                _ehead = . ;
  25        }
  26
  27        /* keep __gp below 0x1000000 */
  28#ifdef CONFIG_64BIT
  29        . = ALIGN(16);
  30        /* Linkage tables */
  31        .opd : {
  32                __start_opd = .;
  33                *(.opd)
  34                __end_opd = .;
  35        } PROVIDE (__gp = .);
  36        .plt : {
  37                *(.plt)
  38        }
  39        .dlt : {
  40                *(.dlt)
  41        }
  42#endif
  43        _startcode_end = .;
  44
  45        /* vmlinux.bin.gz is here */
  46        . = ALIGN(8);
  47        .rodata.compressed : {
  48                *(.rodata.compressed)
  49        }
  50
  51        /* bootloader code and data starts at least behind area of extracted kernel */
  52        . = MAX(ABSOLUTE(.), (SZ_end - SZparisc_kernel_start + KERNEL_BINARY_TEXT_START));
  53
  54        /* align on next page boundary */
  55        . = ALIGN(4096);
  56        .text : {
  57                _text = .;      /* Text */
  58                *(.text)
  59                *(.text.*)
  60                _etext = . ;
  61        }
  62        . = ALIGN(8);
  63        .data : {
  64                _data = . ;
  65                *(.data)
  66                *(.data.*)
  67                _edata = . ;
  68        }
  69        . = ALIGN(8);
  70        .rodata : {
  71                _rodata = . ;
  72                *(.rodata)       /* read-only data */
  73                *(.rodata.*)
  74                _erodata = . ;
  75        }
  76        . = ALIGN(8);
  77        .bss : {
  78                _bss = . ;
  79                *(.bss)
  80                *(.bss.*)
  81                *(COMMON)
  82                . = ALIGN(4096);
  83                _ebss = .;
  84        }
  85
  86        STABS_DEBUG
  87        .note 0 : { *(.note) }
  88
  89        /* Sections to be discarded */
  90        DISCARDS
  91        /DISCARD/ : {
  92#ifdef CONFIG_64BIT
  93                /* temporary hack until binutils is fixed to not emit these
  94                 * for static binaries
  95                 */
  96                *(.PARISC.unwind)       /* no unwind data */
  97                *(.interp)
  98                *(.dynsym)
  99                *(.dynstr)
 100                *(.dynamic)
 101                *(.hash)
 102                *(.gnu.hash)
 103#endif
 104        }
 105}
 106