mips_rm7000.ld

来自「eCos操作系统源码」· LD 代码 · 共 374 行 · 第 1/2 页

LD
374
字号
    } > _region_#define SECTION_rodata1(_region_, _vma_, _lma_)       \  .rodata1 _vma_ : _lma_                              \    {                                                 \     FORCE_OUTPUT; *(.rodata1) *(.rodata1.*)          \    } > _region_#define SECTION_vsr_table(_region_, _vma_, _lma_)     \  .vsr_table _vma_ : _lma_                            \    {                                                 \      FORCE_OUTPUT; *(.vsr_table)                     \    } > _region_#define SECTION_data(_region_, _vma_, _lma_)          \  .data _vma_ : _lma_                                 \    {                                                 \      __ram_data_start = ABSOLUTE (.); _fdata = . ;   \      *(.data) *(.data.*) *(.gnu.linkonce.d*)         \      *( .2ram.*)                                     \    . = ALIGN (8);                                    \    SORT(CONSTRUCTORS)                                \    } > _region_                                      \    __rom_data_start = LOADADDR(.data);#define SECTION_data1(_region_, _vma_, _lma_)         \  .data1 _vma_ : _lma_                                \    {                                                 \       FORCE_OUTPUT; *(.data1) *(.data1.*)            \    } > _region_#define SECTION_eh_frame(_region_, _vma_, _lma_)      \  .eh_frame _vma_ : _lma_                             \    {                                                 \       FORCE_OUTPUT; *(.eh_frame)                     \    } > _region_#define SECTION_gcc_except_table(_region_, _vma_, _lma_) \  .gcc_except_table _vma_ : _lma_                        \    {                                                    \      FORCE_OUTPUT; *(.gcc_except_table)                 \    } > _region_/* FIXME: We shouldn't need to define __CTOR_LIST__/__CTOR_END__   and __DTOR_LIST__/__DTOR_END__ except by the PROVIDE lines.   However this doesn't work for old (99r1-era) toolchains, so   leave it for now. *//* The KEEP(*_ctors.o(.ctors)) rule is included to prevent   constructors from libgcc.a from turning up in the image.   They are NULL anyway. */#define SECTION_ctors(_region_, _vma_, _lma_)     \  .ctors _vma_ : _lma_                            \    {                                             \      FORCE_OUTPUT;                               \      KEEP (*crtbegin.o(.ctors))                  \      KEEP (*_ctors.o(.ctors))                  \      __CTOR_LIST__ = .;                \      PROVIDE (__CTOR_LIST__ = .);                \      KEEP (*(.ctors));                      \      KEEP (*(SORT(.ctors.*)))                    \      __CTOR_END__ = .;                 \      PROVIDE (__CTOR_END__ = .);                 \    } > _region_#define SECTION_dtors(_region_, _vma_, _lma_)     \  .dtors _vma_ : _lma_                            \    {                                             \      FORCE_OUTPUT;                               \      KEEP (*crtbegin.o(.dtors))                  \      __DTOR_LIST__ = .;                \      PROVIDE (__DTOR_LIST__ = .);                \      KEEP (*(SORT(.dtors.*)))                    \      __DTOR_END__ = .;                 \      KEEP (*(.dtors));                      \      PROVIDE (__DTOR_END__ = .);                 \    } > _region_#define SECTION_devtab(_region_, _vma_, _lma_)    \  .devtab _vma_ : _lma_                           \    {                                             \      FORCE_OUTPUT;                               \      KEEP(*( SORT (.ecos.table.*))) ;            \    } > _region_#define SECTION_got(_region_, _vma_, _lma_)     \  _gp = ALIGN(16) + 0x7ff0;                     \  .got _vma_ : _lma_                            \    {                                           \      FORCE_OUTPUT; *(.got.plt) *(.got)         \    } > _region_#define SECTION_dynamic(_region_, _vma_, _lma_) \  .dynamic _vma_ : _lma_                        \    {                                           \      FORCE_OUTPUT; *(.dynamic)                 \    } > _region_  /* 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.  */#define SECTION_sdata(_region_, _vma_, _lma_)                 \  .sdata _vma_ : _lma_                                        \    {                                                         \      FORCE_OUTPUT; *(.sdata) *(.sdata.*) *(.gnu.linkonce.s*) \    } > _region_#define SECTION_lit8(_region_, _vma_, _lma_)    \  .lit8 _vma_ : _lma_                           \    {                                           \      FORCE_OUTPUT; *(.lit8)                    \    } > _region_#define SECTION_lit4(_region_, _vma_, _lma_)    \  .lit4 : FOLLOWING(.lit8)                      \    {                                           \      FORCE_OUTPUT; *(.lit4)                    \    } > _region_                                \  __ram_data_end = .; _edata = . ;              \  PROVIDE (edata = .);#define SECTION_sbss(_region_, _vma_, _lma_)                    \  __bss_start = .; _fbss = .;                                   \  .sbss _vma_ : _lma_                                           \    {                                                           \      FORCE_OUTPUT; *(.dynsbss) *(.sbss) *(.sbss.*) *(.scommon) \    } > _region_#define SECTION_bss(_region_, _vma_, _lma_)       \  .bss _vma_ : _lma_                              \    {                                             \      *(.dynbss) *(.bss) *(.bss.*) *(COMMON)      \    } > _region_                                  \  __bss_end = .;/* The /DISCARD/ section ensures that the output will not contain a * .mdebug section as it confuses GDB. This is a workaround for CR 100804. */#define SECTIONS_END . = ALIGN(4); _end = .; PROVIDE (end = .); \  /* 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) }                   \  /* These must appear regardless of  .  */                     \  .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }             \  .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }                \  /DISCARD/        0 : { *(.mdebug) }#include CYGHWR_MEMORY_LAYOUT_LDI// 0-0x200 reserved for vectorshal_vsr_table = 0x80000200;hal_virtual_vector_table = 0x80000300;

⌨️ 快捷键说明

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