]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/testsuite/gdb.base/m32r.ld
gdb/testsuite: allow gdb.base/overlays.exp to compile for m32r
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.base / m32r.ld
CommitLineData
c906108c
SS
1OUTPUT_FORMAT("elf32-m32r", "elf32-m32r",
2 "elf32-m32r")
3OUTPUT_ARCH(m32r)
4ENTRY(_start)
ed3bdac4
AB
5
6MEMORY
7{
8 RAM : ORIGIN = 0x208000, LENGTH = 0x100000
9 OVLY_1 : ORIGIN = 0x300000, LENGTH = 0x40000
10 OVLY_2 : ORIGIN = 0x340000, LENGTH = 0x40000
11 OVLY_3 : ORIGIN = 0x380000, LENGTH = 0x40000
12 OVLY_4 : ORIGIN = 0x3c0000, LENGTH = 0x40000
13 OVLY_STORAGE : ORIGIN = 0x400000, LENGTH = 0x100000
14}
15
c906108c
SS
16/* Do we need any of these for elf?
17 __DYNAMIC = 0; */
18SECTIONS
19{
ed3bdac4
AB
20 OVERLAY :
21 {
22 .ovly0 { */overlays2.o(.text) }
23 .ovly1 { */overlays3.o(.text) }
24 } >OVLY_1 AT>OVLY_STORAGE
25 OVERLAY :
26 {
27 .ovly2 { */overlays4.o(.text) }
28 .ovly3 { */overlays5.o(.text) }
29 } >OVLY_3 AT>OVLY_STORAGE
30 OVERLAY :
31 {
32 .data00 { */overlays2.o(.data) }
33 .data01 { */overlays3.o(.data) }
34 } >OVLY_2 AT>OVLY_STORAGE
35 OVERLAY :
36 {
37 .data02 { */overlays4.o(.data) }
38 .data03 { */overlays5.o(.data) }
39 } >OVLY_4 AT>OVLY_STORAGE
c906108c
SS
40
41 /* Read-only sections, merged into text segment: */
c906108c
SS
42 .interp : { *(.interp) }
43 .hash : { *(.hash) }
44 .dynsym : { *(.dynsym) }
45 .dynstr : { *(.dynstr) }
46 .rel.text : { *(.rel.text) }
47 .rela.text : { *(.rela.text) }
48 .rel.data : { *(.rel.data) }
49 .rela.data : { *(.rela.data) }
50 .rel.rodata : { *(.rel.rodata) }
51 .rela.rodata : { *(.rela.rodata) }
52 .rel.got : { *(.rel.got) }
53 .rela.got : { *(.rela.got) }
54 .rel.ctors : { *(.rel.ctors) }
55 .rela.ctors : { *(.rela.ctors) }
56 .rel.dtors : { *(.rel.dtors) }
57 .rela.dtors : { *(.rela.dtors) }
58 .rel.init : { *(.rel.init) }
59 .rela.init : { *(.rela.init) }
60 .rel.fini : { *(.rel.fini) }
61 .rela.fini : { *(.rela.fini) }
62 .rel.bss : { *(.rel.bss) }
63 .rela.bss : { *(.rela.bss) }
64 .rel.plt : { *(.rel.plt) }
65 .rela.plt : { *(.rela.plt) }
ed3bdac4
AB
66 .init : { *(.init) } >RAM AT>RAM =0
67 .plt : { *(.plt) } >RAM AT>RAM
68
c906108c
SS
69 .text :
70 {
71 *(.text)
72 /* .gnu.warning sections are handled specially by elf32.em. */
73 *(.gnu.warning)
74 *(.gnu.linkonce.t*)
ed3bdac4 75 } >RAM AT>RAM =0
c906108c
SS
76 _etext = .;
77 PROVIDE (etext = .);
ed3bdac4
AB
78 .fini : { *(.fini) } >RAM AT>RAM =0
79 .rodata : { *(.rodata) *(.gnu.linkonce.r*) } >RAM AT>RAM
80 .rodata1 : { *(.rodata1) } >RAM AT>RAM
c906108c
SS
81 /* Adjust the address for the data segment. We want to adjust up to
82 the same address within the page on the next page up. */
83 . = ALIGN(32) + (ALIGN(8) & (32 - 1));
84 .data :
85 {
86 *(.data)
87 *(.gnu.linkonce.d*)
88 _ovly_table = .;
89 _ovly0_entry = .;
90 LONG(ABSOLUTE(ADDR(.ovly0)));
91 LONG(SIZEOF(.ovly0));
92 LONG(LOADADDR(.ovly0));
93 LONG(0);
94 _ovly1_entry = .;
95 LONG(ABSOLUTE(ADDR(.ovly1)));
96 LONG(SIZEOF(.ovly1));
97 LONG(LOADADDR(.ovly1));
98 LONG(0);
99 _ovly2_entry = .;
100 LONG(ABSOLUTE(ADDR(.ovly2)));
101 LONG(SIZEOF(.ovly2));
102 LONG(LOADADDR(.ovly2));
103 LONG(0);
104 _ovly3_entry = .;
105 LONG(ABSOLUTE(ADDR(.ovly3)));
106 LONG(SIZEOF(.ovly3));
107 LONG(LOADADDR(.ovly3));
108 LONG(0);
109 _data00_entry = .;
110 LONG(ABSOLUTE(ADDR(.data00)));
111 LONG(SIZEOF(.data00));
112 LONG(LOADADDR(.data00));
113 LONG(0);
114 _data01_entry = .;
115 LONG(ABSOLUTE(ADDR(.data01)));
116 LONG(SIZEOF(.data01));
117 LONG(LOADADDR(.data01));
118 LONG(0);
119 _data02_entry = .;
120 LONG(ABSOLUTE(ADDR(.data02)));
121 LONG(SIZEOF(.data02));
122 LONG(LOADADDR(.data02));
123 LONG(0);
124 _data03_entry = .;
125 LONG(ABSOLUTE(ADDR(.data03)));
126 LONG(SIZEOF(.data03));
127 LONG(LOADADDR(.data03));
128 LONG(0);
129 _novlys = .;
130 LONG((_novlys - _ovly_table) / 16);
131
132 CONSTRUCTORS
ed3bdac4
AB
133 } >RAM AT>RAM
134 .data1 : { *(.data1) } >RAM AT>RAM
135 .ctors : { *(.ctors) } >RAM AT>RAM
136 .dtors : { *(.dtors) } >RAM AT>RAM
137 .got : { *(.got.plt) *(.got)} >RAM AT>RAM
138 .dynamic : { *(.dynamic) } >RAM AT>RAM
c906108c
SS
139 /* We want the small data sections together, so single-instruction offsets
140 can access them all, and initialized data all before uninitialized, so
141 we can shorten the on-disk segment size. */
ed3bdac4 142 .sdata : { *(.sdata) } >RAM AT>RAM
c906108c
SS
143 _edata = .;
144 PROVIDE (edata = .);
145 __bss_start = .;
ed3bdac4
AB
146 .sbss : { *(.sbss) *(.scommon) } >RAM AT>RAM
147 .bss : { *(.dynbss) *(.bss) *(COMMON) } >RAM AT>RAM
c906108c
SS
148 _end = . ;
149 PROVIDE (end = .);
150 /* Stabs debugging sections. */
151 .stab 0 : { *(.stab) }
152 .stabstr 0 : { *(.stabstr) }
153 .stab.excl 0 : { *(.stab.excl) }
154 .stab.exclstr 0 : { *(.stab.exclstr) }
155 .stab.index 0 : { *(.stab.index) }
156 .stab.indexstr 0 : { *(.stab.indexstr) }
157 .comment 0 : { *(.comment) }
158 /* DWARF debug sections.
159 Symbols in the .debug DWARF section are relative to the beginning of the
160 section so we begin .debug at 0. It's not clear yet what needs to happen
161 for the others. */
162 .debug 0 : { *(.debug) }
163 .debug_srcinfo 0 : { *(.debug_srcinfo) }
164 .debug_aranges 0 : { *(.debug_aranges) }
165 .debug_pubnames 0 : { *(.debug_pubnames) }
166 .debug_sfnames 0 : { *(.debug_sfnames) }
167 .line 0 : { *(.line) }
168 .stack 0x5ffffc : { _stack = .; *(.stack) }
169 /* These must appear regardless of . */
170}