OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.18.50/] [ld/] [scripttempl/] [v850.sc] - Diff between revs 38 and 156

Only display areas with differences | Details | Blame | View Log

Rev 38 Rev 156
cat << EOF
cat << EOF
OUTPUT_FORMAT("elf32-v850", "elf32-v850",
OUTPUT_FORMAT("elf32-v850", "elf32-v850",
              "elf32-v850")
              "elf32-v850")
OUTPUT_ARCH(v850)
OUTPUT_ARCH(v850)
${RELOCATING+ENTRY(_start)}
${RELOCATING+ENTRY(_start)}
SEARCH_DIR(.);
SEARCH_DIR(.);
EXTERN(__ctbp __ep __gp);
EXTERN(__ctbp __ep __gp);
SECTIONS
SECTIONS
{
{
  /* This saves a little space in the ELF file, since the zda starts
  /* This saves a little space in the ELF file, since the zda starts
     at a higher location that the ELF headers take up.  */
     at a higher location that the ELF headers take up.  */
  .zdata ${ZDATA_START_ADDR} :
  .zdata ${ZDATA_START_ADDR} :
  {
  {
        *(.zdata)
        *(.zdata)
        *(.zbss)
        *(.zbss)
        *(reszdata)
        *(reszdata)
        *(.zcommon)
        *(.zcommon)
  }
  }
  /* This is the read only part of the zero data area.
  /* This is the read only part of the zero data area.
     Having it as a seperate section prevents its
     Having it as a seperate section prevents its
     attributes from being inherited by the zdata
     attributes from being inherited by the zdata
     section.  Specifically it prevents the zdata
     section.  Specifically it prevents the zdata
     section from being marked READONLY.  */
     section from being marked READONLY.  */
  .rozdata ${ROZDATA_START_ADDR} :
  .rozdata ${ROZDATA_START_ADDR} :
  {
  {
        *(.rozdata)
        *(.rozdata)
        *(romzdata)
        *(romzdata)
        *(romzbss)
        *(romzbss)
  }
  }
  /* Read-only sections, merged into text segment.  */
  /* Read-only sections, merged into text segment.  */
  . = ${TEXT_START_ADDR};
  . = ${TEXT_START_ADDR};
  .interp       : { *(.interp) }
  .interp       : { *(.interp) }
  .hash         : { *(.hash) }
  .hash         : { *(.hash) }
  .dynsym       : { *(.dynsym) }
  .dynsym       : { *(.dynsym) }
  .dynstr       : { *(.dynstr) }
  .dynstr       : { *(.dynstr) }
  .rel.text     : { *(.rel.text) }
  .rel.text     : { *(.rel.text) }
  .rela.text    : { *(.rela.text) }
  .rela.text    : { *(.rela.text) }
  .rel.data     : { *(.rel.data) }
  .rel.data     : { *(.rel.data) }
  .rela.data    : { *(.rela.data) }
  .rela.data    : { *(.rela.data) }
  .rel.rodata   : { *(.rel.rodata) }
  .rel.rodata   : { *(.rel.rodata) }
  .rela.rodata  : { *(.rela.rodata) }
  .rela.rodata  : { *(.rela.rodata) }
  .rel.gcc_except_table : { *(.rel.gcc_except_table) }
  .rel.gcc_except_table : { *(.rel.gcc_except_table) }
  .rela.gcc_except_table : { *(.rela.gcc_except_table) }
  .rela.gcc_except_table : { *(.rela.gcc_except_table) }
  .rel.got      : { *(.rel.got) }
  .rel.got      : { *(.rel.got) }
  .rela.got     : { *(.rela.got) }
  .rela.got     : { *(.rela.got) }
  .rel.ctors    : { *(.rel.ctors) }
  .rel.ctors    : { *(.rel.ctors) }
  .rela.ctors   : { *(.rela.ctors) }
  .rela.ctors   : { *(.rela.ctors) }
  .rel.dtors    : { *(.rel.dtors) }
  .rel.dtors    : { *(.rel.dtors) }
  .rela.dtors   : { *(.rela.dtors) }
  .rela.dtors   : { *(.rela.dtors) }
  .rel.init     : { *(.rel.init) }
  .rel.init     : { *(.rel.init) }
  .rela.init    : { *(.rela.init) }
  .rela.init    : { *(.rela.init) }
  .rel.fini     : { *(.rel.fini) }
  .rel.fini     : { *(.rel.fini) }
  .rela.fini    : { *(.rela.fini) }
  .rela.fini    : { *(.rela.fini) }
  .rel.bss      : { *(.rel.bss) }
  .rel.bss      : { *(.rel.bss) }
  .rela.bss     : { *(.rela.bss) }
  .rela.bss     : { *(.rela.bss) }
  .rel.plt      : { *(.rel.plt) }
  .rel.plt      : { *(.rel.plt) }
  .rela.plt     : { *(.rela.plt) }
  .rela.plt     : { *(.rela.plt) }
  .init         : { KEEP (*(.init)) } =0
  .init         : { KEEP (*(.init)) } =0
  .plt          : { *(.plt) }
  .plt          : { *(.plt) }
  .text         :
  .text         :
  {
  {
    *(.text)
    *(.text)
    ${RELOCATING+*(.text.*)}
    ${RELOCATING+*(.text.*)}
    /* .gnu.warning sections are handled specially by elf32.em.  */
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
    *(.gnu.warning)
    *(.gnu.linkonce.t*)
    *(.gnu.linkonce.t*)
  } =0
  } =0
  ${RELOCATING+_etext = .;}
  ${RELOCATING+_etext = .;}
  ${RELOCATING+PROVIDE (etext = .);}
  ${RELOCATING+PROVIDE (etext = .);}
   /* This is special code area at the end of the normal text section.
   /* This is special code area at the end of the normal text section.
      It contains a small lookup table at the start followed by the
      It contains a small lookup table at the start followed by the
      code pointed to by entries in the lookup table.  */
      code pointed to by entries in the lookup table.  */
  .call_table_data ${CALL_TABLE_START_ADDR} :
  .call_table_data ${CALL_TABLE_START_ADDR} :
  {
  {
    ${RELOCATING+PROVIDE(__ctbp = .);}
    ${RELOCATING+PROVIDE(__ctbp = .);}
    *(.call_table_data)
    *(.call_table_data)
  } = 0xff   /* Fill gaps with 0xff.  */
  } = 0xff   /* Fill gaps with 0xff.  */
  .call_table_text :
  .call_table_text :
  {
  {
    *(.call_table_text)
    *(.call_table_text)
  }
  }
  .fini         : { KEEP (*(.fini)) } =0
  .fini         : { KEEP (*(.fini)) } =0
  .rodata       : { *(.rodata) ${RELOCATING+*(.rodata.*)} *(.gnu.linkonce.r*) }
  .rodata       : { *(.rodata) ${RELOCATING+*(.rodata.*)} *(.gnu.linkonce.r*) }
  .rodata1      : { *(.rodata1) }
  .rodata1      : { *(.rodata1) }
  .data         :
  .data         :
  {
  {
    *(.data)
    *(.data)
    ${RELOCATING+*(.data.*)}
    ${RELOCATING+*(.data.*)}
    *(.gnu.linkonce.d*)
    *(.gnu.linkonce.d*)
    CONSTRUCTORS
    CONSTRUCTORS
  }
  }
  .data1        : { *(.data1) }
  .data1        : { *(.data1) }
  .ctors        :
  .ctors        :
  {
  {
    ${CONSTRUCTING+___ctors = .;}
    ${CONSTRUCTING+___ctors = .;}
    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*crtend(.ctors))
    KEEP (*crtend(.ctors))
    ${CONSTRUCTING+___ctors_end = .;}
    ${CONSTRUCTING+___ctors_end = .;}
  }
  }
  .dtors        :
  .dtors        :
  {
  {
    ${CONSTRUCTING+___dtors = .;}
    ${CONSTRUCTING+___dtors = .;}
    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*crtend.o(.dtors))
    KEEP (*crtend.o(.dtors))
    ${CONSTRUCTING+___dtors_end = .;}
    ${CONSTRUCTING+___dtors_end = .;}
  }
  }
  .jcr          :
  .jcr          :
  {
  {
    KEEP (*(.jcr))
    KEEP (*(.jcr))
  }
  }
  .gcc_except_table : { *(.gcc_except_table) }
  .gcc_except_table : { *(.gcc_except_table) }
  .got          : { *(.got.plt) *(.got) }
  .got          : { *(.got.plt) *(.got) }
  .dynamic      : { *(.dynamic) }
  .dynamic      : { *(.dynamic) }
  .tdata ${TDATA_START_ADDR} :
  .tdata ${TDATA_START_ADDR} :
  {
  {
        ${RELOCATING+PROVIDE (__ep = .);}
        ${RELOCATING+PROVIDE (__ep = .);}
        *(.tbyte)
        *(.tbyte)
        *(.tcommon_byte)
        *(.tcommon_byte)
        *(.tdata)
        *(.tdata)
        *(.tbss)
        *(.tbss)
        *(.tcommon)
        *(.tcommon)
  }
  }
  /* We want the small data sections together, so single-instruction offsets
  /* We want the small data sections together, so single-instruction offsets
     can access them all, and initialized data all before uninitialized, so
     can access them all, and initialized data all before uninitialized, so
     we can shorten the on-disk segment size.  */
     we can shorten the on-disk segment size.  */
  .sdata ${SDATA_START_ADDR} :
  .sdata ${SDATA_START_ADDR} :
  {
  {
        ${RELOCATING+PROVIDE (__gp = . + 0x8000);}
        ${RELOCATING+PROVIDE (__gp = . + 0x8000);}
        *(.sdata)
        *(.sdata)
   }
   }
  /* See comment about .rozdata. */
  /* See comment about .rozdata. */
  .rosdata ${ROSDATA_START_ADDR} :
  .rosdata ${ROSDATA_START_ADDR} :
  {
  {
        *(.rosdata)
        *(.rosdata)
  }
  }
  /* We place the .sbss data section AFTER the .rosdata section, so that
  /* We place the .sbss data section AFTER the .rosdata section, so that
     it can directly preceed the .bss section.  This allows runtime startup
     it can directly preceed the .bss section.  This allows runtime startup
     code to initialise all the zero-data sections by simply taking the
     code to initialise all the zero-data sections by simply taking the
     value of '_edata' and zeroing until it reaches '_end'.  */
     value of '_edata' and zeroing until it reaches '_end'.  */
  .sbss :
  .sbss :
  {
  {
        ${RELOCATING+__sbss_start = .;}
        ${RELOCATING+__sbss_start = .;}
        *(.sbss)
        *(.sbss)
        *(.scommon)
        *(.scommon)
  }
  }
  ${RELOCATING+_edata  = DEFINED (__sbss_start) ? __sbss_start : . ;}
  ${RELOCATING+_edata  = DEFINED (__sbss_start) ? __sbss_start : . ;}
  ${RELOCATING+PROVIDE (edata = _edata);}
  ${RELOCATING+PROVIDE (edata = _edata);}
  .bss       :
  .bss       :
  {
  {
        ${RELOCATING+__bss_start = DEFINED (__sbss_start) ? __sbss_start : . ;}
        ${RELOCATING+__bss_start = DEFINED (__sbss_start) ? __sbss_start : . ;}
        ${RELOCATING+__real_bss_start = . ;}
        ${RELOCATING+__real_bss_start = . ;}
        *(.dynbss)
        *(.dynbss)
        *(.bss)
        *(.bss)
        *(COMMON)
        *(COMMON)
  }
  }
  ${RELOCATING+_end = . ;}
  ${RELOCATING+_end = . ;}
  ${RELOCATING+PROVIDE (end = .);}
  ${RELOCATING+PROVIDE (end = .);}
  /* Stabs debugging sections.  */
  /* Stabs debugging sections.  */
  .stab 0               : { *(.stab) }
  .stab 0               : { *(.stab) }
  .stabstr 0            : { *(.stabstr) }
  .stabstr 0            : { *(.stabstr) }
  .stab.excl 0          : { *(.stab.excl) }
  .stab.excl 0          : { *(.stab.excl) }
  .stab.exclstr 0       : { *(.stab.exclstr) }
  .stab.exclstr 0       : { *(.stab.exclstr) }
  .stab.index 0         : { *(.stab.index) }
  .stab.index 0         : { *(.stab.index) }
  .stab.indexstr 0      : { *(.stab.indexstr) }
  .stab.indexstr 0      : { *(.stab.indexstr) }
  .comment 0            : { *(.comment) }
  .comment 0            : { *(.comment) }
  /* DWARF debug sections.
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  /* DWARF 1 */
  .debug          0     : { *(.debug) }
  .debug          0     : { *(.debug) }
  .line           0     : { *(.line) }
  .line           0     : { *(.line) }
  /* GNU DWARF 1 extensions */
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0     : { *(.debug_srcinfo) }
  .debug_srcinfo  0     : { *(.debug_srcinfo) }
  .debug_sfnames  0     : { *(.debug_sfnames) }
  .debug_sfnames  0     : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0     : { *(.debug_aranges) }
  .debug_aranges  0     : { *(.debug_aranges) }
  .debug_pubnames 0     : { *(.debug_pubnames) }
  .debug_pubnames 0     : { *(.debug_pubnames) }
  /* DWARF 2 */
  /* DWARF 2 */
  .debug_info     0     : { *(.debug_info) *(.gnu.linkonce.wi.*) }
  .debug_info     0     : { *(.debug_info) *(.gnu.linkonce.wi.*) }
  .debug_abbrev   0     : { *(.debug_abbrev) }
  .debug_abbrev   0     : { *(.debug_abbrev) }
  .debug_line     0     : { *(.debug_line) }
  .debug_line     0     : { *(.debug_line) }
  .debug_frame    0     : { *(.debug_frame) }
  .debug_frame    0     : { *(.debug_frame) }
  .debug_str      0     : { *(.debug_str) }
  .debug_str      0     : { *(.debug_str) }
  .debug_loc      0     : { *(.debug_loc) }
  .debug_loc      0     : { *(.debug_loc) }
  .debug_macinfo  0     : { *(.debug_macinfo) }
  .debug_macinfo  0     : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions.  */
  /* SGI/MIPS DWARF 2 extensions.  */
  .debug_weaknames 0    : { *(.debug_weaknames) }
  .debug_weaknames 0    : { *(.debug_weaknames) }
  .debug_funcnames 0    : { *(.debug_funcnames) }
  .debug_funcnames 0    : { *(.debug_funcnames) }
  .debug_typenames 0    : { *(.debug_typenames) }
  .debug_typenames 0    : { *(.debug_typenames) }
  .debug_varnames  0    : { *(.debug_varnames) }
  .debug_varnames  0    : { *(.debug_varnames) }
  /* User stack.  */
  /* User stack.  */
  .stack 0x200000       :
  .stack 0x200000       :
  {
  {
        ${RELOCATING+__stack = .;}
        ${RELOCATING+__stack = .;}
        *(.stack)
        *(.stack)
  }
  }
}
}
EOF
EOF
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.