OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [gcc.target/] [xstormy16/] [below100.ld] - Rev 149

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

/******************************************************************
*******************************************************************
***                                                             ***
***     Linker script for xstormy16-elf-gcc                     ***
***           For SID   RAM=0x7E00                              ***
***                     ROM=0x78000                             ***
***                                                             ***
*******************************************************************
******************************************************************/

OUTPUT_FORMAT("elf32-xstormy16", "elf32-xstormy16", "elf32-xstormy16")
OUTPUT_ARCH(xstormy16)
ENTRY(_start)
SEARCH_DIR( . )
GROUP(-lc -lsim -lgcc)
PROVIDE( __target_package = 0xff);

__malloc_start = 0x7E00;

MEMORY
{
        RAM (w)    : ORIGIN = 0x00000, LENGTH = 0x07E00
        CHIP (r)   : ORIGIN = 0x07f00, LENGTH = 0x00100
        ROM (!w)   : ORIGIN = 0x08000, LENGTH = 0x78000
}

SECTIONS
{
        /* Zero initialized data with the below100 attribute.  */
        .bss_below100 : {
                SHORT(0)
                __bss_start = .;
                *(.bss_below100)
                *(.bss_below100.*)
                . = ALIGN(2);
        } > RAM
        
        /* Non-zero initialized data with the below100 attribute.  */
        .data_below100 : AT ( __rdata ) {
                __data_start = . ;
                *(.data_0)
                *(.data_below100)
                *(.data_below100.*)
                . = ALIGN(2);
        } > RAM = 0
        
        /* Normal non-zero initialized data.  */
       .data : AT ( __rdata + SIZEOF(.data_below100) ) {
                *(.data)
                *(.data.*)
                *(.gnu.linkonce.d.*)
                SORT(CONSTRUCTORS)
                . = ALIGN(2);
                __data_end = . ;
        } > RAM =0
        
        /* Normal zero initialized data.  */
        .bss : AT (LOADADDR(.data) + SIZEOF(.data)) {
                *(.dynbss)
                *(.bss)
                *(.bss.*)
                *(.gnu.linkonce.b.*)
                *(COMMON)
                . = ALIGN(2);
                __bss_end = .;
        } > RAM
        
        /* The top of stack.  */
        __stack = .;

        /* Target chip info.  */
        .chip_info : {
                KEEP(*(.chip_info))
        } > CHIP =0
        
        /* Reset and interrupt vectors at 8000.  */
        .int_vec : {
                KEEP(*(.int_vec))
        } > ROM =0
        
        /* Read only data.  */
        .rodata : {
                *(.rodata)
                *(.rodata.*)
                *(.gnu.linkonce.r.*)
        } > ROM =0
        
        /* C++ Construcrtors and destructors.  */
        .ctors : {
                KEEP (*crtbegin.o(.ctors))
                KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
                KEEP (*(SORT(.ctors.*)))
                KEEP (*(.ctors))
        } > ROM =0
        
        .dtors : {
                KEEP (*crtbegin.o(.dtors))
                KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
                KEEP (*(SORT(.dtors.*)))
                KEEP (*(.dtors))
        } > ROM =0

        /* Pointer lookup table.. */
        .plt : {
                *(.plt)
        } > ROM =0

        /* Other information.  */
        .jcr : {
                KEEP (*(.jcr))
        } > ROM =0
        
        .eh_frame : {
                KEEP (*(.eh_frame))
        } > ROM =0

        .gcc_except_table : {
                KEEP (*(.gcc_except_table))
        } > ROM =0

        /* Initialization values for data.  */
        .data_init (NOLOAD) : {
                __rdata = .;
                . += SIZEOF(.data_below100);
                . += SIZEOF(.data);
                . += SIZEOF(.bss);
        } > ROM

        /* Executable code.  */
        .text : {
                *(.text)
                *(.text.*)
                *(.stub)
                *(.gnu.warning)
                *(.gnu.linkonce.t.*)
        } > ROM =0

        /* Startup/finish code.  */
        .init : {
                KEEP (*crti.o(.init))
                KEEP (*(EXCLUDE_FILE (*crtn.o ) .init))
                KEEP (*(SORT(.init.*)))
                KEEP (*(.init))
        } > ROM =0
        
        .fini : {
                KEEP (*crti.o(.fini))
                KEEP (*(EXCLUDE_FILE (*crtn.o ) .fini))
                KEEP (*(SORT(.fini.*)))
                KEEP (*(.fini))
        } > ROM =0

        /* Stab debugging sections.  */
        .stab          0 : { *(.stab) }
        .stabstr       0 : { *(.stabstr) }
        .stab.excl     0 : { *(.stab.excl) }
        .stab.exclstr  0 : { *(.stab.exclstr) }
        .stab.index    0 : { *(.stab.index) }
        .stab.indexstr 0 : { *(.stab.indexstr) }
        .comment       0 : { *(.comment) }

        /* DWARF debug sections.  */    
        /* Symbols in the DWARF debugging sections are relative to
           the beginning of the section so we begin them at 0.  */

        /* DWARF 1.  */
        .debug 0 : { *(.debug) }
        .line 0 : { *(.line) }

        /* GNU DWARF 1 extensions.  */
        .debug_srcinfo 0 : { *(.debug_srcinfo) }
        .debug_sfnames 0 : { *(.debug_sfnames) }

        /* DWARF 1.1 and DWARF 2.  */
        .debug_aranges  0 : { *(.debug_aranges) }
        .debug_pubnames 0 : { *(.debug_pubnames) }

        /* DWARF 2.  */
        .debug_info     0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
        .debug_abbrev   0 : { *(.debug_abbrev) }
        .debug_line     0 : { *(.debug_line) }
        .debug_frame    0 : { *(.debug_frame) }
        .debug_str      0 : { *(.debug_str) }
        .debug_loc      0 : { *(.debug_loc) }
        .debug_macinfo  0 : { *(.debug_macinfo) }

        /* SGI/MIPS DWARF 2 extensions.  */
        .debug_weaknames 0 : { *(.debug_weaknames) }
        .debug_funcnames 0 : { *(.debug_funcnames) }
        .debug_typenames 0 : { *(.debug_typenames) }
        .debug_varnames  0 : { *(.debug_varnames) }
}

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.