title: difference between -lgcc_s and gcc
body: <p>what is the difference between linking against <code>gcc_s</code> and <code>gcc</code> by means of <code>LDFLAGS</code>?</p>
  
  <p>Is <code>gcc_s</code> a static library and <code>gcc</code> shared library?</p>
  
  <p>Because I was looking for a solution where it is mentioned to link against <code>gcc</code> whereas only <code>gcc_s</code> works in my case. I wish to know the real difference.</p>
  
  <pre><code>&lt;&lt;hidden symbol `__name_here' in /some/library/path.a(_filename.o) is referenced by DSO
  </code></pre>
  
  <p>In this case, the problem is usually solved by adding either "-l gcc" or "<code>gcc -print-libgcc-file-name</code>" to the linking flags (LDFLAGS). However, unlike my other regular platforms (i386, amd64, sparc64) here it wasn't enough. After a lot of head-banging (to be fair, it also comes from the music) I realized that this flag is necessary both when linking the libc <em>and</em>  the final executable file. 
  link: <a href="http://people.defora.org/~khorben/200903.html" rel="nofollow noreferrer">http://people.defora.org/~khorben/200903.html</a></p>