source: rtems/c/src/lib/libbsp/m68k/mvme167/startup/linkcmds @ 3fd73d1

4.104.114.84.95
Last change on this file since 3fd73d1 was 5d02459, checked in by Joel Sherrill <joel.sherrill@…>, on 02/18/99 at 19:23:28

MVME167 BSP submitted by Charles Gauthier <Charles.Gauthier@…>.

  • Property mode set to 100644
File size: 2.2 KB
Line 
1/*
2 *  This file contains directives for the GNU linker which are specific
3 *  to the Motorola MVME167 board.
4 *
5 *  COPYRIGHT (c) 1989-1998.
6 *  On-Line Applications Research Corporation (OAR).
7 *  Copyright assigned to U.S. Government, 1994.
8 *
9 *  The license and distribution terms for this file may be
10 *  found in the file LICENSE in this distribution or at
11 *  http://www.OARcorp.com/rtems/license.html.
12 *
13 *  Modifications of respective RTEMS file:
14 *  Copyright (c) 1998, National Research Council of Canada
15 *
16 *  $Id$
17 */
18
19/* Base address and size of RAM on the MVME167 */
20
21RAM_SIZE = 4M;
22RAM_START = 0x00800000;
23RAM_END = RAM_START + RAM_SIZE;
24
25/*
26 * Declare some sizes.
27 * XXX: The assignment of ". += XyzSize;" fails in older gld's if the
28 *      number used there is not constant.  If this happens to you, edit
29 *      the lines marked XXX below to use a constant value.
30 */
31HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000;
32StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
33
34MEMORY
35{
36    ram : org = 0x00800000, l = 4M
37}
38
39SECTIONS
40{
41    .text 0x00800000 :
42    {
43                text_start = . ;
44                *(.text)
45                . = ALIGN (16);
46 
47                *(.eh_fram)
48                . = ALIGN (16);
49               
50                *(.gcc_exc)
51                . = ALIGN (16);
52 
53                /*
54                 * C++ constructors
55                 */
56                __CTOR_LIST__ = .;
57                LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
58                *(.ctors)
59                LONG(0)
60                __CTOR_END__ = .;
61                __DTOR_LIST__ = .;
62                LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
63                *(.dtors)
64                LONG(0)
65                __DTOR_END__ = .;
66                etext = ALIGN( 0x10 ) ;
67    } >ram
68
69    .data ADDR( .text ) + SIZEOF( .text ):
70    {
71        data_start = . ;
72        *(.data)
73        edata = ALIGN( 0x10 ) ;
74    } >ram
75
76    .bss ADDR( .data ) + SIZEOF( .data ):
77    {
78        bss_start = . ;
79        *(.bss)
80        *(COMMON)
81        end = . ;
82        _end = . ;
83
84                _HeapStart = .;
85                __HeapStart     = .;
86                . += HeapSize;  /* XXX -- Old gld can't handle this     */
87                _HeapEnd = .;
88                __HeapEnd = .;
89                _StackStart = .;
90                __StackStart = .;
91                . += StackSize; /* XXX -- Old gld can't handle this     */
92                /* . += 0x10000; */     /* HeapSize     for     old     gld     */
93                /* . += 0x1000;  */     /* StackSize for old gld */
94                . =     ALIGN (16);
95                _StackEnd = .;
96                __StackEnd = .;
97                stack_init = .;
98                clear_end =     .;
99
100                _WorkspaceBase = .;
101                __WorkspaceBase = .;
102    } >ram
103}
Note: See TracBrowser for help on using the repository browser.