fixes for host gcc 4.6.1
[zpugcc/jano.git] / toolchain / gcc / libgloss / xstormy16 / eva_app.ld
blob5afc2b494434757df44a29d62b1c063aaa7f31f7
1 OUTPUT_FORMAT("elf32-xstormy16", "elf32-xstormy16",
2               "elf32-xstormy16")
3 OUTPUT_ARCH(xstormy16)
4 ENTRY(_start)
5 GROUP(-lc -leva_app -lgcc)
7 MEMORY 
9   RAM   (w)  : ORIGIN = 0x9000,  LENGTH = 0x7000
10   ROM   (!w)  : ORIGIN = 0x10000, LENGTH = 0x70000
13 SECTIONS
15   __stack = 2 ;
16   __malloc_start = 0x800;
17   .data    :
18   {
19     __rdata = .;
20     __data = .;
21     *(.data)
22     *(.data.*)
23     *(.gnu.linkonce.d.*)
24     SORT(CONSTRUCTORS)
25   } > RAM
26   /* Read-only sections */
27   .rodata   : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } > RAM
28   .ctors   : 
29   {
30     /* gcc uses crtbegin.o to find the start of
31        the constructors, so we make sure it is
32        first.  Because this is a wildcard, it
33        doesn't matter if the user does not
34        actually link against crtbegin.o; the
35        linker won't look for a file to match a
36        wildcard.  The wildcard also means that it
37        doesn't matter which directory crtbegin.o
38        is in.  */
39     KEEP (*crtbegin.o(.ctors))
40     /* We don't want to include the .ctor section from
41        from the crtend.o file until after the sorted ctors.
42        The .ctor section from the crtend file contains the
43        end of ctors marker and it must be last */
44     KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
45     KEEP (*(SORT(.ctors.*)))
46     KEEP (*(.ctors))
47   } > RAM
48    .dtors         :
49   {
50     KEEP (*crtbegin.o(.dtors))
51     KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
52     KEEP (*(SORT(.dtors.*)))
53     KEEP (*(.dtors))
54   } > RAM
55   .eh_frame : { KEEP (*(.eh_frame)) } > RAM
56   .gcc_except_table : { *(.gcc_except_table) } > RAM
57   .jcr : { *(.jcr) } > RAM
58   .plt : { *(.plt) } > RAM
59   _edata = .;
60   PROVIDE (edata = .);
61   __bss_start = .;
62   .bss       :
63   {
64    *(.dynbss)
65    *(.bss)
66    *(.bss.*)
67    *(.gnu.linkonce.b.*)
68    *(COMMON)
69    /* Align here to ensure that the .bss section occupies space up to
70       _end.  Align after .bss to ensure correct alignment even if the
71       .bss section disappears because there are no input sections.  */
72    . = ALIGN(2);
73   } > RAM
74   . = ALIGN(2);
75   _end = .;
76   PROVIDE (end = .);
77   .text      :
78   {
79     *(.int_vec)
80     *(.text)
81     *(.text.*)
82     *(.stub)
83     /* .gnu.warning sections are handled specially by elf32.em.  */
84     *(.gnu.warning)
85     *(.gnu.linkonce.t.*)
86   } > ROM =0
87   .init          : 
88   { 
89     KEEP (*(.init))
90   } > ROM =0
91   .fini      :
92   {
93     KEEP (*(.fini))
94   } > ROM =0
95   PROVIDE (__etext = .);
96   PROVIDE (_etext = .);
97   PROVIDE (etext = .);
98   /* Stabs debugging sections.  */
99   .stab 0 : { *(.stab) }
100   .stabstr 0 : { *(.stabstr) }
101   .stab.excl 0 : { *(.stab.excl) }
102   .stab.exclstr 0 : { *(.stab.exclstr) }
103   .stab.index 0 : { *(.stab.index) }
104   .stab.indexstr 0 : { *(.stab.indexstr) }
105   .comment 0 : { *(.comment) }
106   /* DWARF debug sections.
107      Symbols in the DWARF debugging sections are relative to the beginning
108      of the section so we begin them at 0.  */
109   /* DWARF 1 */
110   .debug          0 : { *(.debug) }
111   .line           0 : { *(.line) }
112   /* GNU DWARF 1 extensions */
113   .debug_srcinfo  0 : { *(.debug_srcinfo) }
114   .debug_sfnames  0 : { *(.debug_sfnames) }
115   /* DWARF 1.1 and DWARF 2 */
116   .debug_aranges  0 : { *(.debug_aranges) }
117   .debug_pubnames 0 : { *(.debug_pubnames) }
118   /* DWARF 2 */
119   .debug_info     0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
120   .debug_abbrev   0 : { *(.debug_abbrev) }
121   .debug_line     0 : { *(.debug_line) }
122   .debug_frame    0 : { *(.debug_frame) }
123   .debug_str      0 : { *(.debug_str) }
124   .debug_loc      0 : { *(.debug_loc) }
125   .debug_macinfo  0 : { *(.debug_macinfo) }
126   /* SGI/MIPS DWARF 2 extensions */
127   .debug_weaknames 0 : { *(.debug_weaknames) }
128   .debug_funcnames 0 : { *(.debug_funcnames) }
129   .debug_typenames 0 : { *(.debug_typenames) }
130   .debug_varnames  0 : { *(.debug_varnames) }
131   /* These must appear regardless of  .  */