projects/linux·blob master · refs

83 lines · 1.3 KiB

1/* SPDX-License-Identifier: GPL-2.0 */
2#include <asm-generic/vmlinux.lds.h>
3#include <asm/page.h>
4#include <asm/setup.h>
5
6OUTPUT_FORMAT("elf64-alpha")
7OUTPUT_ARCH(alpha)
8ENTRY(__start)
9
10SECTIONS
11{
12 /*
13 * Link the stub at the address the real, uncompressed vmlinux has
14 * always occupied. aboot derives the OSF/1 parameter-page
15 * (ZERO_PGE) and initial stack (INIT_STACK) addresses from the
16 * loaded image's own p_vaddr, so a stub linked anywhere else would
17 * hand the real kernel a parameter page it does not expect.
18 */
19 . = START_ADDR;
20
21 .head.text : {
22 _head = .;
23 HEAD_TEXT
24 _ehead = .;
25 }
26
27 . = ALIGN(8);
28 .rodata.compressed : {
29 *(.rodata.compressed)
30 }
31
32 . = ALIGN(PAGE_SIZE);
33 .text : {
34 _text = .;
35 *(.text)
36 *(.text.*)
37 _etext = .;
38 }
39 . = ALIGN(8);
40 .rodata : {
41 *(.rodata)
42 *(.rodata.*)
43 }
44 . = ALIGN(8);
45 .data : {
46 *(.data)
47 *(.data.*)
48 }
49 .got : {
50 *(.got)
51 }
52 .sdata : {
53 *(.sdata)
54 }
55 /*
56 * misc.c decompresses to _ebss, so nothing that the stub still
57 * needs may be placed after .bss. --orphan-handling=warn keeps a
58 * new section from silently landing there.
59 */
60 . = ALIGN(8);
61 .bss : {
62 _bss = .;
63 *(.sbss)
64 *(.scommon)
65 *(.bss)
66 *(.bss.*)
67 *(COMMON)
68 . = ALIGN(8);
69 _ebss = .;
70 }
71
72 STABS_DEBUG
73 DWARF_DEBUG
74 ELF_DETAILS
75
76 DISCARDS
77 /DISCARD/ : {
78 *(.eh_frame)
79 *(.modinfo)
80 *(.note)
81 *(.note.*)
82 }
83}