link.DOTBOOTROM
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:4k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* link.DOTBOOTROM - gnu linker command file for VxWorks: DOTBOOT ROM */
  2. /* Copyright 1984-2001 Wind River Systems, Inc. */
  3. /* This file was automatically generated using tool/common/ldscripts. */
  4. /*
  5. modification history
  6. --------------------
  7. 01i,06feb02,sn   Both: place .got2 to handle tramp.o (_x_gnu_tramp.o).
  8. 01h,25jan02,tpw  GNU: give debug sections explicit 0 addresses.
  9. 01g,14jan02,tpw  Diab: place .eh_frame data, in case of insistent GNU objects.
  10. 01f,14dec01,tpw  Diab: provide both underscore options of wrs_kernel* here too.
  11. 01e,05dec01,tpw  Both: Add .boot and .reset section support, for PPC 4xx series
  12.                  and Book E.
  13. 01d,05dec01,tpw  Diab: Add .frame_info section to text region.
  14. 01c,03dec01,jab  Diab: replaced LOAD() with AT()
  15. 01b,14nov01,tpw  ALL: Correct some more bootrom/kernel issues.
  16. 01b,06nov01,tpw  GNU: Add /DISCARD/ directive to discard uninteresting sections
  17. 01a,01nov01,tpw  gnu script written
  18. 01a,29oct01,jab  diab script written
  19. */
  20. ENTRY(_start)
  21. SECTIONS
  22. {
  23.   .text      :
  24.   {
  25.     wrs_kernel_text_start = .; _wrs_kernel_text_start = .;
  26.     *(.text) *(.text.*) *(.stub) *(.gnu.warning) *(.gnu.linkonce.t*)
  27.     KEEP(*(.init)) KEEP(*(.fini))
  28.     *(.glue_7t) *(.glue_7) *(.rdata) /* for ARM */
  29.     *(.mips16.fn.*) *(.mips16.call.*) *(.reginfo) /* for MIPS */
  30.     *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) *(.rodata1)
  31.     *(.sdata2) *(.sbss2) /* for PPC */
  32.     . = ALIGN(16);
  33.   }
  34.   . = ALIGN(16);
  35.   wrs_kernel_text_end = .; _wrs_kernel_text_end = .;
  36.   etext = .; _etext = .;
  37.   .data    : AT(etext)
  38.   {
  39.     wrs_kernel_data_start = .; _wrs_kernel_data_start = .;
  40.     *(.data) *(.data.*) *(.gnu.linkonce.d*) SORT(CONSTRUCTORS) *(.data1)
  41.     *(.eh_frame) *(.gcc_except_table)
  42.     KEEP (*crtbegin.o(.ctors))
  43.     KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
  44.     KEEP (*(SORT(.ctors.*)))
  45.     KEEP (*(.ctors))
  46.     KEEP (*crtbegin.o(.dtors))
  47.     KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
  48.     KEEP (*(SORT(.dtors.*)))
  49.     KEEP (*(.dtors))
  50.     _gp = ALIGN(16) + 0x7ff0; /* set gp for MIPS startup code */
  51.     /* got*, dynamic, sdata*, lit[48], and sbss should follow _gp */
  52.     *(.got.plt) *(.got) *(.dynamic)
  53.     *(.got2)
  54.     *(.sdata) *(.sdata.*) *(.lit8) *(.lit4)
  55.     . = ALIGN(16);
  56.   }
  57.   . = ALIGN(16);
  58.   edata = .; _edata = .;
  59.   wrs_kernel_data_end = .; _wrs_kernel_data_end = .;
  60.   .bss       :
  61.   {
  62.     wrs_kernel_bss_start = .; _wrs_kernel_bss_start = .;
  63.     *(.sbss) *(.scommon) *(.dynbss) *(.bss) *(COMMON)
  64.     . = ALIGN(16);
  65.   }
  66.   . = ALIGN(16);
  67.   end = .; _end = .;
  68.   wrs_kernel_bss_end = .; _wrs_kernel_bss_end = .;
  69.   .boot (wrs_kernel_text_start + wrs_kernel_rom_size - 0x800) :
  70.   {
  71.   *(.boot)
  72.   }
  73.   .reset (wrs_kernel_text_start + wrs_kernel_rom_size - 4) :
  74.   {
  75.   *(.reset)
  76.   }
  77.   /DISCARD/ :
  78.   {
  79.   *(.note) /* seen on Pentium ELF */
  80.   *(.comment) /* seen on PPC & SH ELF */
  81.   *(.pdr) /* seen on MIPS ELF */
  82.   }
  83.   /* Stabs debugging sections.  */
  84.   .stab 0 : { *(.stab) }
  85.   .stabstr 0 : { *(.stabstr) }
  86.   .stab.excl 0 : { *(.stab.excl) }
  87.   .stab.exclstr 0 : { *(.stab.exclstr) }
  88.   .stab.index 0 : { *(.stab.index) }
  89.   .stab.indexstr 0 : { *(.stab.indexstr) }
  90.   .comment 0 : { *(.comment) }
  91.   /* DWARF debug sections.
  92.      Symbols in the DWARF debugging sections are relative to the beginning
  93.      of the section so we begin them at 0.  */
  94.   /* DWARF 1 */
  95.   .debug          0 : { *(.debug) }
  96.   .line           0 : { *(.line) }
  97.   /* GNU DWARF 1 extensions */
  98.   .debug_srcinfo  0 : { *(.debug_srcinfo) }
  99.   .debug_sfnames  0 : { *(.debug_sfnames) }
  100.   /* DWARF 1.1 and DWARF 2 */
  101.   .debug_aranges  0 : { *(.debug_aranges) }
  102.   .debug_pubnames 0 : { *(.debug_pubnames) }
  103.   /* DWARF 2 */
  104.   .debug_info     0 : { *(.debug_info) }
  105.   .debug_abbrev   0 : { *(.debug_abbrev) }
  106.   .debug_line     0 : { *(.debug_line) }
  107.   .debug_frame    0 : { *(.debug_frame) }
  108.   .debug_str      0 : { *(.debug_str) }
  109.   .debug_loc      0 : { *(.debug_loc) }
  110.   .debug_macinfo  0 : { *(.debug_macinfo) }
  111.   /* SGI/MIPS DWARF 2 extensions */
  112.   .debug_weaknames 0 : { *(.debug_weaknames) }
  113.   .debug_funcnames 0 : { *(.debug_funcnames) }
  114.   .debug_typenames 0 : { *(.debug_typenames) }
  115.   .debug_varnames  0 : { *(.debug_varnames) }
  116. }