title: GNU Triplet, GCC and Linux kernel compiling
body: <p>My native gcc says, that its triplet is the following.</p>
  
  <pre><code>&gt; gcc -dumpmachine
  x86_64-suse-linux
  </code></pre>
  
  <p>Where cpu-vendor-os are correspondingly x86_64, suse, linux. The latter means that glibs is in use(?). When I am doing cross-compiling busybux-based system the compiler triplet is something like avr32-linux-uclibc, where os is 'linux-uclibc', meaning that uclibc is used.</p>
  
  <p>The difference between 'linux-glibc' and 'linux-uclibc' is (AFAIU) in collect2 behavior and libgcc.a content. Either glibc or uclibs are silently linked to the target binary.</p>
  
  <p>The questions is that how is the linux kernel been compiled by the same compilers? As soon as the kernel runs on bare-metal it must not been linked with any kind of user-space libc, and should use appropriate libgcc.a</p>