source: rtems/c/src/lib/libbsp/mips/rbtx4938/startup/linkcmds @ 2bd5103

4.104.115
Last change on this file since 2bd5103 was 2bd5103, checked in by Joel Sherrill <joel.sherrill@…>, on 09/16/08 at 20:48:21

2008-09-16 Joel Sherrill <joel.sherrill@…>

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