⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linkcmds

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻
字号:
/* * Memory layout for SH4 GNU simulator. * * Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia * Author: Victor V. Vengerov <vvv@oktet.ru> * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * *  COPYRIGHT (c) 1998-2001. *  On-Line Applications Research Corporation (OAR). * *  The license and distribution terms for this file may be *  found in the file LICENSE in this distribution or at *  http://www.rtems.com/license/LICENSE. * *  $Id: linkcmds,v 1.7.2.2 2003/09/04 18:45:31 joel Exp $ *//*OUTPUT_FORMAT("coff-sh") */OUTPUT_ARCH(sh)ENTRY(_start)_HeapSize = DEFINED(_HeapSize) ? _HeapSize : (512 * 1024);_WorkspaceSize = DEFINED(_WorkspaceSize) ? _WorkspaceSize : (1024 * 1024);/* These assignments load code into SH7045F EVB SRAM for monitor debugging */MEMORY{  ram           : o = 0x00000000, l = 0x01000000}/* Sections are defined for RAM loading and monitor debugging */SECTIONS{  /* Read-only sections, merged into text segment: */  . = 0x00004000 ;  .interp        : { *(.interp) 	}  .hash          : { *(.hash)		}  .dynsym        : { *(.dynsym)		}  .dynstr        : { *(.dynstr)		}  .gnu.version   : { *(.gnu.version)	}  .gnu.version_d : { *(.gnu.version_d)	}  .gnu.version_r : { *(.gnu.version_r)	}  .rel.text      :    { *(.rel.text) *(.rel.gnu.linkonce.t*) }  .rela.text     :    { *(.rela.text) *(.rela.gnu.linkonce.t*) }  .rel.data      :    { *(.rel.data) *(.rel.gnu.linkonce.d*) }  .rela.data     :    { *(.rela.data) *(.rela.gnu.linkonce.d*) }  .rel.rodata    :    { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }  .rela.rodata   :    { *(.rela.rodata) *(.rela.gnu.linkonce.r*) }  .rel.got       : { *(.rel.got)		}  .rela.got      : { *(.rela.got)		}  .rel.ctors     : { *(.rel.ctors)	}  .rela.ctors    : { *(.rela.ctors)	}  .rel.dtors     : { *(.rel.dtors)	}  .rela.dtors    : { *(.rela.dtors)	}  .rel.init      : { *(.rel.init)	}  .rela.init     : { *(.rela.init)	}  .rel.fini      : { *(.rel.fini)	}  .rela.fini     : { *(.rela.fini)	}  .rel.bss       : { *(.rel.bss)		}  .rela.bss      : { *(.rela.bss)		}  .rel.plt       : { *(.rel.plt)		}  .rela.plt      : { *(.rela.plt)		}  .init          : { *(.init)	} =0  .plt      	 : { *(.plt)	}  .text   .   	 :  {    *(.text)    *(.stub)    /*     * Special FreeBSD sysctl sections.     */    . = ALIGN (16);    ___start_set_sysctl_set = .;    *(set_sysc*);   /* set_sysctl_* but name is truncated by SH-coff */    ___stop_set_sysctl_set = ABSOLUTE(.);    *(set_doma*);   /* set_domain_* but name is truncated by SH-coff */    *(set_pseu*);   /* set_pseudo_* but name is truncated by SH-coff */    /* .gnu.warning sections are handled specially by elf32.em.  */    *(.gnu.warning)    *(.gnu.linkonce.t*)  } > ram  _etext = .;  PROVIDE (etext = .);  .fini    .  : { *(.fini)    } =0  .rodata  .  : { *(.rodata*) *(.gnu.linkonce.r*) }  .rodata1 .  : { *(.rodata1) }  /* Adjust the address for the data segment.  We want to adjust up to     the same address within the page on the next page up.  */  . = ALIGN(128) + (. & (128 - 1));  .data  .  :  {    *(.data)    *(.gcc_exc*)    ___EH_FRAME_BEGIN__ = .;    *(.eh_fram*)    ___EH_FRAME_END__ = .;    LONG(0);    *(.gcc_except_table)    *(.gnu.linkonce.d*)    CONSTRUCTORS  } > ram  .data1  . : { *(.data1) }  .ctors  .       :  {    ___ctors = .;    *(.ctors)    ___ctors_end = .;  }  .dtors  .       :  {    ___dtors = .;    *(.dtors)    ___dtors_end = .;  }  .got     .      : { *(.got.plt) *(.got) }  .dynamic .      : { *(.dynamic) }  /* We want the small data sections together, so single-instruction offsets     can access them all, and initialized data all before uninitialized, so     we can shorten the on-disk segment size.  */  .sdata   .  : { *(.sdata) }  _edata  =  .;  PROVIDE (edata = .);  __bss_start = .;  .sbss    .  : { *(.sbss) *(.scommon) }  .bss     .  :  {   *(.dynbss)   *(.bss)   *(COMMON)  } > ram  _end = . ;  PROVIDE (end = .);  . = ALIGN(16);  _HeapStart = . ;  . = . + _HeapSize ;  PROVIDE( _HeapEnd = . );  . = ALIGN(16);  _WorkSpaceStart = . ;  . = . + _WorkspaceSize ;  PROVIDE(_WorkSpaceEnd = .);  . = ALIGN(16);  .stack . : {     . = . + 4096;  }  . = ALIGN(16);  _CPU_Interrupt_stack_low  = . ;  _CPU_Interrupt_stack_high = _CPU_Interrupt_stack_low + 4096 ;  /* Stabs debugging sections.  */  .stab 0 : { *(.stab) }  .stabstr 0 : { *(.stabstr) }  .stab.excl 0 : { *(.stab.excl) }  .stab.exclstr 0 : { *(.stab.exclstr) }  .stab.index 0 : { *(.stab.index) }  .stab.indexstr 0 : { *(.stab.indexstr) }  .comment 0 : { *(.comment) }  /* DWARF debug sections.     Symbols in the DWARF debugging sections are relative to the beginning     of the section so we begin them at 0.  */  /* DWARF 1 */  .debug          0 : { *(.debug) }  .line           0 : { *(.line) }  /* GNU DWARF 1 extensions */  .debug_srcinfo  0 : { *(.debug_srcinfo) }  .debug_sfnames  0 : { *(.debug_sfnames) }  /* DWARF 1.1 and DWARF 2 */  .debug_aranges  0 : { *(.debug_aranges) }  .debug_pubnames 0 : { *(.debug_pubnames) }  /* DWARF 2 */  .debug_info     0 : { *(.debug_info) }  .debug_abbrev   0 : { *(.debug_abbrev) }  .debug_line     0 : { *(.debug_line) }  .debug_frame    0 : { *(.debug_frame) }  .debug_str      0 : { *(.debug_str) }  .debug_loc      0 : { *(.debug_loc) }  .debug_macinfo  0 : { *(.debug_macinfo) }  /* SGI/MIPS DWARF 2 extensions */  .debug_weaknames 0 : { *(.debug_weaknames) }  .debug_funcnames 0 : { *(.debug_funcnames) }  .debug_typenames 0 : { *(.debug_typenames) }  .debug_varnames  0 : { *(.debug_varnames) }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -