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

/* [<][>][^][v][top][bottom][index][help] */
   1 #include <asm-generic/vmlinux.lds.h>
   2 #include <asm/page.h>
   3 #include "sizes.h"
   4 
   5 #ifndef CONFIG_64BIT
   6 OUTPUT_FORMAT("elf32-hppa-linux")
   7 OUTPUT_ARCH(hppa)
   8 #else
   9 OUTPUT_FORMAT("elf64-hppa-linux")
  10 OUTPUT_ARCH(hppa:hppa2.0w)
  11 #endif
  12 
  13 ENTRY(startup)
  14 
  15 SECTIONS
  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 }

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