www.pudn.com > ucosii_core.rar > link.xn, change:2007-06-15,size:3103b


/************************************************************************** 
*                                                                         * 
*   PROJECT     : MIPS port for uC/OS-II                                  * 
*                                                                         * 
*   MODULE      : link.xn                                                 * 
*                                                                         * 
*   AUTHOR      : Michael Anburaj                                         * 
*                 URL  : http://geocities.com/michaelanburaj/             * 
*                 EMAIL: michaelanburaj@hotmail.com                       * 
*                                                                         * 
*   PROCESSOR   : MIPS 4Kc (32 bit RISC) - ATLAS board                    * 
*                                                                         * 
*   TOOL-CHAIN  : SDE & Cygnus                                            * 
*                                                                         * 
*   DESCRIPTION :                                                         * 
*   Linker script file                                                    * 
*                                                                         * 
**************************************************************************/ 
 
OUTPUT_FORMAT("elf32-tradlittlemips") 
OUTPUT_ARCH(mips) 
 
/**** Start point ****/ 
ENTRY(_start)			/* Entry point of application		*/ 
 
MEMORY 
{ 
    ram (wx) : ORIGIN = 0x80000000, LENGTH = 32M 
} 
 
SECTIONS 
{ 
  /**** Code and read-only data ****/ 
 
  .text 0x80100000 : 
  { 
    _ftext = ABSOLUTE(.) ;	/* Start of code and read-only data	*/ 
    *(.text*) 
    *(.gnu.linkonce.*) 
    *(__libc*) 
    _ecode = ABSOLUTE(.) ;	/* End of code				*/ 
 
    *(.rodata*) 
 
    . = ALIGN(8); 
    _etext = ABSOLUTE(.);	/* End of code and read-only data	*/ 
  } > ram 
 
  /**** Initialised data ****/ 
 
  .data : 
  { 
    _fdata = ABSOLUTE(.);	/* Start of initialised data		*/ 
    *(.data*) 
    *(.eh_frame*) 
    *(.gcc_except_table*) 
    
    . = ALIGN(8); 
    __CTOR_LIST__ = ABSOLUTE(.); 
    KEEP(*(SORT(.ctors*))) 
    __CTOR_END__ = ABSOLUTE(.); 
    __DTOR_LIST__ = ABSOLUTE(.); 
    KEEP(*(SORT(.dtors*))) 
    __DTOR_END__ = ABSOLUTE(.); 
 
    _gp = ABSOLUTE(. + 0x7ff0); /* Base of small data			*/ 
 
    *(.lit8)  
    *(.lit4)  
    *(.sdata)  
 
    . = ALIGN(8); 
 
    _edata  = ABSOLUTE(.);	/* End of initialised data		*/ 
  } > ram 
 
  /**** Uninitialised data ****/ 
 
  _fbss = .;			/* Start of uninitialised data		*/ 
 
  .sbss :  
  {  
    *(.sbss)  
    *(.scommon) 
  } 
  .bss : 
  { 
    *(.bss) 
    *(COMMON) 
 
    /* Allocate room for stack */ 
    .   =  ALIGN(8) ; 
    _freemem = .; 
  } 
 
  _end = . ;			/* End of unitialised data		*/ 
 
  .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) } 
  .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) } 
 
  /DISCARD/ : 
  { 
    *(.reginfo) 
  } 
 
  PROVIDE(etext = _etext); 
  PROVIDE (edata = .); 
  PROVIDE (end = .); 
}