Hi Ian, Couldn't resolve this issue yet. :( As you said, "That means that it can only be referenced from within the executable, not from a shared library." So it seems this symbol is being referenced in crtbegin.o. If so then how to aviod it? Thanks, Rajat. ----- Original Message ---- From: Ian Lance Taylor <iant@xxxxxxxxxx> To: Rajat <myself_rajat@xxxxxxxxx> Sent: Wed, September 23, 2009 11:13:22 AM Subject: Re: G++ Linking issue : hidden symbol `__dso_handle' Rajat <myself_rajat@xxxxxxxxx> writes: > But it seems linker is not able to resolve this symbol, defined in crtbegin.o . > > /usr/bin/ld: <binary_name> :hidden symbol `__dso_handle' in /usr/lib/gcc/i386-redhat-linux/3.4.6/crtbegin.o is referenced by DSO > /usr/bin/ld: final link failed: Nonrepresentable section on output > collect2: ld returned 1 exit status Please reply to the mailing list, not just to me. As the error message says, the symbol is marked as hidden in crtbegin.o. That means that it can only be referenced from within the executable, not from a shared library. Ian