| 123456789101112131415161718192021222324252627282930 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- #ifndef PARSE_VDSO_H
- #define PARSE_VDSO_H
- #include <stdint.h>
- /*
- * To use this vDSO parser, first call one of the vdso_init_* functions.
- * If you've already parsed auxv, then pass the value of AT_SYSINFO_EHDR
- * to vdso_init_from_sysinfo_ehdr. Otherwise pass auxv to vdso_init_from_auxv.
- * Then call vdso_sym for each symbol you want. For example, to look up
- * gettimeofday on x86_64, use:
- *
- * <some pointer> = vdso_sym("LINUX_2.6", "gettimeofday");
- * or
- * <some pointer> = vdso_sym("LINUX_2.6", "__vdso_gettimeofday");
- *
- * vdso_sym will return 0 if the symbol doesn't exist or if the init function
- * failed or was not called. vdso_sym is a little slow, so its return value
- * should be cached.
- *
- * vdso_sym is threadsafe; the init functions are not.
- *
- * These are the prototypes:
- */
- void *vdso_sym(const char *version, const char *name);
- void vdso_init_from_sysinfo_ehdr(uintptr_t base);
- #endif
|