This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Bizarre symbol names generated by g++


Hi!

These are probably very silly newbie questions, but I've been unable to get
anything meaningful out of the mailing list's search engine...

I'm having difficulties understanding the symbol names created by g++ when
compiling C++ source code. I'm running g++ 3.2.1 on Solaris 2.8

When I compile a simple function like this:

	bool render(node* aNode, struct gv__ContentItem &rendered);

... I don't get a symbol "render", I get this:

	_Z6renderP4nodeR15gv__ContentItem

...which is complicating my life a bit because I was hoping to use these
functions in a dynamic library. dlsym() works okay if passed that label...
but it's not a particularly pretty or understandable thing to look at!

I've tried playing with various compiler options but haven't hit on a
combination yet to make this string understandable. I presume that the
weirdness is due to the necessity to have different symbol names for
overloaded functions.

I assume that the gibberish bares some resemblance to the function name and
its arguments... if I had a way to determine what the symbol name was going
to be then I'd be able to code to that. [I can spot the type names easily
enough, but what do "Z6", "P4" and "R15" mean or imply?] Alternatively if
there's a way to revert to 'normal' symbols, then I'd like to do that.

This has also been causing me pain when I use gdb (v5.0) because it makes
navigating around C++ stack traces difficult. Is there a more recent version
of gdb that handles C++ better (for example doesn't keep saying "'this' is
not an aggregate" when you try to do anything)?

Thanks in advance,

	Paul


This E-Mail and any attachment is intended only for the person or entity for
which it is addressed and may contain confidential material. If you are not
the addressee or have received this E-Mail in error, please inform the
sender immediately and delete it from your computer. In addition, if you are
not the addressee or have received this E-Mail in error, any disclosure,
copying, distribution or any action taken or omitted to be taken in reliance
upon it is prohibited and may be unlawful.
If this E-Mail has been transmitted outside the ordinary course of its
business, the company for which the sender works accepts no liability for
any loss or damage suffered by any person arising from any use of or
reliance on information contained in this E-Mail, and any opinion expressed
in this E-Mail is personal to the sender and may not reflect the opinion of
such company. Although the network operator makes every reasonable effort to
keep its network free from viruses, neither the network operator nor the
sender or the company for which the sender works accepts any responsibility
for computer viruses transmitted through this E-Mail or any attachments; it
is your responsibility to virus scan this E-Mail and any attachments. Any
E-Mail reply to this address may be subject to interception or monitoring
for operational reasons or for lawful business practices.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]