This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
hidden symbol `__gcov_merge_add' in /usr/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/libgcov.a
- From: Daniel Neuberger <daniel dot neuberger+bah at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Wed, 6 Oct 2010 21:30:15 +0000
- Subject: hidden symbol `__gcov_merge_add' in /usr/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/libgcov.a
Anyone know how to fix the this error:
hidden symbol `__gcov_merge_add' in
/usr/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/libgcov.a(_gcov_merge_add.o)
is referenced by DSO
I am using gcc 4.5.1 on RHEL 5. I had gotten this working before on
Fedora 13 (using same version of gcc), but something seems to have
changed with the shared libraries.
The command causing the problem is something like:
g++ obj1.o obj2.o libfoo.so -lgcov /usr/lib64/libstdc++.so
-Wl,--rpath -Wl,/usr/local/lib
We're actually using automake/libtool to run the build though. obj1.0
and obj2.o are not compiled with coverage options, but they depend on
libfoo.so which is compiled using --coverage and linked using -lgcov.
Initially, I had been getting undefined reference errors, but linking
the shared library to gcov solved that problem.
Thanks.
- Daniel