It’s a virtual shared object that doesn’t have any physical file on the disk; it’s a part of the kernel that’s exported into every program’s address space when it’s loaded.
It’s main purpose to make more efficient to call certain system calls (which would otherwise incur performance issues like this). The most prominent being gettimeofday(2)
.
You can read more about it here: http://man7.org/linux/man-pages/man7/vdso.7.html