This is the mail archive of the gcc-patches@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: darwin bootstrap failure in mainline


On Aug 18, 2004, at 10:07 AM, Andrew Pinski wrote:
On Aug 18, 2004, at 9:54 AM, Fariborz Jahanian wrote:

Mainline bootstrap fails for apple-ppc-darwin today.

../../gcc-mainline-original/gcc/config/darwin-crt2.c: In function `__darwin_gcc3_preregister_frame_info':
../../gcc-mainline-original/gcc/config/darwin-crt2.c:146: internal compiler error: RTL flag check: MEM_READONLY_P used with unexpected rtx code `reg' in machopic_legitimize_pic_address, at config/darwin.c:617

This was always wrong so here is the simple fix which does fix at least this problem for me.

No, it wasn't wrong, RTX_UNCHANGING_P was defined to be valid on registers,
and I'll be surprised if Darwin was the only port doing that.
What exactly it meant was less clear; this code predates me.
It might have been trying to express that the pseudo was set to a value once
and never changed thereafter; that seems to fit with the code and the doc.
How do we say that now? I'm concerned about performance impact from
this patch, also; I guess we need to try it.


(btw, there are at least 2 other places in that function that do this, Andrew.)

I am applying it as obvious after double checking this fixes all of the
problems.

ChangeLog:
	* darwin.c (machopic_legitimize_pic_address): Only set MEM_READONLY_P
	in the non TARGET_TOC case.


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