blob: 1f14867634c3a1f028c0fa9e4de586737f5eefc8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
/* $NetBSD: kern.ldscript,v 1.1 2021/05/05 01:35:35 thorpej Exp $ */
/*
* Linker script for the NetBSD/alpha kernel.
*
* This largely behaves the same as the standard elf64-alpha linker
* script for "ld -N"; the kernel is loaded into K0SEG, so there is
* no reason to page-align the .data segment.
*/
#include "assym.h" /* for COHERENCY_UNIT */
OUTPUT_FORMAT("elf64-alpha", "elf64-alpha",
"elf64-alpha")
OUTPUT_ARCH(alpha)
SECTIONS
{
.text :
{
*(.text)
*(.text.*)
*(.stub)
} =0x47ff041f
_etext = . ;
PROVIDE (etext = .);
.rodata :
{
*(.rodata .rodata.*)
}
.data :
{
*(.data)
. = ALIGN(COHERENCY_UNIT);
*(.data.cacheline_aligned)
. = ALIGN(COHERENCY_UNIT);
*(.data.read_mostly)
. = ALIGN(COHERENCY_UNIT);
*(.data.*)
}
/*
* Small-data located along side GOT and small-bss for
* GP-relative addressing.
*/
.got :
{
*(.got)
}
.sdata :
{
*(.sdata .sdata.*)
}
_edata = . ;
PROVIDE (edata = .) ;
. = .;
__bss_start = .;
.sbss :
{
*(.sbss .sbss.*)
*(.scommon)
}
.bss :
{
*(.bss .bss.*)
*(COMMON)
}
/* End of the kernel image */
__kernel_end = . ;
_end = . ;
PROVIDE (end = .) ;
.note.netbsd.ident :
{
KEEP(*(.note.netbsd.ident));
}
}
|