GCJ problem on RS/6000
Fri Feb 8 15:08:00 GMT 2002
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. Other than convenience, I do not see any reason that GCJ and
G++ need to generate $ in symbol names. GCJ could translate everything
rot13 or EBCDIC because the spec cannot impose requirements at that level.
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.
More information about the Java