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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [newlib-1.17.0/] [libgloss/] [m68k/] [cf.sc] - Diff between revs 158 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 158 Rev 816
# a linker script template.
# a linker script template.
# RAM - start of board's ram
# RAM - start of board's ram
# RAM_SIZE - size of board's ram
# RAM_SIZE - size of board's ram
# ROM - start of board's rom
# ROM - start of board's rom
# ROM_SIZE - size of board's rom
# ROM_SIZE - size of board's rom
# IO - io library name
# IO - io library name
test -z "${ROM:+1}" && NOROM=1
test -z "${ROM:+1}" && NOROM=1
cat <
cat <
STARTUP(cf-${IO}-crt0.o)
STARTUP(cf-${IO}-crt0.o)
OUTPUT_ARCH(m68k)
OUTPUT_ARCH(m68k)
ENTRY(__start)
ENTRY(__start)
SEARCH_DIR(.)
SEARCH_DIR(.)
GROUP(-lc -l${IO} -lcf)
GROUP(-lc -l${IO} -lcf)
__DYNAMIC  =  0;
__DYNAMIC  =  0;
MEMORY
MEMORY
{
{
  ${ROM:+rom (rx) : ORIGIN = ${ROM}, LENGTH = ${ROM_SIZE}}
  ${ROM:+rom (rx) : ORIGIN = ${ROM}, LENGTH = ${ROM_SIZE}}
  ram (rwx) : ORIGIN = ${RAM}, LENGTH = ${RAM_SIZE}
  ram (rwx) : ORIGIN = ${RAM}, LENGTH = ${RAM_SIZE}
}
}
/* Place the stack at the end of memory, unless specified otherwise. */
/* Place the stack at the end of memory, unless specified otherwise. */
PROVIDE (__stack = ${RAM} + ${RAM_SIZE});
PROVIDE (__stack = ${RAM} + ${RAM_SIZE});
SECTIONS
SECTIONS
{
{
  .text :
  .text :
  {
  {
    CREATE_OBJECT_SYMBOLS
    CREATE_OBJECT_SYMBOLS
    *(.interrupt_vector)
    *(.interrupt_vector)
    cf-${IO}-crt0.o(.text)
    cf-${IO}-crt0.o(.text)
    *(.text .text.*)
    *(.text .text.*)
    *(.gnu.linkonce.t.*)
    *(.gnu.linkonce.t.*)
    . = ALIGN(0x4);
    . = ALIGN(0x4);
    /* These are for running static constructors and destructors under ELF.  */
    /* These are for running static constructors and destructors under ELF.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin.o(.ctors))
    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*crtend.o(.ctors))
    KEEP (*crtend.o(.ctors))
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin.o(.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))
    . = ALIGN(0x4);
    . = ALIGN(0x4);
    KEEP (*crtbegin.o(.jcr))
    KEEP (*crtbegin.o(.jcr))
    KEEP (*(EXCLUDE_FILE (*crtend.o) .jcr))
    KEEP (*(EXCLUDE_FILE (*crtend.o) .jcr))
    KEEP (*crtend.o(.jcr))
    KEEP (*crtend.o(.jcr))
    *(.rodata .rodata.*)
    *(.rodata .rodata.*)
    *(.gnu.linkonce.r.*)
    *(.gnu.linkonce.r.*)
    . = ALIGN(0x4);
    . = ALIGN(0x4);
    *(.gcc_except_table)
    *(.gcc_except_table)
    . = ALIGN(0x4);
    . = ALIGN(0x4);
    *(.eh_frame)
    *(.eh_frame)
    . = ALIGN(0x4);
    . = ALIGN(0x4);
    _init = . ;
    _init = . ;
    LONG (0x4e560000)   /* linkw %fp,#0 */
    LONG (0x4e560000)   /* linkw %fp,#0 */
    *(.init)
    *(.init)
    SHORT (0x4e5e)      /* unlk %fp */
    SHORT (0x4e5e)      /* unlk %fp */
    SHORT (0x4e75)      /* rts */
    SHORT (0x4e75)      /* rts */
    . = ALIGN(0x4);
    . = ALIGN(0x4);
    _fini = . ;
    _fini = . ;
    LONG (0x4e560000)   /* linkw %fp,#0 */
    LONG (0x4e560000)   /* linkw %fp,#0 */
    *(.fini)
    *(.fini)
    SHORT (0x4e5e)      /* unlk %fp */
    SHORT (0x4e5e)      /* unlk %fp */
    SHORT (0x4e75)      /* rts */
    SHORT (0x4e75)      /* rts */
    *(.lit)
    *(.lit)
    . = ALIGN(4);
    . = ALIGN(4);
    _etext = .;
    _etext = .;
  } >${ROM:+rom}${NOROM:+ram}
  } >${ROM:+rom}${NOROM:+ram}
  .data :
  .data :
  {
  {
    __data_load = LOADADDR (.data);
    __data_load = LOADADDR (.data);
    __data_start = .;
    __data_start = .;
    *(.got.plt) *(.got)
    *(.got.plt) *(.got)
    *(.shdata)
    *(.shdata)
    *(.data .data.*)
    *(.data .data.*)
    *(.gnu.linkonce.d.*)
    *(.gnu.linkonce.d.*)
    . = ALIGN (4);
    . = ALIGN (4);
    _edata = .;
    _edata = .;
  } >ram ${ROM:+AT>rom}
  } >ram ${ROM:+AT>rom}
  .bss :
  .bss :
  {
  {
    __bss_start = . ;
    __bss_start = . ;
    *(.shbss)
    *(.shbss)
    *(.bss .bss.*)
    *(.bss .bss.*)
    *(.gnu.linkonce.b.*)
    *(.gnu.linkonce.b.*)
    *(COMMON)
    *(COMMON)
    . = ALIGN (8);
    . = ALIGN (8);
    _end = .;
    _end = .;
    __end = _end;
    __end = _end;
  } >ram ${ROM:+AT>rom}
  } >ram ${ROM:+AT>rom}
  .stab 0 (NOLOAD) :
  .stab 0 (NOLOAD) :
  {
  {
    *(.stab)
    *(.stab)
  }
  }
  .stabstr 0 (NOLOAD) :
  .stabstr 0 (NOLOAD) :
  {
  {
    *(.stabstr)
    *(.stabstr)
  }
  }
  /* 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) }
}
}
EOF
EOF
 
 

powered by: WebSVN 2.1.0

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