title: Implementation of __builtin_va_start(v,l)
body: <p>Going down the rabbit hole of variadic macros in glibc, I’ve reached <code>/usr/lib/gcc/x86_64-linux-gnu/4.8.2/include/stdarg.h</code> where, for example, the <code>va_start</code> macro is defined as:</p>
  
  <p><code>#define va_start(v,l)  __builtin_va_start(v,l)</code></p>
  
  <p>But I’ve been trying to look for the actual implementation of <code>__builtin_va_start(v,l)</code> without success. I’ve googled and grepped for it, and the furthest I’ve gotten to is <a href="http://bioen.okstate.edu/Home/prashm%20-%20keep/prashant/VS.NET%20setup%20files/PROGRAM%20FILES/MICROSOFT%20VISUAL%20STUDIO%20.NET/VC7/CRT/SRC/STDARG.H" rel="nofollow">Microsoft’s implementation</a> for Visual Studio, which I suppose isn’t radically different.</p>
  
  <p>Does anybody know where glibc implementation is?</p>
  
  <p>TIA.</p>