1 #include <linux/config.h>
2 #include <asm/asm-offsets.h>
3 #include <asm-generic/vmlinux.lds.h>
12 #ifdef CONFIG_BOOT_ELF64
13 /* Read-only sections, merged into text segment: */
14 /* . = 0xc000000000000000; */
16 /* This is the value for an Origin kernel, taken from an IRIX kernel. */
17 /* . = 0xc00000000001c000; */
19 /* Set the vaddr for the text segment to a value
20 >= 0xa800 0000 0001 9000 if no symmon is going to configured
21 >= 0xa800 0000 0030 0000 otherwise */
23 /* . = 0xa800000000300000; */
24 /* . = 0xa800000000300000; */
25 . = 0xffffffff80300000;
29 _text = .; /* Text and read-only data */
38 _etext = .; /* End of text section */
40 . = ALIGN(16); /* Exception table */
41 __start___ex_table = .;
42 __ex_table : { *(__ex_table) }
43 __stop___ex_table = .;
45 __start___dbe_table = .; /* Exception table for data bus errors */
46 __dbe_table : { *(__dbe_table) }
47 __stop___dbe_table = .;
53 . = . + DATAOFFSET; /* for CONFIG_MAPPED_KERNEL */
63 /* We want the small data sections together, so single-instruction offsets
64 can access them all, and initialized data all before uninitialized, so
65 we can shorten the on-disk segment size. */
66 .sdata : { *(.sdata) }
68 . = ALIGN(_PAGE_SIZE);
70 .data_nosave : { *(.data.nosave) }
71 . = ALIGN(_PAGE_SIZE);
75 .data.cacheline_aligned : { *(.data.cacheline_aligned) }
77 _edata = .; /* End of data section */
79 /* will be freed after init */
80 . = ALIGN(_PAGE_SIZE); /* Init code and data */
87 .init.data : { *(.init.data) }
90 .init.setup : { *(.init.setup) }
105 __con_initcall_start = .;
106 .con_initcall.init : { *(.con_initcall.init) }
107 __con_initcall_end = .;
109 /* .exit.text is discarded at runtime, not link time, to deal with
110 references from .rodata */
111 .exit.text : { *(.exit.text) }
112 . = ALIGN(_PAGE_SIZE);
113 __initramfs_start = .;
114 .init.ramfs : { *(.init.ramfs) }
118 .data.percpu : { *(.data.percpu) }
120 . = ALIGN(_PAGE_SIZE);
122 /* freed after init ends here */
124 __bss_start = .; /* BSS */
137 /* Sections to be discarded */
142 /* ABI crap starts here */
152 /* This is the MIPS specific mdebug section. */
153 .mdebug : { *(.mdebug) }
159 /* These must appear regardless of . */
160 .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
161 .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }