/*1* AVR32 linker script for the Linux kernel2*3* Copyright (C) 2004-2006 Atmel Corporation4*5* This program is free software; you can redistribute it and/or modify6* it under the terms of the GNU General Public License version 2 as7* published by the Free Software Foundation.8*/9#define LOAD_OFFSET 0x0000000010#include <asm-generic/vmlinux.lds.h>11#include <asm/cache.h>12#include <asm/thread_info.h>1314OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32")15OUTPUT_ARCH(avr32)16ENTRY(_start)1718/* Big endian */19jiffies = jiffies_64 + 4;2021SECTIONS22{23. = CONFIG_ENTRY_ADDRESS;24.init : AT(ADDR(.init) - LOAD_OFFSET) {25_stext = .;26__init_begin = .;27_sinittext = .;28*(.text.reset)29INIT_TEXT30/*31* .exit.text is discarded at runtime, not32* link time, to deal with references from33* __bug_table34*/35EXIT_TEXT36_einittext = .;37. = ALIGN(4);38__tagtable_begin = .;39*(.taglist.init)40__tagtable_end = .;41}42INIT_DATA_SECTION(16)43. = ALIGN(PAGE_SIZE);44__init_end = .;4546.text : AT(ADDR(.text) - LOAD_OFFSET) {47_evba = .;48_text = .;49*(.ex.text)50*(.irq.text)51KPROBES_TEXT52TEXT_TEXT53SCHED_TEXT54LOCK_TEXT55*(.fixup)56*(.gnu.warning)57_etext = .;58} = 0xd703d7035960EXCEPTION_TABLE(4)61RODATA6263.data : AT(ADDR(.data) - LOAD_OFFSET) {64_data = .;65_sdata = .;6667INIT_TASK_DATA(THREAD_SIZE)68PAGE_ALIGNED_DATA(PAGE_SIZE);69CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)70*(.data.rel*)71DATA_DATA72CONSTRUCTORS7374_edata = .;75}7677BSS_SECTION(0, 8, 8)78_end = .;7980DWARF_DEBUG8182/* When something in the kernel is NOT compiled as a module, the module83* cleanup code and data are put into these segments. Both can then be84* thrown away, as cleanup code is never called unless it's a module.85*/86DISCARDS87}888990