Back to home page

LXR

 
 

    


Warning, /bsps/bfin/eZKit533/start/linkcmds is written in an unsupported language. File is not indexed.

0001 OUTPUT_FORMAT("elf32-bfin", "elf32-bfin",
0002             "elf32-bfin")
0003 
0004 OUTPUT_ARCH(bfin)
0005 ENTRY(__start)
0006 STARTUP(start.o)
0007 
0008 /*
0009  * Declare some sizes.
0010  */
0011 _RamBase = DEFINED(_RamBase) ? _RamBase : 0x0;
0012 _RamSize = DEFINED(_RamSize) ? _RamSize : 0x01000000;
0013 _RamEnd = _RamBase + _RamSize;
0014 _HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;
0015 
0016 MEMORY
0017 {
0018       sdram(rwx)    : ORIGIN = 0x00001000, LENGTH = 0x01000000
0019       l1code(rwx)   : ORIGIN = 0xffa08000, LENGTH = 0x00008000
0020       l1data(rwx)   : ORIGIN = 0xff804000, LENGTH = 0x00004000
0021 }
0022 
0023 SECTIONS
0024 {
0025 
0026     .l1code        : 
0027     { 
0028         /*jump.o (.text)*/
0029     } > l1code
0030 
0031     .init          : 
0032     { 
0033         KEEP (*(.init))
0034     } > sdram   /*=0*/
0035 
0036     .text :
0037     {
0038          CREATE_OBJECT_SYMBOLS
0039         *(.text)
0040         *(.rodata*)
0041         *(.gnu.linkonce.r*)
0042         
0043         /*
0044          * Special FreeBSD sysctl sections.
0045          */
0046         . = ALIGN (16);
0047         ___start_set_sysctl_set = .;
0048         *(set_sysctl_*);
0049         ___stop_set_sysctl_set = ABSOLUTE(.);
0050         *(set_domain_*);
0051         *(set_pseudo_*);
0052 
0053          _etext = .;
0054 
0055         ___CTOR_LIST__ = .;
0056         LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)
0057         *(.ctors)
0058         LONG(0)
0059         ___CTOR_END__ = .;
0060         ___DTOR_LIST__ = .;
0061         LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)
0062         *(.dtors)
0063         LONG(0)
0064         ___DTOR_END__ = .;         
0065     } > sdram
0066 
0067     .tdata : {
0068         __TLS_Data_begin = .;
0069         *(.tdata .tdata.* .gnu.linkonce.td.*)
0070         __TLS_Data_end = .;
0071     } > sdram
0072 
0073     .tbss : {
0074         __TLS_BSS_begin = .;
0075         *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
0076         __TLS_BSS_end = .;
0077     } > sdram
0078 
0079     __TLS_Data_size = __TLS_Data_end - __TLS_Data_begin;
0080     __TLS_Data_begin = __TLS_Data_size != 0 ? __TLS_Data_begin : __TLS_BSS_begin;
0081     __TLS_Data_end = __TLS_Data_size != 0 ? __TLS_Data_end : __TLS_BSS_begin;
0082     __TLS_BSS_size = __TLS_BSS_end - __TLS_BSS_begin;
0083     __TLS_Size = __TLS_BSS_end - __TLS_Data_begin;
0084     __TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
0085     
0086     .fini :
0087     {
0088         KEEP (*(.fini))
0089     } > sdram  /*=0*/ 
0090     
0091     .data :
0092     {
0093         *(.data)
0094         KEEP (*(SORT(.rtemsrwset.*)))
0095         *(.jcr)
0096         *(.gnu.linkonce.d*)
0097         CONSTRUCTORS
0098          _edata = .;
0099     } > sdram
0100 
0101     .eh_frame : { *(.eh_frame) } > sdram
0102     .data1   : { *(.data1) } > sdram
0103     .eh_frame : { *(.eh_frame) } > sdram
0104     .gcc_except_table : { *(.gcc_except_table*) } > sdram
0105 
0106     .rodata :
0107     {
0108         *(.rodata)
0109         *(.rodata.*)
0110         KEEP (*(SORT(.rtemsroset.*)))
0111         *(.gnu.linkonce.r*)
0112     } > sdram
0113 
0114     
0115     .bss :
0116     {
0117          _bss_start = .;
0118         _clear_start = .;
0119         *(.bss)
0120         *(.gnu.linkonce.b.*)
0121         *(COMMON)
0122         . = ALIGN (64);
0123         _clear_end = .;
0124          _end = .;
0125          __end = .;
0126     } > sdram
0127 
0128     .noinit (NOLOAD) : {
0129         *(SORT_BY_NAME (SORT_BY_ALIGNMENT (.noinit*)))
0130     } > sdram
0131 
0132     .rtemsstack (NOLOAD) : {
0133         *(SORT(.rtemsstack.*))
0134         _WorkAreaBase = .;
0135     } > sdram
0136 
0137 /* Debugging stuff follows */
0138 
0139   /* Stabs debugging sections.  */
0140   .stab 0 : { *(.stab) } 
0141   .stabstr 0 : { *(.stabstr) } 
0142   .stab.excl 0 : { *(.stab.excl) } 
0143   .stab.exclstr 0 : { *(.stab.exclstr) }
0144   .stab.index 0 : { *(.stab.index) } 
0145   .stab.indexstr 0 : { *(.stab.indexstr) } 
0146   .comment 0 : { *(.comment) }
0147   /* DWARF debug sections.
0148      Symbols in the DWARF debugging sections are relative to the beginning
0149      of the section so we begin them at 0.  */
0150   /* DWARF 1 */
0151   .debug          0 : { *(.debug) }
0152   .line           0 : { *(.line) }
0153   /* GNU DWARF 1 extensions */
0154   .debug_srcinfo  0 : { *(.debug_srcinfo) }
0155   .debug_sfnames  0 : { *(.debug_sfnames) }
0156   /* DWARF 1.1 and DWARF 2 */
0157   .debug_aranges  0 : { *(.debug_aranges) }
0158   .debug_pubnames 0 : { *(.debug_pubnames) }
0159   /* DWARF 2 */
0160   .debug_info     0 : { *(.debug_info) }
0161   .debug_abbrev   0 : { *(.debug_abbrev) }
0162   .debug_line     0 : { *(.debug_line) }
0163   .debug_frame    0 : { *(.debug_frame) }
0164   .debug_str      0 : { *(.debug_str) } 
0165   .debug_loc      0 : { *(.debug_loc) }
0166   .debug_macinfo  0 : { *(.debug_macinfo) } 
0167   /* SGI/MIPS DWARF 2 extensions */
0168   .debug_weaknames 0 : { *(.debug_weaknames) }
0169   .debug_funcnames 0 : { *(.debug_funcnames) }
0170   .debug_typenames 0 : { *(.debug_typenames) }
0171   .debug_varnames  0 : { *(.debug_varnames) } 
0172   /* These must appear regardless of  .  */   
0173 
0174   /* Addition to let linker know about custom section for GDB pretty-printing support. */
0175   .debug_gdb_scripts 0 : { *(.debug_gdb_scripts) }
0176 }
0177 
0178 __HeapSize = _HeapSize;
0179 __edata = _edata;
0180 __etext = _etext;