aadb8b9994cd00b31e65c07e95af8a6f245ddebd
[firefly-linux-kernel-4.4.55.git] / arch / x86 / vdso / vdso32 / vdso32.lds.S
1 /*
2  * Linker script for 32-bit vDSO.
3  * We #include the file to define the layout details.
4  * Here we only choose the prelinked virtual address.
5  *
6  * This file defines the version script giving the user-exported symbols in
7  * the DSO.  We can define local symbols here called VDSO* to make their
8  * values visible using the asm-x86/vdso.h macros from the kernel proper.
9  */
10
11 #include <asm/page.h>
12
13 #define BUILD_VDSO32
14 #define VDSO_PRELINK 0
15
16 #include "../vdso-layout.lds.S"
17
18 /* The ELF entry point can be used to set the AT_SYSINFO value.  */
19 ENTRY(__kernel_vsyscall);
20
21 /*
22  * This controls what userland symbols we export from the vDSO.
23  */
24 VERSION
25 {
26         LINUX_2.6 {
27         global:
28                 __vdso_clock_gettime;
29                 __vdso_gettimeofday;
30                 __vdso_time;
31         };
32
33         LINUX_2.5 {
34         global:
35                 __kernel_vsyscall;
36                 __kernel_sigreturn;
37                 __kernel_rt_sigreturn;
38         local: *;
39         };
40 }
41
42 /*
43  * Symbols we define here called VDSO* get their values into vdso32-syms.h.
44  */
45 VDSO32_vsyscall         = __kernel_vsyscall;
46 VDSO32_sigreturn        = __kernel_sigreturn;
47 VDSO32_rt_sigreturn     = __kernel_rt_sigreturn;
48 VDSO32_clock_gettime    = clock_gettime;
49 VDSO32_gettimeofday     = gettimeofday;
50 VDSO32_time             = time;