Back to home page

LXR

 
 

    


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