File tree 1 file changed +42
-12
lines changed
compiler/rustc_target/src/spec/targets
1 file changed +42
-12
lines changed Original file line number Diff line number Diff line change 1
1
OUTPUT_FORMAT ("elf32-littlearm")
2
2
3
- ENTRY (_start )
3
+ ENTRY (_boot )
4
4
5
5
__user_ram_start = 0x03800000;
6
6
__user_ram_length = 0x04800000;
7
7
__user_ram_end = __user_ram_start + __user_ram_length;
8
8
9
- MEMORY {
10
- USER_RAM : ORIGIN = __user_ram_start, LENGTH = __user_ram_length
11
- }
9
+ __code_signature_length = 0x20;
12
10
13
11
__stack_length = 0x400000;
14
12
__heap_end = __user_ram_end - __stack_length;
15
13
14
+ __eh_frame_hdr_start = SIZEOF (.eh_frame_hdr) > 0 ? ADDR (.eh_frame_hdr) : 0;
15
+ __eh_frame_hdr_end = SIZEOF (.eh_frame_hdr) > 0 ? . : 0;
16
+
17
+ MEMORY {
18
+ USER_RAM : ORIGIN = __user_ram_start, LENGTH = __user_ram_length
19
+ }
20
+
16
21
SECTIONS {
17
- .text : {
18
- __text_start = .;
22
+ .code_signature : {
19
23
KEEP(*(.code_signature))
20
- . = __text_start + 0x20;
24
+ . = __user_ram_start + __code_signature_length;
25
+ } > USER_RAM
26
+
27
+ .text : {
21
28
*(.boot)
22
29
*(.text .text.*)
23
- } > USER_RAM = 0
30
+ } > USER_RAM
24
31
25
- .rodata1 : {
26
- *(.rodata1 .rodata1 .*)
32
+ .rodata : {
33
+ *(.rodata .rodata .*)
27
34
} > USER_RAM
28
35
29
36
.data : {
30
37
*(.data .data.*)
31
- *(.data1 .data1.*)
32
38
} > USER_RAM
33
39
34
40
.bss : {
@@ -37,6 +43,30 @@ SECTIONS {
37
43
__bss_end = .;
38
44
} > USER_RAM
39
45
46
+ /* The unwind tables enabled by "default-uwtable" in the target file live here. */
47
+ /* __eh_frame_start and similar symbols are used by libunwind. */
48
+ .eh_frame_hdr : {
49
+ KEEP(*(.eh_frame_hdr))
50
+ } > USER_RAM
51
+
52
+ .eh_frame : {
53
+ __eh_frame_start = .;
54
+ KEEP(*(.eh_frame))
55
+ __eh_frame_end = .;
56
+ } > USER_RAM
57
+
58
+ .ARM.exidx : {
59
+ __exidx_start = .;
60
+ *(.ARM.exidx*)
61
+ __exidx_end = .;
62
+ } > USER_RAM
63
+
64
+ .ARM.extab : {
65
+ __extab_start = .;
66
+ *(.ARM.extab*)
67
+ __extab_end = .;
68
+ } > USER_RAM
69
+
40
70
.heap (NOLOAD) : ALIGN (4) {
41
71
__heap_start = .;
42
72
. = __heap_end;
@@ -49,6 +79,6 @@ SECTIONS {
49
79
} > USER_RAM
50
80
51
81
/DISCARD/ : {
52
- *(.ARM.exidx )
82
+ *(.ARM.attributes* )
53
83
}
54
84
}
You can’t perform that action at this time.
0 commit comments