symbol_ref constants

Sanjiv Kumar Gupta sanjiv.gupta@oracle.com
Wed Mar 30 18:39:00 GMT 2005


Nathan Sidwell wrote:

> Sanjiv Kumar Gupta wrote:
>
>> calculated by linker. Now
>>   add r1, foo
>>   add r1, 10
>>   add r1, -10
>> are okay but   add r1, foo + 10
>>   add r1, -10 are not, since (foo + 10)  may  overflow during
>> relocation, so the value (foo + 10) && 0xff inserted
>> by linker is not correct.
>
>
> What is stopping the value of 'foo' itself being > 255?
>
> nathan
>
Programmer will get an overflow error for that during linking.

But the problem here is that with foo = 255, the code works without -O2, but
not with -O2, which looks strange. Since -O2 (CSE)
combines
  add r1, foo
  add r1, 10
to
  add r1, foo + 10

Thanks.
--Sanjiv



More information about the Gcc mailing list