source: rtems/c/src/lib/libbsp/mips/rbtx4925/startup/linkcmds @ 2b2e3ef5

4.104.115
Last change on this file since 2b2e3ef5 was 2b2e3ef5, checked in by Joel Sherrill <joel.sherrill@…>, on 04/27/10 at 17:11:10

2010-04-27 Joel Sherrill <joel.sherrill@…>

  • startup/linkcmds: Revert previous change. Remove .reginfo from .bss section where it was present.
  • Property mode set to 100644
File size: 3.3 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 - 0x8001FFFF used by PMON (with 0x80010000 - 0x8001FFFF as heap for symbol storage)
17        0x80020000 - 0x8002FFFF reserved for shared memory
18        0x80030000 beginning of text (code) section
19   */
20    .text 0x80030000 :
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    *(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.