vmlinux.lds.S 1.3 KB
Newer Older
L
Linus Torvalds 已提交
1
#include <asm-generic/vmlinux.lds.h>
2
#include <asm/thread_info.h>
3
#include <asm/cache.h>
S
Sam Ravnborg 已提交
4
#include <asm/page.h>
L
Linus Torvalds 已提交
5 6 7 8

OUTPUT_FORMAT("elf64-alpha")
OUTPUT_ARCH(alpha)
ENTRY(__start)
9
PHDRS { kernel PT_LOAD; note PT_NOTE; }
L
Linus Torvalds 已提交
10 11 12 13
jiffies = jiffies_64;
SECTIONS
{
#ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
S
Sam Ravnborg 已提交
14
	. = 0xfffffc0000310000;
L
Linus Torvalds 已提交
15
#else
S
Sam Ravnborg 已提交
16
	. = 0xfffffc0001010000;
L
Linus Torvalds 已提交
17 18
#endif

S
Sam Ravnborg 已提交
19 20
	_text = .;	/* Text and read-only data */
	.text : {
21
		HEAD_TEXT
S
Sam Ravnborg 已提交
22 23 24 25 26 27 28 29
		TEXT_TEXT
		SCHED_TEXT
		LOCK_TEXT
		*(.fixup)
		*(.gnu.warning)
	} :kernel
	_etext = .;	/* End of text section */

30 31 32 33 34 35
	NOTES :kernel :note
	.dummy : {
		*(.dummy)
	} :kernel

	RODATA
36
	EXCEPTION_TABLE(16)
S
Sam Ravnborg 已提交
37 38

	/* Will be freed after init */
39 40 41
	__init_begin = ALIGN(PAGE_SIZE);
	INIT_TEXT_SECTION(PAGE_SIZE)
	INIT_DATA_SECTION(16)
42
	PERCPU_SECTION(L1_CACHE_BYTES)
43 44 45
	/* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page
	   needed for the THREAD_SIZE aligned init_task gets freed after init */
	. = ALIGN(THREAD_SIZE);
S
Sam Ravnborg 已提交
46 47 48 49
	__init_end = .;
	/* Freed after init ends here */

	_data = .;
50
	RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
S
Sam Ravnborg 已提交
51 52 53 54 55 56 57 58 59

	.got : {
		*(.got)
	}
	.sdata : {
		*(.sdata)
	}
	_edata = .;	/* End of data section */

60
	BSS_SECTION(0, 0, 0)
S
Sam Ravnborg 已提交
61 62 63 64 65 66 67 68 69 70 71
	_end = .;

	.mdebug 0 : {
		*(.mdebug)
	}
	.note 0 : {
		*(.note)
	}

	STABS_DEBUG
	DWARF_DEBUG
72 73

	DISCARDS
L
Linus Torvalds 已提交
74
}