This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[JAVA] Fix bootstrap failure on Tru64
- From: Andrew Haley <aph at redhat dot com>
- To: Roger Sayle <roger at eyesopen dot com>
- Cc: gcc-patches at gcc dot gnu dot org, <java-patches at gcc dot gnu dot org>
- Date: Tue, 13 Apr 2004 09:41:36 +0100
- Subject: [JAVA] Fix bootstrap failure on Tru64
- References: <Pine.LNX.4.44.0404121533300.7211-100000@www.eyesopen.com>
Roger Sayle writes:
>
> The following patch fixes the current bootstrap failure building
> libjava on alphaev67-dec-osf5.1. The problem is that the function
> write_resource_constructor is directly calling the asm_out.constructor
> target hook without checking have_ctors_dtors. On Tru64 (which uses
> collect2), this target method is a null pointer, and so jc1 gets a
> segmentation fault.
>
> The following fix restores bootstrap, using the same idiom as in the
> almost identical code in emit_register_classes in class.c. However,
> the libjava testsuite looks much worse than the last time I bootstrapped
> this platform in February.
This is wrong, IMO. It's fair enough to bring Tru64 back to
bootstrap, but clearly until we find some other way to make it work,
this port is broken.
So: approved if you generate a diagnostic when
targetm.asm_out.constructor is NULL. That way we'll know why we have
such a weird runtime failure.
> I'm not sure if these regressions are related to the fix below or
> unrelated changes [Many of failures seem to be caused by the
> assembler warning "Length of .lcomm was less than 1: _MT_..."]?
That's not nice.
Andrew.