aix4.3 bootstrap fails with snapshot 20000612

Geoff Keating geoffk@cygnus.com
Wed Jun 14 14:00:00 GMT 2000


> cc: "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>, gcc-bugs@gcc.gnu.org,
>         kit.smithers@eds.com, Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
> Date: Wed, 14 Jun 2000 15:48:39 -0400
> From: David Edelsohn <dje@watson.ibm.com>

> 	read_skip_spaces() tries to load the base of the TOC table from
> local symbol LC..313:
> 
>         lwz 11,LC..313(2)
> 
> Just before the function, LC..313 is equated with LC..276:
> 
>         .set LC..313,LC..276
> 
> LC..276 is the label for the TOC entry of label L..33:
> 
> LC..276:
>         .tc L..33[TC],L..33
> 
> However, L..33 is the local label for the jump table used by function
> copy_rtx()!

> 	I do not understand Geoff's new TOC code with hash tables well
> enough to debug this. 

Ow!

Try replacing these lines:

  else if (GET_CODE (r1) == LABEL_REF)
    return XINT (XEXP (r1, 0), 3) == XINT (XEXP (r2, 0), 3);

with

  else if (GET_CODE (r1) == LABEL_REF)
    return (CODE_LABEL_NUMBER (XEXP (r1, 0)) 
	    == CODE_LABEL_NUMBER (XEXP (r2, 0)));

(it should have been operand 5).

> I do note that when compiling some of the support
> functions in rs6000.c with warnings, GCC complains about prototype
> mismatches and one argument does not have the correct number of pointer
> indirections.

Those were harmless.  I had a fix in my internal tree, but feel free
to fix them anyway.

-- 
- Geoffrey Keating <geoffk@cygnus.com>


More information about the Gcc-bugs mailing list