title: "Hidden symbol `atexit' is referenced by DSO" when using libtool with gcov
body: <p>I have a C++ project that uses the GNU Autotools for its build scripts and libtool for linking.  Recently I have added code coverage instrumentation with gcov, by ensuring that</p>
  
  <pre><code>GCOV_CFLAGS="-fprofile-arcs -ftest-coverage"
  GCOV_LDFLAGS="-fprofile-arcs -ftest-coverage"
  </code></pre>
  
  <p>..get included in my <code>CFLAGS</code> and <code>LDFLAGS</code> respectively.  On OS X 10.7.4 using g++-4.2 (installed by homebrew), everything works fine.</p>
  
  <p>On Ubuntu 12.04 using g++ 4.6.3, libtool fails to link one of my tests:</p>
  
  <pre><code>/bin/bash ./libtool --tag=CXX   --mode=link g++ -Wall -Wextra -Werror -ansi -fprofile-arcs -ftest-coverage -g -O0 -fprofile-arcs -ftest-coverage -L/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib   -o myproj/inttests/locale_test myproj/inttests/locale_test.o myproj/app/libapp.la -lboost_thread-mt -lboost_system-mt -pthread -llog4cplus  
  libtool: link: g++ -Wall -Wextra -Werror -ansi -fprofile-arcs -ftest-coverage -g -O0 -fprofile-arcs -ftest-coverage -Wl,-rpath -Wl,/usr/local/lib -o myproj/inttests/.libs/locale_test myproj/inttests/locale_test.o -pthread  -L/usr/local/lib myproj/app/.libs/libapp.so -lboost_thread-mt -lboost_system-mt /usr/lib/liblog4cplus.so -pthread
  /usr/bin/ld: myproj/inttests/.libs/locale_test: hidden symbol `atexit' in /usr/lib/x86_64-linux-gnu/libc_nonshared.a(atexit.oS) is referenced by DSO
  /usr/bin/ld: final link failed: Bad value
  collect2: ld returned 1 exit status
  make[2]: *** [myproj/inttests/locale_test] Error 1
  </code></pre>
  
  <p>How do I fix my build on ubuntu/g++ 4.6?</p>