GNU Linux-libre 5.19-rc6-gnu
[releases.git] / arch / csky / kernel / vdso / vdso.lds.S
1 /* SPDX-License-Identifier: GPL-2.0-only */
2
3 #include <asm/page.h>
4
5 OUTPUT_ARCH(csky)
6
7 SECTIONS
8 {
9         PROVIDE(_vdso_data = . + PAGE_SIZE);
10         . = SIZEOF_HEADERS;
11
12         .hash           : { *(.hash) }                  :text
13         .gnu.hash       : { *(.gnu.hash) }
14         .dynsym         : { *(.dynsym) }
15         .dynstr         : { *(.dynstr) }
16         .gnu.version    : { *(.gnu.version) }
17         .gnu.version_d  : { *(.gnu.version_d) }
18         .gnu.version_r  : { *(.gnu.version_r) }
19
20         .note           : { *(.note.*) }                :text   :note
21         .dynamic        : { *(.dynamic) }               :text   :dynamic
22
23         .eh_frame_hdr   : { *(.eh_frame_hdr) }          :text   :eh_frame_hdr
24         .eh_frame       : { KEEP (*(.eh_frame)) }       :text
25
26         .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
27
28         . = 0x800;
29         .text           : { *(.text .text.*) }          :text
30
31         .data           : {
32                 *(.got.plt) *(.got)
33                 *(.data .data.* .gnu.linkonce.d.*)
34                 *(.dynbss)
35                 *(.bss .bss.* .gnu.linkonce.b.*)
36         }
37 }
38
39 PHDRS
40 {
41         text            PT_LOAD         FLAGS(5) FILEHDR PHDRS; /* PF_R|PF_X */
42         dynamic         PT_DYNAMIC      FLAGS(4);               /* PF_R */
43         note            PT_NOTE         FLAGS(4);               /* PF_R */
44         eh_frame_hdr    PT_GNU_EH_FRAME;
45 }
46
47 VERSION
48 {
49         LINUX_5.10 {
50         global:
51                 __vdso_rt_sigreturn;
52                 __vdso_clock_gettime;
53                 __vdso_clock_gettime64;
54                 __vdso_gettimeofday;
55                 __vdso_clock_getres;
56         local: *;
57         };
58 }