This is the mail archive of the
mailing list for the GCC project.
Re: GCJ problem on RS/6000
- From: Bryce McKinlay <bryce at waitaki dot otago dot ac dot nz>
- To: tromey at redhat dot com
- Cc: Martyn Honeyford <MARTYNH at uk dot ibm dot com>, GCC-Java <java at gcc dot gnu dot org>, gcc at gcc dot gnu dot org
- Date: Fri, 08 Feb 2002 15:18:26 +1300
- Subject: Re: GCJ problem on RS/6000
- References: <OFFD8EAAA6.B0866C79-ON80256B59.003E7CA6@portsmouth.uk.ibm.com> <firstname.lastname@example.org>
Tom Tromey wrote:
>Martyn> Anyone able to help?
>Does he say what version he is using?
>I know we've changed the handling of "$" in the recent past, but
>offhand I don't recall the details.
The long story:
Java uses "$" as the namespace separator for nested (inner) classes.
Unfortunatly a few platforms (ie AIX) don't allow this character in
assembler labels. The idea is for the config for such platforms to
declare NO_DOLLAR_IN_LABEL and the compiler will mangle occurances of
"$" into something else. Even more unfortunatly C++ ignores this, and
elfos.h incorrectly defines it, which make it more or less useless. To
make it do something useful, the C++ and Java front-ends need to agree
on a common mangling for "$" when the platform does not allow it, and
elfos.h needs to stop defining it. Or, even better, some generic part of
the compiler (varasm?) could do the mangling when it sees