This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: GCJ problem on RS/6000
For AIX, the top-level configure.in defines:
noconfigdirs="... ${libgcj}"
# libgcj represents the runtime libraries only used by gcj.
libgcj="target-libffi \
target-boehm-gc \
target-zlib \
target-qthreads \
target-libjava"
Therefore, libgcj is not built by default when GCC is configured for AIX.
Configuring and building things manually, everything works except libjava.
libjava is able to build the class files and libgcj.jar on AIX. libjava
fails to build some of the C++ files because of -fdollars-in-identifiers:
AM_CXXFLAGS = -fno-rtti -fnon-call-exceptions \
-fdollars-in-identifiers \
$(WARNINGS) -D_GNU_SOURCE \
-DPREFIX="\"$(prefix)\""
This creates names like _ZN4java4lang9Throwable6class$E which cause
assembler errors because that symbol contains an illegal character on
AIX.
I do not know where this translation / mangling should occur. Is
the use of "$" required by the Java specification?
Other than the issue with dollar-signs, I do not know of any
fundamental issue remaining, but I do not know that everything will "just
work" if that is worked-around.
David