I have a main linux executable and that executable is using some functions from a dynamic shared object. When I instrument the shared object and try also to instrument and compile the main executable it gives me a error like in bellow.
__gcov_init in /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcov/libgcov.a(_gcov.o) is referenced by DSO.
My question is,
 Is this happen exactly due to the shared library is referencing back to main executable ? or static object libgcov.a ?
 How can I overcome this issue ? In windows there is no way that shared object reference back to main executable, but in linux this is happening.