xref: /linux/tools/perf/perf-read-vdso.c (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 // SPDX-License-Identifier: GPL-2.0
2 #include <stdio.h>
3 #include <string.h>
4 
5 #define VDSO__MAP_NAME "[vdso]"
6 
7 /*
8  * Include definition of find_map() also used in util/vdso.c for
9  * building perf.
10  */
11 #include "util/find-map.c"
12 
13 int main(void)
14 {
15 	void *start, *end;
16 	size_t size, written;
17 
18 	if (find_map(&start, &end, VDSO__MAP_NAME))
19 		return 1;
20 
21 	size = end - start;
22 
23 	while (size) {
24 		written = fwrite(start, 1, size, stdout);
25 		if (!written)
26 			return 1;
27 		start += written;
28 		size -= written;
29 	}
30 
31 	if (fflush(stdout))
32 		return 1;
33 
34 	return 0;
35 }
36