• 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/mn10300/kernel/
1/* MN10300 Main kernel linker script
2 *
3 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
4 * Written by David Howells (dhowells@redhat.com)
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public Licence
8 * as published by the Free Software Foundation; either version
9 * 2 of the Licence, or (at your option) any later version.
10 */
11#define __VMLINUX_LDS__
12#include <asm-generic/vmlinux.lds.h>
13#include <asm/thread_info.h>
14#include <asm/page.h>
15
16OUTPUT_FORMAT("elf32-am33lin", "elf32-am33lin", "elf32-am33lin")
17OUTPUT_ARCH(mn10300)
18ENTRY(_start)
19jiffies = jiffies_64;
20#ifndef CONFIG_MN10300_CURRENT_IN_E2
21current = __current;
22#endif
23SECTIONS
24{
25  . = CONFIG_KERNEL_TEXT_ADDRESS;
26  /* read-only */
27  _stext = .;
28  _text = .;			/* Text and read-only data */
29  .text : {
30	HEAD_TEXT
31	TEXT_TEXT
32	SCHED_TEXT
33	LOCK_TEXT
34	KPROBES_TEXT
35	*(.fixup)
36	*(.gnu.warning)
37	} = 0xcb
38
39  _etext = .;			/* End of text section */
40
41  EXCEPTION_TABLE(16)
42  BUG_TABLE
43
44  RO_DATA(PAGE_SIZE)
45
46  /* writeable */
47  RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE)
48  _edata = .;
49
50  /* might get freed after init */
51  . = ALIGN(PAGE_SIZE);
52  .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
53  	__smp_locks = .;
54	*(.smp_locks)
55	__smp_locks_end = .;
56  }
57
58  /* will be freed after init */
59  . = ALIGN(PAGE_SIZE);		/* Init code and data */
60  __init_begin = .;
61  INIT_TEXT_SECTION(PAGE_SIZE)
62  INIT_DATA_SECTION(16)
63  . = ALIGN(4);
64  __alt_instructions = .;
65  .altinstructions : { *(.altinstructions) }
66  __alt_instructions_end = .;
67 .altinstr_replacement : { *(.altinstr_replacement) }
68  /* .exit.text is discard at runtime, not link time, to deal with references
69     from .altinstructions and .eh_frame */
70	.exit.text : { EXIT_TEXT; }
71	.exit.data : { EXIT_DATA; }
72
73  PERCPU(32)
74  . = ALIGN(PAGE_SIZE);
75  __init_end = .;
76  /* freed after init ends here */
77
78  BSS_SECTION(0, PAGE_SIZE, 4)
79
80  _end = . ;
81
82  /* This is where the kernel creates the early boot page tables */
83  . = ALIGN(PAGE_SIZE);
84  pg0 = .;
85
86  STABS_DEBUG
87
88  DWARF_DEBUG
89
90  /* Sections to be discarded */
91  DISCARDS
92}
93