This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libjava build failure sol2.6 asm problem?


On Mon, 31 Dec 2001, Richard Henderson wrote:
> The sparc -fpic problem still needs to be fixed, not worked around.

Here's a backtrace where jc1 deletes the problem label:

#1  0x082d416d in delete_insn (insn=0x40209f04) at ../../gcc/cfgrtl.c:123
#2  0x081dfd81 in delete_related_insns (insn=0x40209f04)
    at ../../gcc/jump.c:1741
#3  0x081dff8e in delete_related_insns (insn=0x4020c340)
    at ../../gcc/jump.c:1809
#4  0x0838f84c in fill_slots_from_thread (insn=0x402093e0,
    condition=0x402078e8, thread=0x40291040, opposite_thread=0x4020964c,
    likely=0, thread_if_true=0, own_thread=1, slots_to_fill=1,
    pslots_filled=0xbffff6e4, delay_list=0x0) at ../../gcc/reorg.c:2713
#5  0x0839031f in fill_eager_delay_slots () at ../../gcc/reorg.c:3029
#6  0x083914cd in dbr_schedule (first=0x402052c0, file=0x0)
    at ../../gcc/reorg.c:3628
#7  0x08275375 in rest_of_compilation (decl=0x401f61f0)
    at ../../gcc/toplev.c:3394
#8  0x081dd245 in output_inline_function (fndecl=0x401f61f0)
    at ../../gcc/integrate.c:2960
#9  0x080b51dd in finish_class () at ../../gcc/java/class.c:1729

(gdb) p insn
$2 = (struct rtx_def *) 0x40209f04
(gdb) pr

(code_label 218 462 291 48 "" "" [0 uses])

(gdb) p insn
$1 = (struct rtx_def *) 0x4020c340
(gdb) pr
(insn/v 213 486 469 (set (reg:SI 8 %o0 [148])
        (high:SI (unspec:SI[
                    (label_ref:SI 218)
                    (symbol_ref:SI ("_GLOBAL_OFFSET_TABLE_"))
                ]  5))) 56 {*movsi_high_pic_label_ref} (nil)
    (expr_list:REG_EQUIV (high:SI (unspec:SI[
                    (label_ref:SI 218)
                    (symbol_ref:SI ("_GLOBAL_OFFSET_TABLE_"))
                ]  5))
        (insn_list:REG_LABEL 218 (nil))))

(I notice that LABEL_NUSES is zero, as it is for other non-problem
labels... who's responsibility is it to maintain LABEL_NUSES?)

Here is the test case I'm using... compile with -O2 -fPIC:

public class ThreadGroup {
  private ThreadGroup[] groups;
  private synchronized void checkDestroy() {
    for (int i=0; i < groups.length; i++)
      groups[i].checkDestroy();
  }
  public final synchronized void destroy() {
    checkDestroy ();
    for (int i=0; i < groups.length; i++)
      groups[i].destroy();
  }
}



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]