]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/aarch64_nintendo_switch_freestanding_linker_script.ld
Auto merge of #97800 - pnkfelix:issue-97463-fix-aarch64-call-abi-does-not-zeroext...
[rust.git] / compiler / rustc_target / src / spec / aarch64_nintendo_switch_freestanding_linker_script.ld
1 OUTPUT_FORMAT(elf64-littleaarch64)
2 OUTPUT_ARCH(aarch64)
3 ENTRY(_start)
4
5 PHDRS
6 {
7   text PT_LOAD FLAGS(5);
8   rodata PT_LOAD FLAGS(4);
9   data PT_LOAD FLAGS(6);
10   bss PT_LOAD FLAGS(6);
11   dynamic PT_DYNAMIC;
12 }
13
14 SECTIONS
15 {
16   . = 0;
17
18   .text : ALIGN(0x1000) {
19     HIDDEN(__text_start = .);
20     KEEP(*(.text.jmp))
21
22     . = 0x80;
23
24     *(.text .text.*)
25     *(.plt .plt.*)
26   }
27
28   /* Read-only sections */
29
30   . = ALIGN(0x1000);
31
32   .module_name : { *(.module_name) } :rodata
33
34   .rodata : { *(.rodata .rodata.*) } :rodata
35   .hash : { *(.hash) }
36   .dynsym : { *(.dynsym .dynsym.*) }
37   .dynstr : { *(.dynstr .dynstr.*) }
38   .rela.dyn : { *(.rela.dyn) }
39
40   .eh_frame : {
41     HIDDEN(__eh_frame_start = .);
42     *(.eh_frame .eh_frame.*)
43     HIDDEN(__eh_frame_end = .);
44   }
45
46   .eh_frame_hdr : {
47     HIDDEN(__eh_frame_hdr_start = .);
48     *(.eh_frame_hdr .eh_frame_hdr.*)
49     HIDDEN(__eh_frame_hdr_end = .);
50   }
51
52   /* Read-write sections */
53
54    . = ALIGN(0x1000);
55
56   .data : {
57     *(.data .data.*)
58     *(.got .got.*)
59     *(.got.plt .got.plt.*)
60   } :data
61
62   .dynamic : {
63     HIDDEN(__dynamic_start = .);
64     *(.dynamic)
65   }
66
67   /* BSS section */
68
69   . = ALIGN(0x1000);
70
71   .bss : {
72     HIDDEN(__bss_start = .);
73     *(.bss .bss.*)
74     *(COMMON)
75     . = ALIGN(8);
76     HIDDEN(__bss_end = .);
77   } :bss
78 }