------- 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

Reply via email to