162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Linker script for 64-bit vDSO.
462306a36Sopenharmony_ci * We #include the file to define the layout details.
562306a36Sopenharmony_ci * Here we only choose the prelinked virtual address.
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * This file defines the version script giving the user-exported symbols in
862306a36Sopenharmony_ci * the DSO.  We can define local symbols here called VDSO* to make their
962306a36Sopenharmony_ci * values visible using the asm-x86/vdso.h macros from the kernel proper.
1062306a36Sopenharmony_ci */
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#define VDSO_PRELINK 0xffffffffff700000
1362306a36Sopenharmony_ci#include "vdso-layout.lds.S"
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci/*
1662306a36Sopenharmony_ci * This controls what userland symbols we export from the vDSO.
1762306a36Sopenharmony_ci */
1862306a36Sopenharmony_ciVERSION {
1962306a36Sopenharmony_ci	LINUX_2.6 {
2062306a36Sopenharmony_ci	global:
2162306a36Sopenharmony_ci		clock_gettime;
2262306a36Sopenharmony_ci		__vdso_clock_gettime;
2362306a36Sopenharmony_ci		gettimeofday;
2462306a36Sopenharmony_ci		__vdso_gettimeofday;
2562306a36Sopenharmony_ci		getcpu;
2662306a36Sopenharmony_ci		__vdso_getcpu;
2762306a36Sopenharmony_ci		time;
2862306a36Sopenharmony_ci		__vdso_time;
2962306a36Sopenharmony_ci	local: *;
3062306a36Sopenharmony_ci	};
3162306a36Sopenharmony_ci}
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciVDSO64_PRELINK = VDSO_PRELINK;
34