1: /*
2: *----------------------------------------------------------------------
3: * T2EX Software Package
4: *
5: * Copyright 2012 by Ken Sakamura.
6: * This software is distributed under the latest version of T-License 2.x.
7: *----------------------------------------------------------------------
8: *
9: * Released by T-Engine Forum(http://www.t-engine.org/) at 2012/12/12.
10: * Modified by TRON Forum(http://www.tron.org/) at 2015/06/04.
11: *
12: *----------------------------------------------------------------------
13: */
14: /*
15: * This software package is available for use, modification,
16: * and redistribution in accordance with the terms of the attached
17: * T-License 2.x.
18: * If you want to redistribute the source code, you need to attach
19: * the T-License 2.x document.
20: * There's no obligation to publish the content, and no obligation
21: * to disclose it to the TRON Forum if you have modified the
22: * software package.
23: * You can also distribute the modified source code. In this case,
24: * please register the modification to T-Kernel traceability service.
25: * People can know the history of modifications by the service,
26: * and can be sure that the version you have inherited some
27: * modification of a particular version or not.
28: *
29: * http://trace.tron.org/tk/?lang=en
30: * http://trace.tron.org/tk/?lang=ja
31: *
32: * As per the provisions of the T-License 2.x, TRON Forum ensures that
33: * the portion of the software that is copyrighted by Ken Sakamura or
34: * the TRON Forum does not infringe the copyrights of a third party.
35: * However, it does not make any warranty other than this.
36: * DISCLAIMER: TRON Forum and Ken Sakamura shall not be held
37: * responsible for any consequences or damages caused directly or
38: * indirectly by the use of this software package.
39: *
40: * The source codes in bsd_source.tar.gz in this software package are
41: * derived from NetBSD or OpenBSD and not covered under T-License 2.x.
42: * They need to be changed or redistributed according to the
43: * representation of each source header.
44: */
45:
46: /*
47: * reloc.lnk (EM1-D512)
48: * linker script for relocatable modules
49: */
50:
51: OUTPUT_FORMAT("elf32-larm-tkernel", "elf32-barm-tkernel", "elf32-larm-tkernel")
52: OUTPUT_ARCH(arm)
53:
54: FORCE_COMMON_ALLOCATION
55:
56: ENTRY(_start)
57:
58: SECTIONS {
59: . = 0x00100000;
60: .text : {
61: *(.text)
62: *(.text.*)
63: *(.stub)
64: *(.gnu.linkonce.t*)
65: *(.glue_7t) *(.glue_7)
66: KEEP (*(.init))
67: KEEP (*(.fini))
68: PROVIDE (__etext = .);
69: PROVIDE (_etext = .);
70: PROVIDE (etext = .);
71: *(.rodata)
72: *(.gnu.linkonce.r*)
73: *(.rodata.*)
74: *(.rodata1)
75: } =0
76: . = ALIGN(0x1000);
77: /* __data_org should be defined here semantically, but in order for
78: * the operating system to load symbols, it needs to reside in
79: * sections .text, .data, or .bss. Hence, it is put inside .data.
80: * PROVIDE (__data_org = .);
81: */
82: .data : {
83: PROVIDE (__data_org = .);
84: __data_start = . ;
85: *(.data)
86: *(.data.*)
87: *(.gnu.linkonce.d*)
88: SORT(CONSTRUCTORS)
89: *(.data1)
90: KEEP (*(.eh_frame))
91: *(.gcc_except_table)
92: KEEP (*(.jcr))
93: KEEP (*crtbegin.o(.ctors))
94: KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
95: KEEP (*(SORT(.ctors.*)))
96: KEEP (*(.ctors))
97: KEEP (*crtbegin.o(.dtors))
98: KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
99: KEEP (*(SORT(.dtors.*)))
100: KEEP (*(.dtors))
101: *(.sdata)
102: *(.sdata.*)
103: _edata = .;
104: PROVIDE (edata = .);
105: }
106: .bss : {
107: __bss_start = .;
108: __bss_start__ = .;
109: PROVIDE (__sbss_start = .);
110: PROVIDE (___sbss_start = .);
111: *(.sbss)
112: *(.sbss.*)
113: *(.scommon)
114: PROVIDE (__sbss_end = .);
115: PROVIDE (___sbss_end = .);
116: *(.bss)
117: *(.bss.*)
118: *(COMMON)
119: . = ALIGN(4);
120: _end = .;
121: _bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
122: PROVIDE (end = .);
123: }
124: .stack : {
125: *(.stack)
126: }
127: }