This is the mail archive of the gcc-bugs@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]

Re: new SIGSEGV in jump.c



  In message <98070621161400.08933@ns1102.munich.netsurf.de>you write:
  > ->    if (GET_CODE (insn) == INSN
  > 	&& (set = single_set (insn)) != 0
  > 	&& ((reg = SET_DEST (set), GET_CODE (reg) == REG)
  > 	  || (GET_CODE (reg) == SUBREG
  > 	    && (reg = SUBREG_REG (reg), GET_CODE (reg) == REG)))
  > 	&& REGNO (reg) >= FIRST_PSEUDO_REGISTER
  > 	&& REGNO_FIRST_UID (REGNO (reg)) == INSN_UID (insn))
  > 
  > (xxgdb) print insn
  > $2 = 0x1c2c528
  > (xxgdb) pr
  > (insn 177 52 178 (set (reg:CCUNS 123)
  > (compare:CCUNS (reg/s:SI 92)
  > (const_int 5))) -1 (nil)
  > (nil))
  > 
  > (xxgdb) pi
  > $3 = {0xb1, 0x1c2d608, 0x1c2c568, 0x1c2c518, 0xffffffff, 0x0, 0x0}
  > 
  > If I interpret the assembler correctly the NULL pointer dereference happens
  > here:    
  >   && REGNO_FIRST_UID (REGNO (reg)) == INSN_UID (insn))
What is "reg" (OK, I think I know what it should be, but let's make
100% sure).

p debug_rtx(reg)

What is the value of reg_n_info->num_elements?


Is is possible this is the problem fixed by rth's recent change to
regclass.c?

jeff


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