sh1lcevb.ld

来自「俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)」· LD 代码 · 共 114 行

LD
114
字号
/* Linker script for the SH1 Low-Cost Eval Board. */SEARCH_DIR(.)GROUP(-lc -lgcc)__DYNAMIC  =  0;/* The location of RAM comes from the manual.  We also leave an 8K pad   for the monitor's own working data and stack.  Note that the smallest   boards only have 64K of RAM, so no room for SPEC benchmarks here! */MEMORY{  ram (rwx) : ORIGIN = 0xa002000, LENGTH = 0x10000}/* Put the stack up high. *//* (Commented out because it doesn't seem to work right) *//*PROVIDE (__stack = 0xa00ff00);*//* Initalize some symbols to be zero so we can reference them in the   crt0 without core dumping. These functions are all optional, but   we do this so we can have our crt0 always use them if they exist.    This is so BSPs work better when using the crt0 installed with gcc.   We have to initalize them twice, so we cover a.out (which prepends   an underscore) and coff object file formats. */PROVIDE (hardware_init_hook = 0);PROVIDE (_hardware_init_hook = 0);PROVIDE (software_init_hook = 0);PROVIDE (_software_init_hook = 0);/* Put everything in ram (of course).  */SECTIONS{  .text :  {    *(.text)    . = ALIGN(0x4);     __CTOR_LIST__ = .;    LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)    ___ctors = .;    *(.ctors)    ___ctors_end = .;    LONG(0)    __CTOR_END__ = .;    __DTOR_LIST__ = .;    LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)    ___dtors = .;    *(.dtors)    ___dtors_end = .;     LONG(0)    __DTOR_END__ = .;    *(.rodata)    *(.gcc_except_table)      _etext = .;    *(.lit)  } > ram  .data BLOCK (0x4) :  {    *(.shdata)    *(.data)    _edata = .;  } > ram  .bss BLOCK (0x4) :  {    __bss_start = . ;    *(.shbss)    *(.bss)    *(COMMON)    _end =  ALIGN (0x8);    __end = _end;  } > ram  /* I know, I know, stack sections are supposed to be useless; but     this actually worked for me, as opposed to the PROVIDE. */  .stack 0xa00ff00 :  {	__stack = .;  } > ram  .stab 0 (NOLOAD) : { *(.stab) }  .stabstr 0 (NOLOAD) : { *(.stabstr) }  /* 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 + =
减小字号Ctrl + -
显示快捷键?