summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/idp/startup/linkcmds
blob: 68026b08f8fb059d3a3fadf54754a4212a57ba39 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/* This file is a derivation of that found with the newlib-1.6 distribution
 * for the idp.ld file.  That file, it appears, was originally written by
 * Rob Savoye.  Other ideas came from Joel Sherrill for the RTEMS linkcmds
 * file (this is basically a mixture of the two).
 *
 *  $Id$
 */

/*
 * Setup the memory map of the MC68ec0x0 Board (IDP)
 * stack grows up towards high memory. This works for
 * both the rom68k and the mon68k monitors.
 */
MEMORY 
{
     ram : org = 0x10000, l = 2M
}

SECTIONS
{
    .text 0x10000:  
    {
        text_start = . ;
        _text_start = . ;
        *(.text)
	. = ALIGN (16);

	*(.eh_fram)
	. = ALIGN (16);

	/*
	 * C++ constructors
	 */
	__CTOR_LIST__ = .;
	LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
	*(.ctors)
	LONG(0)
	__CTOR_END__ = .;
	__DTOR_LIST__ = .;
	LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
	*(.dtors)
	LONG(0)
	__DTOR_END__ = .;
        etext = ALIGN( 0x10 ) ;
        _etext = .;
    } 
    .data ADDR( .text ) + SIZEOF( .text ): 
    {
        data_start = . ;
        _data_start = .;
        *(.data)
        edata = ALIGN( 0x10 ) ;
        _edata = .;
    }
    .bss ADDR( .data ) + SIZEOF( .data ): 
    {
        bss_start = . ;
        _bss_start = . ;
        *(.bss)
        *(COMMON)
        end = . ;
        _end = . ;
    }  
}