ia64 libjava java-signal.h build failure

Tom Tromey tromey@redhat.com
Wed Apr 18 13:56:00 GMT 2001


>>>>> "Jim" == Jim Wilson <wilson@cygnus.com> writes:

Jim> My ia64-linux libjava build failed because the file java-signal.h
Jim> did not exist.  This file is required by prims.cc.

Is this on the trunk or the branch?

On the branch I'm suprised.  I would imagine we would get a link to
default-signal.h because on the branch the IA-64 port is set up to use
sjlj exceptions.  Look at the ia64 branch of the switch in
configure.host, and then this code in configure.in:

    # If we're using sjlj exceptions, forget what we just learned.
    if test "$libgcj_sjlj" = yes; then
       SIGNAL_HANDLER=include/default-signal.h
    fi

On the trunk I imagine that this problem is a side effect of Richard's
EH work.  In that case I'm not sure what the right thing to do is.
This is something Andrew Haley is going to (I hope!) look at.

Jim> This header file is supposed to be created by configure as a link
Jim> to some other header file, but configure is not doing this.
Jim> Comparing the libjava configure and configure.in it appears that
Jim> some code is missing from configure.  In configure.in, after the
Jim> code that sets SIGNAL_HANDLER, there is an AC_SUBST and an
Jim> AC_LINK_FILES, but neither of those appears in the configure
Jim> file.

Both AC_SUBST and AC_LINK_FILES are a bit funny in that the code they
generate doesn't appear until much later in the configure script.  For
instance the work performed by AC_LINK_FILES is deferred until
AC_OUTPUT is invoked (actually the work is done by config.status, I
believe).

Jim> Another possible problem here, the case that sets SIGNAL_HANDLER
Jim> has special code for ia64 targets that does not set
Jim> SIGNAL_HANDLER.  It isn't clear how this is supposed to work.  It
Jim> sets SYSDEP_SOURCES instead, but it sets it to a directory that
Jim> doesn't exist (sysdep/ia64).

It sets SYSDEP_SOURCES to sysdep/ia64.c, which does exist on both the
trunk and the branch.

You must be working on the trunk.  The problem is definitely due to
the EH changes.  I think the only fix is to wait until Andrew gets the
time to solve the remaining problems.  As I understand it the big
remaining problem with the new EH code is how we can throw an
exception from a signal handler.

Jim> Also, is appears that libjava configure is making the
Jim> java-signal.h link in the source tree.

I don't think we are.  We use AC_LINK_FILES to make all our links.
This macro does the right thing.  Why do you think this is failing?

Tom



More information about the Java mailing list