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

Subversion Repositories or1k

[/] [or1k/] [branches/] [newlib/] [newlib/] [libgloss/] [mips/] [array.ld] - Rev 39

Go to most recent revision | Compare with Previous | Blame | View Log

/*
 * memory map assumed by prom and standalone system
 *
 * physical     kseg1                   use
 *
 * 0x1fc20000   0xbfc20000
 * to                                   prom text and read-only data
 * 0x1fc00000   0xbfc00000              (in cpu board "prom space")
 *
 * (Top of RAM - 8K) downward           sash and standalone program stack
 *              |                       ( - 8K to preserve kernel message bufs)
 *              V                       (standalone programs grow their stack
 *                                       immediately below sash's stack)
 *
 *              ^
 *              |
 * 0x00100000   0xa0100000 upward       sash program text, data, and bss
 *
 *              ^
 *              |
 * 0x00020000   0xa0020000 upward       standalone program text, data, and bss
 *                                      (kernel is loaded here, also)
 *
 * 0x0001ffff   0xa001ffff downward     dbgmon stack
 *              |
 *              V
 *
 *              ^
 *              |
 * 0x00010000   0xa0010000 upward       dbgmon text, data, and bss
 *
 * 0x0000ffff   0xa000ffff downward     prom monitor stack
 *              |
 *              V
 *
 *              ^
 *              |
 * 0x00000500   0xa0000500 upward       prom monitor bss
 *
 * 0x000004ff   0xa00004ff
 * to                                   restart block
 * 0x00000400   0xa0000400
 *
 * 0x000003ff   0xa00003ff
 * to                                   general exception code
 * 0x00000080   0xa0000080              (note cpu addresses as 0x80000080!)
 *
 * 0x0000007f   0xa000007f
 * to                                   utlbmiss exception code
 * 0x00000000   0xa0000000              (note cpu addresses as 0x80000000!)
 */

/* Uncomment this if you want srecords. 
OUTPUT_FORMAT(srec)
 */
ENTRY(start)
STARTUP(crt0.o)
INPUT(array.o)
SEARCH_DIR(.)
__DYNAMIC  =  0;

/*
 * Allocate the stack to be at the top of memory, since the stack
 * grows down
 *
PROVIDE (__stack = 1M - 8);
 */

/*
 * 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 multiple object file
 * formats, as some prepend an underscore.
 */
PROVIDE (hardware_init_hook = 0);
PROVIDE (software_init_hook = 0);

SECTIONS
{       
  . = 0x80020000;
  .text : {
     _ftext = . ;
    *(.init)
     eprol  =  .;
    *(.text)
    *(.mips16.fn.*)
    *(.mips16.call.*)
    PROVIDE (__runtime_reloc_start = .);
    *(.rel.sdata)
    PROVIDE (__runtime_reloc_stop = .);
    *(.fini)
     etext  =  .;
     _etext  =  .;
  }
  . = .;
  .rdata : {
    *(.rdata)
  }
   _fdata = ALIGN(16);
  .data : {
    *(.data)
    CONSTRUCTORS
  }
   _gp = ALIGN(16) + 0x8000;
  .lit8 : {
    *(.lit8)
  }
  .lit4 : {
    *(.lit4)
  }
  .sdata : {
    *(.sdata)
  }
   edata  =  .;
   _edata  =  .;
   _fbss = .;
  .sbss : {
    *(.sbss)
    *(.scommon)
  }
  .bss : {
    _bss_start = . ;
    *(.bss)
    *(COMMON)
  }
   end = .;
   _end = .;
}

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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