gonzui


Format: Advanced Search

t2ex/t2ex_source/kernel/sysmain/build_t2ex/tef_em1d/kernel_t2ex-rom.lnkbare sourcepermlink (0.01 seconds)

Search this content:

    1: /*
    2:  *----------------------------------------------------------------------
    3:  *    T2EX Software Package
    4:  *
    5:  *    Copyright 2012 by Ken Sakamura.
    6:  *    This software is distributed under the latest version of T-License 2.x.
    7:  *----------------------------------------------------------------------
    8:  *
    9:  *    Released by T-Engine Forum(http://www.t-engine.org/) at 2012/12/12.
   10:  *    Modified by T-Engine Forum at 2013/03/04.
   11:  *    Modified by TRON Forum(http://www.tron.org/) at 2015/06/04.
   12:  *
   13:  *----------------------------------------------------------------------
   14:  */
   15: /*
   16:  * This software package is available for use, modification, 
   17:  * and redistribution in accordance with the terms of the attached 
   18:  * T-License 2.x.
   19:  * If you want to redistribute the source code, you need to attach 
   20:  * the T-License 2.x document.
   21:  * There's no obligation to publish the content, and no obligation 
   22:  * to disclose it to the TRON Forum if you have modified the 
   23:  * software package.
   24:  * You can also distribute the modified source code. In this case, 
   25:  * please register the modification to T-Kernel traceability service.
   26:  * People can know the history of modifications by the service, 
   27:  * and can be sure that the version you have inherited some 
   28:  * modification of a particular version or not.
   29:  *
   30:  *    http://trace.tron.org/tk/?lang=en
   31:  *    http://trace.tron.org/tk/?lang=ja
   32:  *
   33:  * As per the provisions of the T-License 2.x, TRON Forum ensures that 
   34:  * the portion of the software that is copyrighted by Ken Sakamura or 
   35:  * the TRON Forum does not infringe the copyrights of a third party.
   36:  * However, it does not make any warranty other than this.
   37:  * DISCLAIMER: TRON Forum and Ken Sakamura shall not be held
   38:  * responsible for any consequences or damages caused directly or
   39:  * indirectly by the use of this software package.
   40:  *
   41:  * The source codes in bsd_source.tar.gz in this software package are 
   42:  * derived from NetBSD or OpenBSD and not covered under T-License 2.x.
   43:  * They need to be changed or redistributed according to the 
   44:  * representation of each source header.
   45:  */
   46: 
   47: /*
   48:  *      kernel_t2ex-rom.lnk (sysmain, EM1-D512)
   49:  *      linker script (ROM, with T2EX memory protection)
   50:  */
   51: 
   52: OUTPUT_FORMAT("elf32-larm-tkernel", "elf32-barm-tkernel", "elf32-larm-tkernel")
   53: OUTPUT_ARCH(arm)
   54: ENTRY(_start)
   55: 
   56: SECTIONS {
   57:         .text 0x70030000 : {
   58:                 /* System Level (Executable) */
   59:                 PROVIDE (__stext = .);
   60:                 PROVIDE (_stext = .);
   61:                 PROVIDE (stext = .);
   62:                 KEEP (*(.init))
   63:                 *(EXCLUDE_FILE (*.uo) .text)
   64:                 *(EXCLUDE_FILE (*.uo) .text.*)
   65:                 *(EXCLUDE_FILE (*.uo) .stub)
   66:                 KEEP (*(.fini))
   67:                 PROVIDE (__etext = .);
   68:                 PROVIDE (_etext = .);
   69:                 PROVIDE (etext = .);
   70:                 . = ALIGN(4);
   71:                 /* System Level (Read-Only Data) */
   72:                 PROVIDE (__srodata = .);
   73:                 PROVIDE (_srodata = .);
   74:                 PROVIDE (srodata = .);
   75:                 *(EXCLUDE_FILE (*.uo) .rodata)
   76:                 *(EXCLUDE_FILE (*.uo) .rodata.*)
   77:                 *(EXCLUDE_FILE (*.uo) .rodata1)
   78:                 PROVIDE (__erodata = .);
   79:                 PROVIDE (_erodata = .);
   80:                 PROVIDE (erodata = .);
   81:                 . = ALIGN(4);
   82:                 /* User Level (Executable) */
   83:                 PROVIDE (__stext_usr = .);
   84:                 PROVIDE (_stext_usr = .);
   85:                 PROVIDE (stext_usr = .);
   86:                 *.uo(.text)
   87:                 *.uo(.text.*)
   88:                 *.uo(.stub)
   89:                 PROVIDE (__etext_usr = .);
   90:                 PROVIDE (_etext_usr = .);
   91:                 PROVIDE (etext_usr = .);
   92:                 . = ALIGN(4);
   93:                 /* User Level (Read-Only Data) */
   94:                 PROVIDE (__srodata_usr = .);
   95:                 PROVIDE (_srodata_usr = .);
   96:                 PROVIDE (srodata_usr = .);
   97:                 *.uo(.rodata)
   98:                 *.uo(.rodata.*)
   99:                 *.uo(.rodata1)
  100:                 PROVIDE (__erodata_usr = .);
  101:                 PROVIDE (_erodata_usr = .);
  102:                 PROVIDE (erodata_usr = .);
  103:         } =0
  104:         __data_org = ALIGN(4);
  105:         .data 0x30006000 : AT(__data_org) {
  106:                 __data_start = . ;
  107:                 *(EXCLUDE_FILE (*.uo) .data)
  108:                 *(EXCLUDE_FILE (*.uo) .data.*)
  109:                 SORT(CONSTRUCTORS)
  110:                 *(EXCLUDE_FILE (*.uo) .data1)
  111:                 KEEP (*(EXCLUDE_FILE (*.uo) .eh_frame))
  112:                 *(EXCLUDE_FILE (*.uo) .gcc_except_table)
  113:                 KEEP (*crtbegin.o(.ctors))
  114:                 KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
  115:                 KEEP (*(SORT(.ctors.*)))
  116:                 KEEP (*(.ctors))
  117:                 KEEP (*crtbegin.o(.dtors))
  118:                 KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
  119:                 KEEP (*(SORT(.dtors.*)))
  120:                 KEEP (*(.dtors))
  121:                 *(EXCLUDE_FILE (*.uo) .sdata)
  122:                 *(EXCLUDE_FILE (*.uo) .sdata.*)
  123:                 . = ALIGN(4);
  124:                 _edata = .;
  125:                 PROVIDE (edata = .);
  126:         }
  127:         .bss ALIGN(4) : {
  128:                 __bss_start = .;
  129:                 PROVIDE (__sbss_start = .);
  130:                 PROVIDE (___sbss_start = .);
  131:                 *(EXCLUDE_FILE (*.uo) .sbss)
  132:                 *(EXCLUDE_FILE (*.uo) .sbss.*)
  133:                 *(EXCLUDE_FILE (*.uo) .scommon)
  134:                 PROVIDE (__sbss_end = .);
  135:                 PROVIDE (___sbss_end = .);
  136:                 *(EXCLUDE_FILE (*.uo) .bss)
  137:                 *(EXCLUDE_FILE (*.uo) .bss.*)
  138:                 *(EXCLUDE_FILE (*.uo) COMMON)
  139:                 . = ALIGN(4);
  140:                 _end = .;
  141:                 PROVIDE (end = .);
  142:         }
  143:         __data_usr_org = LOADADDR(.bss) + SIZEOF(.bss);
  144:         .data_usr ALIGN(0x1000) : AT(__data_usr_org) {
  145:                 __data_usr_start = . ;
  146:                 *.uo(.data)
  147:                 *.uo(.data.*)
  148:                 *.uo(.data1)
  149:                 KEEP (*.uo(.eh_frame))
  150:                 *.uo(.gcc_except_table)
  151:                 *.uo(.sdata)
  152:                 *.uo(.sdata.*)
  153:                 . = ALIGN(4);
  154:                 _edata_usr = .;
  155:                 PROVIDE (edata_usr = .);
  156:         }
  157:         .bss_usr ALIGN(4) : {
  158:                 __bss_usr_start = .;
  159:                 PROVIDE (__sbss_usr_start = .);
  160:                 PROVIDE (___sbss_usr_start = .);
  161:                 *.uo(.sbss)
  162:                 *.uo(.sbss.*)
  163:                 *.uo(.scommon)
  164:                 PROVIDE (__sbss_usr_end = .);
  165:                 PROVIDE (___sbss_usr_end = .);
  166:                 *.uo(.bss)
  167:                 *.uo(.bss.*)
  168:                 *.uo(COMMON)
  169:                 . = ALIGN(4);
  170:                 _end_usr = .;
  171:                 PROVIDE (end_usr = .);
  172:         }
  173: }