xref: /linux/arch/x86/entry/vdso/vdso64/vdso64.lds.S (revision 6f7e6393d1ce636bb7ec77a7fe7b77458fddf701)
1*693c819fSH. Peter Anvin/* SPDX-License-Identifier: GPL-2.0 */
2*693c819fSH. Peter Anvin/*
3*693c819fSH. Peter Anvin * Linker script for 64-bit vDSO.
4*693c819fSH. Peter Anvin * We #include the file to define the layout details.
5*693c819fSH. Peter Anvin *
6*693c819fSH. Peter Anvin * This file defines the version script giving the user-exported symbols in
7*693c819fSH. Peter Anvin * the DSO.
8*693c819fSH. Peter Anvin */
9*693c819fSH. Peter Anvin
10*693c819fSH. Peter Anvin#define BUILD_VDSO64
11*693c819fSH. Peter Anvin
12*693c819fSH. Peter Anvin#include "common/vdso-layout.lds.S"
13*693c819fSH. Peter Anvin
14*693c819fSH. Peter Anvin/*
15*693c819fSH. Peter Anvin * This controls what userland symbols we export from the vDSO.
16*693c819fSH. Peter Anvin */
17*693c819fSH. Peter AnvinVERSION {
18*693c819fSH. Peter Anvin	LINUX_2.6 {
19*693c819fSH. Peter Anvin	global:
20*693c819fSH. Peter Anvin		clock_gettime;
21*693c819fSH. Peter Anvin		__vdso_clock_gettime;
22*693c819fSH. Peter Anvin		gettimeofday;
23*693c819fSH. Peter Anvin		__vdso_gettimeofday;
24*693c819fSH. Peter Anvin		getcpu;
25*693c819fSH. Peter Anvin		__vdso_getcpu;
26*693c819fSH. Peter Anvin		time;
27*693c819fSH. Peter Anvin		__vdso_time;
28*693c819fSH. Peter Anvin		clock_getres;
29*693c819fSH. Peter Anvin		__vdso_clock_getres;
30*693c819fSH. Peter Anvin#ifdef CONFIG_X86_SGX
31*693c819fSH. Peter Anvin		__vdso_sgx_enter_enclave;
32*693c819fSH. Peter Anvin#endif
33*693c819fSH. Peter Anvin		getrandom;
34*693c819fSH. Peter Anvin		__vdso_getrandom;
35*693c819fSH. Peter Anvin	local: *;
36*693c819fSH. Peter Anvin	};
37*693c819fSH. Peter Anvin}
38