------- Comment #8 from ro at gcc dot gnu dot org 2007-07-12 10:18 ------- I've now identified the patch that caused this regression:
2007-04-03 Andrew Haley <[EMAIL PROTECTED]> * jvgenmain.c (main): Change main to use class$, not class$$. (do_mangle_classname): Likewise. * class.c (hide): New function. (add_field): Hide everything that shouldn't be visible outside a DSO. (build_static_class_ref): Likewise. (build_classdollar_field): Likewise. (make_class_data): Likewise. (layout_class_method): Likewise. * expr.c (special_method_p): New function. * class.c (push_class): Don't bogusly guess the source filename. * jcf-parse.c (give_name_to_class): Don't set input_location from DECL_ARTIFICIAL decls. The problem is that it assumes that the platform has support for the visibility attribute, which is not true if using /usr/sfw/bin/gas (2.15) with Sun ld. While it would work on Solaris 10, it might require linker patches on older releases and is probably hard to detect via autoconf. During the build, there are many warnings /mnt/gcc-reghunt/libjava/java/lang/Class.java:1379: warning: visibility attribute not supported in this configuration; ignored but I hadn't seen the connection before. Rainer -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32462