]> sourceware.org Git - newlib-cygwin.git/blob - libgloss/mips/jmr3904dram.ld
If -mfp32, do not enable 64-bit FPR registers on mips3
[newlib-cygwin.git] / libgloss / mips / jmr3904dram.ld
1 /* Linker script forJMR 3904 board */
2
3 ENTRY(_start)
4 OUTPUT_ARCH("mips:3000")
5 OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
6 GROUP(-lc -ljmr3904 -lgcc)
7 SEARCH_DIR(.)
8 __DYNAMIC = 0;
9
10 PROVIDE (_mem_size = 0x100000); /* JMR3904 comes as standard with 512k of RAM */
11 /* but this is 1 Mb */
12
13 /* PROVIDE (__global = 0); */
14
15 /*
16 * Initalize some symbols to be zero so we can reference them in the
17 * crt0 without core dumping. These functions are all optional, but
18 * we do this so we can have our crt0 always use them if they exist.
19 * This is so BSPs work better when using the crt0 installed with gcc.
20 * We have to initalize them twice, so we multiple object file
21 * formats, as some prepend an underscore.
22 */
23 PROVIDE (hardware_init_hook = 0);
24 PROVIDE (software_init_hook = 0);
25
26 SECTIONS
27 {
28 /* Load everything into DRAM, except for the stack. Put stack in SRAM */
29 . = 0x88000000;
30 /* This is NOT the address which fits with the monitor from jmr. */
31 /* It fits the Cygmon ROMS */
32 .text : {
33 _ftext = . ;
34 *(.init)
35 eprol = .;
36 *(.text)
37 *(.text.*)
38 *(.gnu.linkonce.t*)
39 *(.mips16.fn.*)
40 *(.mips16.call.*)
41 PROVIDE (__runtime_reloc_start = .);
42 *(.rel.sdata)
43 PROVIDE (__runtime_reloc_stop = .);
44 *(.fini)
45 etext = .;
46 _etext = .;
47 }
48 . = .;
49 .rdata : {
50 *(.rdata)
51 *(.rodata)
52 *(.rodata.*)
53 *(.gnu.linkonce.r*)
54 }
55 _fdata = ALIGN(16);
56 .data : {
57 *(.data)
58 *(.data.*)
59 *(.gnu.linkonce.d*)
60 CONSTRUCTORS
61 }
62 . = ALIGN(8);
63 _gp = . + 0x8000;
64 __global = _gp;
65 .lit8 : {
66 *(.lit8)
67 }
68 .lit4 : {
69 *(.lit4)
70 }
71 .sdata : {
72 *(.sdata)
73 *(.sdata.*)
74 *(.gnu.linkonce.s*)
75 }
76 . = ALIGN(4);
77 edata = .;
78 _edata = .;
79 _fbss = .;
80 .sbss : {
81 *(.sbss)
82 *(.scommon)
83 }
84 .bss : {
85 _bss_start = . ;
86 *(.bss)
87 *(COMMON)
88 }
89
90 end = .;
91 _end = .;
92
93 /* Put stack in SRAM (8 Kb); this size is the same as the stack from
94 the original script (when everything was in SRAM). */
95 __stack = 0x8000A000;
96
97 /* DWARF debug sections.
98 Symbols in the DWARF debugging sections are relative to
99 the beginning of the section so we begin them at 0. */
100
101 /* DWARF 1 */
102 .debug 0 : { *(.debug) }
103 .line 0 : { *(.line) }
104
105 /* GNU DWARF 1 extensions */
106 .debug_srcinfo 0 : { *(.debug_srcinfo) }
107 .debug_sfnames 0 : { *(.debug_sfnames) }
108
109 /* DWARF 1.1 and DWARF 2 */
110 .debug_aranges 0 : { *(.debug_aranges) }
111 .debug_pubnames 0 : { *(.debug_pubnames) }
112
113 /* DWARF 2 */
114 .debug_info 0 : { *(.debug_info) }
115 .debug_abbrev 0 : { *(.debug_abbrev) }
116 .debug_line 0 : { *(.debug_line) }
117 .debug_frame 0 : { *(.debug_frame) }
118 .debug_str 0 : { *(.debug_str) }
119 .debug_loc 0 : { *(.debug_loc) }
120 .debug_macinfo 0 : { *(.debug_macinfo) }
121
122 /* SGI/MIPS DWARF 2 extensions */
123 .debug_weaknames 0 : { *(.debug_weaknames) }
124 .debug_funcnames 0 : { *(.debug_funcnames) }
125 .debug_typenames 0 : { *(.debug_typenames) }
126 .debug_varnames 0 : { *(.debug_varnames) }
127 }
This page took 0.039948 seconds and 5 git commands to generate.