title: Where is linux-vdso.so.1 present on the file system
body: <p>I am learning about VDSO, wrote a simple application which calls gettimeofday()</p>
  
  <pre><code>#define _GNU_SOURCE
  #include &lt;sys/syscall.h&gt;
  #include &lt;sys/time.h&gt;
  #include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;string.h&gt;
  #include &lt;unistd.h&gt;
  
  int main(int argc, char *argv[])
  {
      struct timeval current_time;
  
      if (gettimeofday(&amp;current_time, NULL) == -1)
          printf("gettimeofday");
  
      getchar();
  
      exit(EXIT_SUCCESS);
  }
  </code></pre>
  
  <p>ldd on the binary shows 'linux-vdso'</p>
  
  <pre><code>$ ldd ./prog
      linux-vdso.so.1 (0x00007ffce147a000)
      libc.so.6 =&gt; /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6ef9e8e000)
      /lib64/ld-linux-x86-64.so.2 (0x00007f6efa481000)
  </code></pre>
  
  <p>I did a find for the libvdso library and there is no such library present in my file system.</p>
  
  <pre><code>sudo find / -name 'linux-vdso.so*'
  </code></pre>
  
  <p>Where is the library present?</p>