/* ld script to make Meta Linux kernel */ #include <asm/thread_info.h> #include <asm/page.h> #include <asm/cache.h> #include <asm-generic/vmlinux.lds.h> OUTPUT_FORMAT("elf32-metag", "elf32-metag", "elf32-metag") OUTPUT_ARCH(metag) ENTRY(__start) _jiffies = _jiffies_64; SECTIONS { . = CONFIG_PAGE_OFFSET; _text = .; __text = .; __stext = .; HEAD_TEXT_SECTION .text : { TEXT_TEXT SCHED_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT *(.text.*) *(.gnu.warning) } __etext = .; /* End of text section */ __sdata = .; RO_DATA_SECTION(PAGE_SIZE) RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE) __edata = .; /* End of data section */ EXCEPTION_TABLE(16) NOTES . = ALIGN(PAGE_SIZE); /* Init code and data */ ___init_begin = .; INIT_TEXT_SECTION(PAGE_SIZE) INIT_DATA_SECTION(16) .init.arch.info : { ___arch_info_begin = .; *(.arch.info.init) ___arch_info_end = .; } PERCPU_SECTION(L1_CACHE_BYTES) ___init_end = .; BSS_SECTION(0, PAGE_SIZE, 0) __end = .; . = ALIGN(PAGE_SIZE); __heap_start = .; DWARF_DEBUG /* When something in the kernel is NOT compiled as a module, the * module cleanup code and data are put into these segments. Both * can then be thrown away, as cleanup code is never called unless * it's a module. */ DISCARDS }