libjava build failure sol2.6 asm problem?
Jeff Sturm
jsturm@one-point.com
Sat Dec 29 18:38:00 GMT 2001
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
More information about the Gcc
mailing list