summaryrefslogblamecommitdiffstats
path: root/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds
blob: 24b487fef3431222693f699305ce2c7d9b28e603 (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                                                                       
                            
                                                    
                                                
  

                                                           
                                              







                                                                  

                                                    











                                        

                           




                                                                           















                                                        





                                      







                                              

                                








                                             


                                                                  



                      
/*
 *  This file contains directives for the GNU linker which are specific
 *  to the Motorola MVME147 boards.
 *
 *  COPYRIGHT (c) 1989-1998.
 *  On-Line Applications Research Corporation (OAR).
 *  Copyright assigned to U.S. Government, 1994.
 *
 *  The license and distribution terms for this file may be
 *  found in the file LICENSE in this distribution or at
 *  http://www.OARcorp.com/rtems/license.html.
 *
 *  MVME147 port for TNI - Telecom Bretagne
 *  by Dominique LE CAMPION (Dominique.LECAMPION@enst-bretagne.fr)
 *  May 1996
 *
 *  $Id$
 */

StackSize = DEFINED(StackSize) ? StackSize : 0x1000;

MEMORY
	{
	ram : org = 0x7000, l = 0x3d8fff
	}

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

            *(.gnu.linkonce.t.*)
            *(.descriptors)
            /* .gnu.warning sections are handled specially by elf32.em.  */
            *(.gnu.warning)

	    *(.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__ = .;

            _rodata_start = . ;
            *(.rodata)
            *(.gnu.linkonce.r*)
            _erodata = ALIGN( 0x10 ) ;

	    etext = ALIGN( 0x10 ) ;
	    _etext = .;
        }
        .data ADDR( .text ) + SIZEOF( .text ):
	{
	    data_start = . ;
            _data_start = .;
            *(.data)
            *(.gnu.linkonce.d*)
            *(.gcc_except_table)
	    edata = ALIGN( 0x10 ) ;
            _edata = .;
        }
        .bss ADDR( .data ) + SIZEOF( .data ):
        {
	    bss_start = . ;
	    _bss_start = . ;
	    *(.bss)
	    *(COMMON)
	    . += StackSize; /* XXX -- Old gld can't handle this */
	    . = ALIGN (16);
	    stack_init = .;
	    end = . ;
	    _end = . ;
	}
}