source: rtems/c/src/lib/libbsp/m68k/csb360/startup/linkcmds @ d1f57b5

4.104.114.95
Last change on this file since d1f57b5 was d1f57b5, checked in by Joel Sherrill <joel.sherrill@…>, on 03/03/08 at 23:07:47

2008-03-03 Joel Sherrill <joel.sherrill@…>

  • startup/linkcmds: Add wildcard to gcc_except_table section so programs compiled with gcc 4.3.x can link.
  • Property mode set to 100644
File size: 2.3 KB
Line 
1/*
2 * This file contains GNU linker directives for the Cogent
3 * CSB360 development board.
4 *
5 * Copyright (C) 2004 Cogent Computer Systems
6 * Author: Jay Monkman <jtm@lopingdog.com>
7 *
8 *  $Id$
9 */
10
11/*
12 * Declare size of heap.
13 * A heap size of 0 means "Use all available memory for the heap".
14 * Initial stack located in on-chip SRAM and not declared there.
15 */
16_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;
17_RamSize = DEFINED(_RamSize) ? _RamSize : 31M;
18
19/* This is needed for _CPU_ISR_install_vector -
20*  WARNING: it MUST match BSP_RAMBAR !!!!!!!!!!! */
21_VBR = 0x20000000;
22
23/*
24 * Setup the memory map of the CSB360 board
25 *
26 * The "ram" section is placed in RAM after the space used by umon.
27 *
28 */
29MEMORY
30{
31  ram     : ORIGIN = 0x00100000, LENGTH = 31M
32}
33
34SECTIONS
35{
36     
37  /*
38   * Text, data and bss segments
39   */
40   .text :
41   {
42        _RamBase = .;
43        __RamBase = .;
44        CREATE_OBJECT_SYMBOLS
45        *(.text*)
46
47        /*
48         * C++ constructors/destructors
49         */
50        *(.gnu.linkonce.t.*)
51
52        /*
53         * Initialization and finalization code.
54         */
55        . = ALIGN (16);
56        PROVIDE (_init = .);
57        *crti.o(.init)
58        *(.init)
59        *crtn.o(.init)
60        . = ALIGN (16);
61        PROVIDE (_fini = .);
62        *crti.o(.fini)
63        *(.fini)
64        *crtn.o(.fini)
65
66        /*
67         * Special FreeBSD sysctl sections.
68         */
69        . = ALIGN (16);
70        __start_set_sysctl_set = .;
71        *(set_sysctl_*);
72        __stop_set_sysctl_set = ABSOLUTE(.);
73        *(set_domain_*);
74        *(set_pseudo_*);
75
76        /*
77         * C++ constructors/destructors
78         */
79        . = ALIGN (16);
80        *crtbegin.o(.ctors)
81        *(.ctors)
82        *crtend.o(.ctors)
83        *crtbegin.o(.dtors)
84        *(.dtors)
85        *crtend.o(.dtors)
86
87        /*
88         * Exception frame info
89         */
90        . = ALIGN (16);
91        *(.eh_frame)
92
93        /*
94         * Read-only data
95         */
96        . = ALIGN (16);
97        _rodata_start = .;
98        *(.rodata*)
99        *(.gnu.linkonce.r*)
100
101        . = ALIGN (16);
102        PROVIDE (etext = .);
103
104   } > ram
105
106   .data :
107   {
108        copy_start = .;
109        *(.shdata)
110        . = ALIGN (0x10);
111        *(.data*)
112        . = ALIGN (0x10);
113        *(.gcc_exc)
114        *(.gcc_except_table*)
115        *(.jcr)
116        . = ALIGN (0x10);
117        *(.gnu.linkonce.d*)
118        . = ALIGN (0x10);
119        _edata = .;
120         copy_end = .;
121   } > ram
122
123  .bss :
124  {
125        clear_start = . ;
126        *(.shbss)
127        *(.dynbss)
128        *(.bss* .gnu.linkonce.b.*)
129        *(COMMON)
130        . = ALIGN(0x10);
131        _end = .;
132   
133        clear_end = .;
134
135        _WorkspaceBase = .;
136        __WorkspaceBase = .;
137
138  } > ram
139
140  .stab 0 (NOLOAD) :
141  {
142    *(.stab)
143  }
144
145  .stabstr 0 (NOLOAD) :
146  {
147    *(.stabstr)
148  }
149 
150}
Note: See TracBrowser for help on using the repository browser.