12f3c7b81SHelge Deller#include <asm-generic/vmlinux.lds.h> 22f3c7b81SHelge Deller#include <asm/page.h> 32f3c7b81SHelge Deller#include "sizes.h" 42f3c7b81SHelge Deller 52f3c7b81SHelge Deller#ifndef CONFIG_64BIT 62f3c7b81SHelge DellerOUTPUT_FORMAT("elf32-hppa-linux") 72f3c7b81SHelge DellerOUTPUT_ARCH(hppa) 82f3c7b81SHelge Deller#else 92f3c7b81SHelge DellerOUTPUT_FORMAT("elf64-hppa-linux") 102f3c7b81SHelge DellerOUTPUT_ARCH(hppa:hppa2.0w) 112f3c7b81SHelge Deller#endif 122f3c7b81SHelge Deller 132f3c7b81SHelge DellerENTRY(startup) 142f3c7b81SHelge Deller 152f3c7b81SHelge DellerSECTIONS 162f3c7b81SHelge Deller{ 172f3c7b81SHelge Deller /* palo loads at 0x60000 */ 182f3c7b81SHelge Deller /* loaded kernel will move to 0x10000 */ 192f3c7b81SHelge Deller . = 0xe0000; /* should not overwrite palo code */ 202f3c7b81SHelge Deller 212f3c7b81SHelge Deller .head.text : { 222f3c7b81SHelge Deller _head = . ; 232f3c7b81SHelge Deller HEAD_TEXT 242f3c7b81SHelge Deller _ehead = . ; 252f3c7b81SHelge Deller } 262f3c7b81SHelge Deller 272f3c7b81SHelge Deller /* keep __gp below 0x1000000 */ 282f3c7b81SHelge Deller#ifdef CONFIG_64BIT 292f3c7b81SHelge Deller . = ALIGN(16); 302f3c7b81SHelge Deller /* Linkage tables */ 312f3c7b81SHelge Deller .opd : { 321705bd6aSSergey Senozhatsky __start_opd = .; 332f3c7b81SHelge Deller *(.opd) 341705bd6aSSergey Senozhatsky __end_opd = .; 352f3c7b81SHelge Deller } PROVIDE (__gp = .); 362f3c7b81SHelge Deller .plt : { 372f3c7b81SHelge Deller *(.plt) 382f3c7b81SHelge Deller } 392f3c7b81SHelge Deller .dlt : { 402f3c7b81SHelge Deller *(.dlt) 412f3c7b81SHelge Deller } 422f3c7b81SHelge Deller#endif 432f3c7b81SHelge Deller _startcode_end = .; 442f3c7b81SHelge Deller 4534c201aeSHelge Deller /* vmlinux.bin.gz is here */ 4634c201aeSHelge Deller . = ALIGN(8); 4734c201aeSHelge Deller .rodata.compressed : { 4834c201aeSHelge Deller *(.rodata.compressed) 4934c201aeSHelge Deller } 5034c201aeSHelge Deller 513fe6c873SHelge Deller /* bootloader code and data starts at least behind area of extracted kernel */ 523fe6c873SHelge Deller . = MAX(ABSOLUTE(.), (SZ_end - SZparisc_kernel_start + KERNEL_BINARY_TEXT_START)); 532f3c7b81SHelge Deller 542f3c7b81SHelge Deller /* align on next page boundary */ 552f3c7b81SHelge Deller . = ALIGN(4096); 562f3c7b81SHelge Deller .text : { 572f3c7b81SHelge Deller _text = .; /* Text */ 582f3c7b81SHelge Deller *(.text) 592f3c7b81SHelge Deller *(.text.*) 602f3c7b81SHelge Deller _etext = . ; 612f3c7b81SHelge Deller } 622f3c7b81SHelge Deller . = ALIGN(8); 632f3c7b81SHelge Deller .data : { 642f3c7b81SHelge Deller _data = . ; 652f3c7b81SHelge Deller *(.data) 662f3c7b81SHelge Deller *(.data.*) 672f3c7b81SHelge Deller _edata = . ; 682f3c7b81SHelge Deller } 692f3c7b81SHelge Deller . = ALIGN(8); 702f3c7b81SHelge Deller .rodata : { 712f3c7b81SHelge Deller _rodata = . ; 722f3c7b81SHelge Deller *(.rodata) /* read-only data */ 732f3c7b81SHelge Deller *(.rodata.*) 742f3c7b81SHelge Deller _erodata = . ; 752f3c7b81SHelge Deller } 762f3c7b81SHelge Deller . = ALIGN(8); 772f3c7b81SHelge Deller .bss : { 782f3c7b81SHelge Deller _bss = . ; 792f3c7b81SHelge Deller *(.bss) 802f3c7b81SHelge Deller *(.bss.*) 812f3c7b81SHelge Deller *(COMMON) 822f3c7b81SHelge Deller . = ALIGN(4096); 832f3c7b81SHelge Deller _ebss = .; 842f3c7b81SHelge Deller } 852f3c7b81SHelge Deller 862f3c7b81SHelge Deller STABS_DEBUG 87*c604abc3SKees Cook ELF_DETAILS 882f3c7b81SHelge Deller .note 0 : { *(.note) } 892f3c7b81SHelge Deller 902f3c7b81SHelge Deller /* Sections to be discarded */ 912f3c7b81SHelge Deller DISCARDS 922f3c7b81SHelge Deller /DISCARD/ : { 932f3c7b81SHelge Deller#ifdef CONFIG_64BIT 942f3c7b81SHelge Deller /* temporary hack until binutils is fixed to not emit these 952f3c7b81SHelge Deller * for static binaries 962f3c7b81SHelge Deller */ 972f3c7b81SHelge Deller *(.PARISC.unwind) /* no unwind data */ 982f3c7b81SHelge Deller *(.interp) 992f3c7b81SHelge Deller *(.dynsym) 1002f3c7b81SHelge Deller *(.dynstr) 1012f3c7b81SHelge Deller *(.dynamic) 1022f3c7b81SHelge Deller *(.hash) 1032f3c7b81SHelge Deller *(.gnu.hash) 1042f3c7b81SHelge Deller#endif 1052f3c7b81SHelge Deller } 1062f3c7b81SHelge Deller} 107