This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: GCJ problem on RS/6000
- From: Joe Buck <jbuck at synopsys dot COM>
- To: dje at watson dot ibm dot com (David Edelsohn)
- Cc: MARTYNH at uk dot ibm dot com (Martyn Honeyford),tromey at redhat dot com (Tom Tromey), jbuck at synopsys dot COM (Joe Buck),java at gcc dot gnu dot org
- Date: Fri, 8 Feb 2002 15:10:17 -0800 (PST)
- Subject: Re: GCJ problem on RS/6000
David Edelsohn writes:
> With a little more investigating, it appears that Sun's Java
> Compiler set the precedent of using $ as the separator for inner classes.
> I guess this is now part of some spec / ABI. But that only defines the
> names of symbols in class files, not symbols in object files and
> executables.
Right. And when we distinguish between the two, we are doing name
mangling.
> Allowing $ in identifiers is one thing, but blindly copying them
> through to assembly files when NO_DOLLAR_IN_LABEL is defined creates big
> problems for portability of GCC, G++ and GCJ.
What we need is an agreed-apon way to handle the case where a $ is in
a symbol an NO_DOLLAR_IN_LABEL is defined, ideally that is agreeable to
C++ and Java maintainers. This extension won't break the C++ ABI because
it doesn't affect standard code.