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