• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/arch/avr32/kernel/
1/*
2 * AVR32 linker script for the Linux kernel
3 *
4 * Copyright (C) 2004-2006 Atmel Corporation
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10#define LOAD_OFFSET 0x00000000
11#include <asm-generic/vmlinux.lds.h>
12#include <asm/cache.h>
13#include <asm/thread_info.h>
14
15OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32")
16OUTPUT_ARCH(avr32)
17ENTRY(_start)
18
19/* Big endian */
20jiffies = jiffies_64 + 4;
21
22SECTIONS
23{
24	. = CONFIG_ENTRY_ADDRESS;
25	.init		: AT(ADDR(.init) - LOAD_OFFSET) {
26		_stext = .;
27		__init_begin = .;
28			_sinittext = .;
29			*(.text.reset)
30			INIT_TEXT
31			/*
32			 * .exit.text is discarded at runtime, not
33			 * link time, to deal with references from
34			 * __bug_table
35			 */
36			EXIT_TEXT
37			_einittext = .;
38		. = ALIGN(4);
39		__tagtable_begin = .;
40			*(.taglist.init)
41		__tagtable_end = .;
42	}
43	INIT_DATA_SECTION(16)
44	. = ALIGN(PAGE_SIZE);
45	__init_end = .;
46
47	.text		: AT(ADDR(.text) - LOAD_OFFSET) {
48		_evba = .;
49		_text = .;
50		*(.ex.text)
51		*(.irq.text)
52		KPROBES_TEXT
53		TEXT_TEXT
54		SCHED_TEXT
55		LOCK_TEXT
56		*(.fixup)
57		*(.gnu.warning)
58		_etext = .;
59	} = 0xd703d703
60
61	EXCEPTION_TABLE(4)
62	RODATA
63
64	.data		: AT(ADDR(.data) - LOAD_OFFSET) {
65		_data = .;
66		_sdata = .;
67
68		INIT_TASK_DATA(THREAD_SIZE)
69		PAGE_ALIGNED_DATA(PAGE_SIZE);
70		CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)
71		*(.data.rel*)
72		DATA_DATA
73		CONSTRUCTORS
74
75		_edata = .;
76	}
77
78	BSS_SECTION(0, 8, 8)
79	_end = .;
80
81	DWARF_DEBUG
82
83	/* When something in the kernel is NOT compiled as a module, the module
84	 * cleanup code and data are put into these segments. Both can then be
85	 * thrown away, as cleanup code is never called unless it's a module.
86	 */
87	DISCARDS
88}
89