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
18
19 . = 0xe0000;
20
21 .head.text : {
22 _head = . ;
23 HEAD_TEXT
24 _ehead = . ;
25 }
26
27
28#ifdef CONFIG_64BIT
29 . = ALIGN(16);
30
31 .opd : {
32 *(.opd)
33 } PROVIDE (__gp = .);
34 .plt : {
35 *(.plt)
36 }
37 .dlt : {
38 *(.dlt)
39 }
40#endif
41 _startcode_end = .;
42
43
44 . = (SZ_end - SZparisc_kernel_start + KERNEL_BINARY_TEXT_START);
45
46
47 . = ALIGN(4096);
48 .text : {
49 _text = .;
50 *(.text)
51 *(.text.*)
52 _etext = . ;
53 }
54 . = ALIGN(8);
55 .data : {
56 _data = . ;
57 *(.data)
58 *(.data.*)
59 _edata = . ;
60 }
61 . = ALIGN(8);
62 .rodata : {
63 _rodata = . ;
64 *(.rodata)
65 *(.rodata.*)
66 _erodata = . ;
67 }
68 . = ALIGN(8);
69 .rodata.compressed : {
70 *(.rodata.compressed)
71 }
72 . = ALIGN(8);
73 .bss : {
74 _bss = . ;
75 *(.bss)
76 *(.bss.*)
77 *(COMMON)
78 . = ALIGN(4096);
79 _ebss = .;
80 }
81
82 STABS_DEBUG
83 .note 0 : { *(.note) }
84
85
86 DISCARDS
87 /DISCARD/ : {
88#ifdef CONFIG_64BIT
89
90
91
92 *(.PARISC.unwind)
93 *(.interp)
94 *(.dynsym)
95 *(.dynstr)
96 *(.dynamic)
97 *(.hash)
98 *(.gnu.hash)
99#endif
100 }
101}
102