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 /* bootloader code and data starts behind area of extracted kernel */ 46 . = (SZ_end - SZparisc_kernel_start + KERNEL_BINARY_TEXT_START); 47 48 /* align on next page boundary */ 49 . = ALIGN(4096); 50 .text : { 51 _text = .; /* Text */ 52 *(.text) 53 *(.text.*) 54 _etext = . ; 55 } 56 . = ALIGN(8); 57 .data : { 58 _data = . ; 59 *(.data) 60 *(.data.*) 61 _edata = . ; 62 } 63 . = ALIGN(8); 64 .rodata : { 65 _rodata = . ; 66 *(.rodata) /* read-only data */ 67 *(.rodata.*) 68 _erodata = . ; 69 } 70 . = ALIGN(8); 71 .rodata.compressed : { 72 *(.rodata.compressed) 73 } 74 . = ALIGN(8); 75 .bss : { 76 _bss = . ; 77 *(.bss) 78 *(.bss.*) 79 *(COMMON) 80 . = ALIGN(4096); 81 _ebss = .; 82 } 83 84 STABS_DEBUG 85 .note 0 : { *(.note) } 86 87 /* Sections to be discarded */ 88 DISCARDS 89 /DISCARD/ : { 90#ifdef CONFIG_64BIT 91 /* temporary hack until binutils is fixed to not emit these 92 * for static binaries 93 */ 94 *(.PARISC.unwind) /* no unwind data */ 95 *(.interp) 96 *(.dynsym) 97 *(.dynstr) 98 *(.dynamic) 99 *(.hash) 100 *(.gnu.hash) 101#endif 102 } 103} 104