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


Am Wed, 08 Jul 1998 schrieb Jeffrey A Law:
>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?

(xxgdb) p debug_rtx(reg)
(reg:SI 126)
$1 = void
(xxgdb) p reg_n_info->num_elements
$2 = 126

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

No, just retested with updated cvs-egcs. I even put back rth's CONSTANT_P_RTX
patch, which floods me with warnings when compiling c++ (when will the rs6000
backend be converted?).

Any other info required?

Franz.


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