This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: arm constant pool problems
- To: Philip Blundell <philb at gnu dot org>
- Subject: Re: arm constant pool problems
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Mon, 18 Sep 2000 17:20:31 +0100
- Cc: gcc-patches at gcc dot gnu dot org
- Cc: rearnsha at arm dot com
- Organization: ARM Ltd.
- Reply-To: rearnsha at arm dot com
> 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.