This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: libjava build failure sol2.6 asm problem?
- From: Jeff Sturm <jsturm at one-point dot com>
- To: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Cc: rth at redhat dot com, gcc at gcc dot gnu dot org, per at bothner dot com
- Date: Sat, 29 Dec 2001 21:25:53 -0500 (EST)
- Subject: Re: libjava build failure sol2.6 asm problem?
On Thu, 27 Dec 2001, Kaveh R. Ghazi wrote:
> Was there any progress on the java bootstrap problem listed here?
>
> http://gcc.gnu.org/ml/gcc/2001-12/msg01179.html
I've isolated it to this patch, in gcc/java:
2001-12-03 Per Bothner <per@bothner.com>
* decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR
instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR.
* jcf-write.c (generate_bytecode_insns): Remove support for
CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR as they are no longer used.
* check-init.c (check_init): Likewise.
Generating a TRY_FINALLY_EXPR causes a GOTO_SUBROUTINE_EXPR. In expr.c:
case GOTO_SUBROUTINE_EXPR:
{
rtx subr = (rtx) TREE_OPERAND (exp, 0);
rtx return_link = *(rtx *) &TREE_OPERAND (exp, 1);
rtx return_address = gen_label_rtx ();
emit_move_insn (return_link,
gen_rtx_LABEL_REF (Pmode, return_address));
So that's how we get to gen_movsi_pic_label_ref. Not understanding the
reason for this patch, should I modify TRY_FINALLY_EXPR/GOTO_SUBROUTE_EXPR
to work more like CLEANUP_POINT_EXPR/WITH_CLEANUP_EXPR? I.e. without
generating a move from a LABEL_REF?
Or can anyone else see why the return_address label is getting deleted?
Jeff