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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [lib/] [libbsp/] [powerpc/] [eth_comm/] [startup/] [linkcmds] - Rev 415

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

/*
 *  This file contains directives for the GNU linker which are specific
 *  to the Ethernet-Comm Board
 *
 *  $Id: linkcmds,v 1.2 2001-09-27 12:00:36 chris Exp $
 */

OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc",
              "elf32-powerpc")
OUTPUT_ARCH(powerpc)
 SEARCH_DIR(/usr/local/powerpc-rtems/lib);
 
ENTRY(start)
 
MEMORY
        {
        ram : org = 0x0, l = 4M
        dpram : org = 0xff000000, l = 16K
        canbus : org = 0xff100000, l = 12K
        flash : org = 0xfff00000, l = 512K
        }


SECTIONS
{
        .vectors :
        {
          *(.vectors)
        } >ram

        /* 
         * The stack will live in this area - between the vectors and
         * the text section.
         */
        
        .text 0x10000:
        {
             text.start = .;
             *(.entry)
             *(.entry2)
             *(.text)
             *(.rodata)
             *(.gnu.linkonce.r*)
             *(.rodata1)
             *(.gnu.linkonce.t.*)
             *(.descriptors)
             /* .gnu.warning sections are handled specially by elf32.em.  */
             *(.gnu.warning)
             *(rom_ver)
             etext = ALIGN(0x10);
             _etext = .;
        
             __CTOR_LIST__ = .;
             LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
             *(.ctors)
             LONG(0)
             __CTOR_END__ = .;
        
             __DTOR_LIST__ = .;
             LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
             *(.dtors)
             LONG(0)
             __DTOR_END__ = .;
        
             *(.lit)
             *(.shdata)
             *(.init)
             *(.fini)
             _endtext = .;
             text.end = .;
        } > ram
 
        /* R/W Data */
        .data :
        {
          *(.data)
          *(.data1)
          *(.gnu.linkonce.d.*)
          PROVIDE (__SDATA_START__ = .);
          *(.sdata)
        } > ram
        
        PROVIDE (__EXCEPT_START__ = .);
        .gcc_except_table   : { *(.gcc_except_table) } >RAM
        PROVIDE (__EXCEPT_END__ = .);
        __GOT_START__ = .;
        .got :
        {
           s.got = .;
           *(.got.plt) *(.got)
        } > ram
        __GOT_END__ = .;
        
        .got1             : { *(.got1)          } >ram
        PROVIDE (__GOT2_START__ = .);
        PROVIDE (_GOT2_START_ = .);
        .got2             :  { *(.got2)         } >ram
        PROVIDE (__GOT2_END__ = .);
        PROVIDE (_GOT2_END_ = .);
        
        PROVIDE (__FIXUP_START__ = .);
        PROVIDE (_FIXUP_START_ = .);
        .fixup    : { *(.fixup)         } >ram
        PROVIDE (_FIXUP_END_ = .);
        PROVIDE (__FIXUP_END__ = .);
         
        PROVIDE (__SDATA2_START__ = .);
        .sdata2           : { *(.sdata2)        } >ram
        .sbss2            : { *(.sbss2)         } >ram
        PROVIDE (__SBSS2_END__ = .);
        
        .sbss2            : { *(.sbss2)         } >ram
        PROVIDE (__SBSS2_END__ = .);
        
        __SBSS_START__ = .;
        .bss :
        {
          bss.start = .;
          *(.bss) *(.sbss) *(COMMON)
          . = ALIGN(4);
          bss.end = .;
        } > ram
        __SBSS_END__ = .;

        bss.size = bss.end - bss.start;
        text.size = text.end - text.start;
        PROVIDE(_end = bss.end);
        
        dpram : 
        {
          m860 = .;
          _m860 = .;
          . += (8 * 1024);
        } >dpram

        canbus :
        {
          canbus0 = .;
          . += (0x1000);
          canbus1 = .;
          . += (0x1000);
          canbus2 = .;
          . += (0x1000);
        } >canbus


        .line 0 : { *(.line) }
        .debug 0 : { *(.debug) }
        .debug_sfnames 0 : { *(.debug_sfnames) }
        .debug_srcinfo 0 : { *(.debug_srcinfo) }
        .debug_pubnames 0 : { *(.debug_pubnames) }
        .debug_aranges 0 : { *(.debug_aranges) }
        .debug_aregion 0 : { *(.debug_aregion) }
        .debug_macinfo 0 : { *(.debug_macinfo) }
        .stab 0 : { *(.stab) }
        .stabstr 0 : { *(.stabstr) }

}

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.