/* * vmlinux.lds.S -- master linker script for m68knommu arch * * (C) Copyright 2002-2012, Greg Ungerer <gerg@snapgear.com> * * This linker script is equipped to build either ROM loaded or RAM * run kernels. */ #if defined(CONFIG_RAMKERNEL) #define KTEXT_ADDR CONFIG_KERNELBASE #endif #if defined(CONFIG_ROMKERNEL) #define KTEXT_ADDR CONFIG_ROMSTART #define KDATA_ADDR CONFIG_KERNELBASE #define LOAD_OFFSET KDATA_ADDR + (ADDR(.text) + SIZEOF(.text)) #endif #include <asm/page.h> #include <asm/thread_info.h> #include <asm-generic/vmlinux.lds.h> OUTPUT_ARCH(m68k) ENTRY(_start) jiffies = jiffies_64 + 4; SECTIONS { #ifdef CONFIG_ROMVEC . = CONFIG_ROMVEC; .romvec : { __rom_start = .; _romvec = .; *(.romvec) *(.data..initvect) } #endif . = KTEXT_ADDR; _text = .; _stext = .; .text : { HEAD_TEXT TEXT_TEXT SCHED_TEXT LOCK_TEXT *(.fixup) . = ALIGN(16); } _etext = .; #ifdef KDATA_ADDR . = KDATA_ADDR; #endif _sdata = .; RO_DATA_SECTION(PAGE_SIZE) RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE) _edata = .; EXCEPTION_TABLE(16) NOTES . = ALIGN(PAGE_SIZE); __init_begin = .; INIT_TEXT_SECTION(PAGE_SIZE) INIT_DATA_SECTION(16) PERCPU_SECTION(16) .m68k_fixup : { __start_fixup = .; *(.m68k_fixup) __stop_fixup = .; } .init.data : { . = ALIGN(PAGE_SIZE); __init_end = .; } BSS_SECTION(0, 0, 0) _end = .; STABS_DEBUG .comment 0 : { *(.comment) } /* Sections to be discarded */ DISCARDS }