Home | History | Annotate | Download | only in scripttempl
      1 # Copyright (C) 2014 Free Software Foundation, Inc.
      2 # 
      3 # Copying and distribution of this file, with or without modification,
      4 # are permitted in any medium without royalty provided the copyright
      5 # notice and this notice are preserved.
      6 
      7 cat <<EOF
      8 /* Copyright (C) 2014 Free Software Foundation, Inc.
      9 
     10    Copying and distribution of this script, with or without modification,
     11    are permitted in any medium without royalty provided the copyright
     12    notice and this notice are preserved.  */
     13 
     14 OUTPUT_FORMAT("${OUTPUT_FORMAT}")
     15 OUTPUT_ARCH(${ARCH})
     16 ${RELOCATING+ENTRY (_start)}
     17 ${RELOCATING+${LIB_SEARCH_DIRS}}
     18 
     19 SECTIONS
     20 {
     21   .text ${RELOCATING+ 0x2000 + SIZEOF_HEADERS} :
     22     {
     23       ${RELOCATING+ __.text.start = .};
     24       *(.text)
     25       ${RELOCATING+ etext  =  .;}
     26       ${RELOCATING+ _etext  =  .;}
     27       ${RELOCATING+ __.text.end = .};
     28       ${CONSTRUCTING+ __CTOR_LIST__ = .;}
     29       ${CONSTRUCTING+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)}
     30       ${CONSTRUCTING+ *(.ctors)}
     31       ${CONSTRUCTING+ LONG(0)}
     32       ${CONSTRUCTING+ __CTOR_END__ = .;}
     33       ${CONSTRUCTING+ __DTOR_LIST__ = .;}
     34       ${CONSTRUCTING+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)}
     35       ${CONSTRUCTING+ *(.dtors)}
     36       ${CONSTRUCTING+ LONG(0)}
     37       ${CONSTRUCTING+ __DTOR_END__ = .;}
     38     }
     39   .data ${RELOCATING+ SIZEOF(.text) + ADDR(.text) + 0x400000} :
     40     {
     41       ${RELOCATING+ __.data.start = .};
     42       *(.data)
     43       ${RELOCATING+ edata  =  .};
     44       ${RELOCATING+ _edata  =  .};
     45       ${RELOCATING+ __.data.end = .};
     46     }
     47   .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
     48     { 					
     49       ${RELOCATING+ __.bss.start = .};
     50       *(.bss)
     51       *(COMMON)
     52       ${RELOCATING+ __.bss.end = .};
     53       ${RELOCATING+ end = ALIGN(0x8)};
     54       ${RELOCATING+ _end = ALIGN(0x8)};
     55     }
     56   .comment ${RELOCATING+ 0} :
     57     {
     58       *(.comment)
     59     }
     60 }
     61 EOF
     62