source: rtems/c/src/lib/libbsp/mips/hurricane/startup/linkcmds @ 91b8fcfb

4.104.115
Last change on this file since 91b8fcfb was 91b8fcfb, checked in by Joel Sherrill <joel.sherrill@…>, on 09/16/08 at 21:14:25

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.3 KB
Line 
1/*
2 *   linkcmds,v 1.6 2003/01/20 20:20:10 joel Exp
3 */
4
5/*
6 * Declare some sizes.
7 */
8RamBase = DEFINED(RamBase) ? RamBase : 0x80000000;
9RamSize = DEFINED(RamSize) ? RamSize : 4M;
10HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
11_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
12
13SECTIONS
14{
15  /* 0x80000000 - 0x8001FFFF used by PMON (with 0x80010000 - 0x8001FFFF as heap for symbol storage)
16        0x80020000 - 0x8002FFFF reserved for shared memory
17        0x80030000 beginning of text (code) section
18   */
19  .text 0x80030000  :
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    WorkAreaBase = .;
152  }
153
154
155  /* Debug sections.  These should never be loadable, but they must have
156     zero addresses for the debuggers to work correctly.  */
157  .line                 0 : { *(.line)                  }
158  .debug                0 : { *(.debug)                 }
159  .debug_sfnames        0 : { *(.debug_sfnames)         }
160  .debug_srcinfo        0 : { *(.debug_srcinfo)         }
161  .debug_macinfo        0 : { *(.debug_macinfo)         }
162  .debug_pubnames       0 : { *(.debug_pubnames)        }
163  .debug_aranges        0 : { *(.debug_aranges)         }
164}
Note: See TracBrowser for help on using the repository browser.