source: rtems/c/src/lib/libbsp/mips/rbtx4938/startup/linkcmds @ 4ba5ac6

4.104.114.84.95
Last change on this file since 4ba5ac6 was 4ba5ac6, checked in by Ralf Corsepius <ralf.corsepius@…>, on 03/16/06 at 17:41:28

New (Submission by Bruce Robinson <brucer@…>).

  • Property mode set to 100644
File size: 3.2 KB
Line 
1/*
2 *  linkcmds,v 1.10 2003/01/20 20:20:11 joel Exp
3 *
4 */
5
6/*
7 * Declare some sizes.
8 */
9_RamBase = DEFINED(_RamBase) ? _RamBase : 0x80000000;
10_RamSize = DEFINED(_RamSize) ? _RamSize : 4M;
11_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
12
13SECTIONS
14{
15  /* 0x80000000 - 0x800FFFFF used by YAMON
16        0x80120000 - 0x8012FFFF reserved for shared memory
17        0x80130000 beginning of text (code) section
18   */
19    .text 0x80130000 :
20    {
21       _ftext = . ;
22       eprol  =  .;
23      *(.text)
24      *(.text.*)
25      *(.gnu.linkonce.t*)
26      *(.mips16.fn.*)
27      *(.mips16.call.*)
28      PROVIDE (__runtime_reloc_start = .);
29      *(.rel.sdata)
30      PROVIDE (__runtime_reloc_stop = .);
31
32      /*
33       * Special FreeBSD sysctl sections.
34       */
35      . = ALIGN (16);
36      __start_set_sysctl_set = .;
37      *(set_sysctl_*);
38      __stop_set_sysctl_set = ABSOLUTE(.);
39      *(set_domain_*);
40      *(set_pseudo_*);
41
42      *(.gcc_except_table)
43      *(.eh_frame_hdr)
44      *(.eh_frame)
45    }
46
47  .init :
48  {
49        KEEP(*crti.o(.init))
50        KEEP(*(.init))
51        KEEP(*crtn.o(.init))
52  }
53
54  .fini :
55  {
56        KEEP(*crti.o(.fini))
57        KEEP(*(.fini))
58        KEEP(*crtn.o(.fini))
59  }
60
61  .ctors    :
62  {
63    /* gcc uses crtbegin.o to find the start of
64       the constructors, so we make sure it is
65       first.  Because this is a wildcard, it
66       doesn't matter if the user does not
67       actually link against crtbegin.o; the
68       linker won't look for a file to match a
69       wildcard.  The wildcard also means that it
70       doesn't matter which directory crtbegin.o
71       is in.  */
72
73    KEEP (*crtbegin.o(.ctors))
74
75    /* We don't want to include the .ctor section from
76       from the crtend.o file until after the sorted ctors.
77       The .ctor section from the crtend file contains the
78       end of ctors marker and it must be last */
79
80    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
81    KEEP (*(SORT(.ctors.*)))
82    KEEP (*(.ctors))
83  }
84
85  .dtors    :
86  {
87    KEEP (*crtbegin.o(.dtors))
88    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
89    KEEP (*(SORT(.dtors.*)))
90    KEEP (*(.dtors))
91
92    etext  =  .;
93    _etext  =  .;
94  }
95
96  .rdata : {
97    *(.rdata)
98    *(.rodata)
99    *(.rodata.*)
100    *(.gnu.linkonce.r*)
101  }
102   _fdata = ALIGN(16);
103
104  .data : {
105    *(.data)
106    *(.data.*)
107    *(.gnu.linkonce.d*)
108    SORT(CONSTRUCTORS)
109  }
110  . = ALIGN(8);
111
112  .jcr : {
113        KEEP (*(.jcr))
114  }
115
116  _gp = ALIGN(16) + 0x8000;
117  __global = _gp;
118
119  .sdata : {
120    *(.sdata)
121    *(.sdata.*)
122    *(.gnu.linkonce.s*)
123  }
124  .lit8 : {
125    *(.lit8)
126  }
127  .lit4 : {
128    *(.lit4)
129  }
130
131   edata  =  .;
132   _edata  =  .;
133   _fbss = .;
134
135  .sbss : {
136    *(.sbss)
137    *(.scommon)
138  }
139  .bss : {
140    _bss_start = . ;
141    *(.bss)
142    *(.reginfo)
143    *(COMMON)
144    . = ALIGN (64);
145    _stack_limit = .;
146    . += _StackSize;
147    __stack = .;
148    _stack_init = .;
149     end = .;
150    _end = .;
151  }
152
153
154  /* Debug sections.  These should never be loadable, but they must have
155     zero addresses for the debuggers to work correctly.  */
156  .line                 0 : { *(.line)                  }
157  .debug                0 : { *(.debug)                 }
158  .debug_sfnames        0 : { *(.debug_sfnames)         }
159  .debug_srcinfo        0 : { *(.debug_srcinfo)         }
160  .debug_macinfo        0 : { *(.debug_macinfo)         }
161  .debug_pubnames       0 : { *(.debug_pubnames)        }
162  .debug_aranges        0 : { *(.debug_aranges)         }
163}
Note: See TracBrowser for help on using the repository browser.