summaryrefslogblamecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386/startup/linkcmds
blob: bdba54808ac17ae6506ad254c10cd4116ac21935 (plain) (tree)





















                                                                            
                             
                                                     



                                                                  
                                                                            

       




                                                                             





                 


                     

                 
            

                   
                

                   

                       












                                                
 

                       
                       
                              

                            
   
 

                                
                                        


                     

                        

                            
 







                                       









































                                                                          
/*-------------------------------------------------------------------------+
| linkcmds v1.1 - PC386 BSP - 1997/08/07
+--------------------------------------------------------------------------+
| This file contains directives for the GNU linker which are specific to the
| PC386 bsp.
+--------------------------------------------------------------------------+
| (C) Copyright 1997 -
| - NavIST Group - Real-Time Distributed Systems and Industrial Automation
|
| http://pandora.ist.utl.pt
|
| Instituto Superior Tecnico * Lisboa * PORTUGAL
+--------------------------------------------------------------------------+
| Disclaimer:
|
| This file is provided "AS IS" without warranty of any kind, either
| expressed or implied.
+--------------------------------------------------------------------------+
| This code is based on:
|   linkcmds,v 1.3 1995/12/19 20:06:58 joel Exp - FORCE CPU386 BSP
| With the following copyright notice:
| **************************************************************************
| *  COPYRIGHT (c) 1989-1999.
| *  On-Line Applications Research Corporation (OAR).
| *
| *  The license and distribution terms for this file may be
| *  found in found in the file LICENSE in this distribution or at
| *  http://www.OARcorp.com/rtems/license.html.
| **************************************************************************
|
|  $Id$
+--------------------------------------------------------------------------*/


SECTIONS
{
/*  .m_hdr :  
  {
    . = ALIGN(4);
    *(.m_hdr)
  }
*/
  .text :
  {
    _text_start = . ;
    . = ALIGN(4);
    *(.m_hdr)
    *(.text)
    . = ALIGN (16);

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

    *(.gnu.linkonce.t*)

    /*
     * 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 ) ;
  }

  .init : { *(.init) } = 0x9090 
  .fini : { *(.fini) } = 0x9090 
  .data ADDR( .fini ) + SIZEOF( .fini ):
  {
    _data_start = . ;
    *(.data)
    *(.gnu.linkonce.d*)
    *(.gcc_except_table)
    _edata = ALIGN( 0x10 ) ;
  }

  .bss ADDR( .data ) + SIZEOF( .data ):
  {
    _bss_start = . ;
    *(.bss)
    *(COMMON)
    _end = . ;
    __end = . ;
  }

  /* Stabs debugging sections.  */
  .stab 0 : { *(.stab) }
  .stabstr 0 : { *(.stabstr) }
  .stab.excl 0 : { *(.stab.excl) }
  .stab.exclstr 0 : { *(.stab.exclstr) }
  .stab.index 0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment 0 : { *(.comment) }
  
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* These must appear regardless of  .  */
}