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]

Re: arm constant pool problems


> Nicholas Clark sent me the appended testcase.  With -O -fpic on arm-linux, the 
> mainline compiler was generating bad assembly (also appended):
> 
> /tmp/cc7wB4Hi.s: Assembler messages:
> /tmp/cc7wB4Hi.s:4391: Error: Illegal value for co-processor offset
> 
> I think this is caused by a missing check in add_minipool_backward_ref.  
> minipool_barrier->address is, effectively, the address of the last word in the 
> pool.  For constants of more than one word, it may be necessary to reach lower 
> addresses than this.

I'm not saying the above is wrong, but I don't think it should be needed: 
the neg_pool_range attribute value should already take this into account 
(note that they are all slightly less than the maximum value).  I'll have 
a look at this, but it won't be soon since I'm going to be out of the 
office for most of the next two weeks.

R.




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