PR11867, bignum operations

Tristan Gingold gingold@adacore.com
Tue Aug 3 07:05:00 GMT 2010


On Aug 3, 2010, at 12:06 AM, H.J. Lu wrote:

> On Mon, Aug 2, 2010 at 2:44 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Mon, Aug 2, 2010 at 2:38 PM, Richard Sandiford
>> <rdsandiford@googlemail.com> wrote:
>>> "H.J. Lu" <hjl.tools@gmail.com> writes:
>>>> On Mon, Aug 2, 2010 at 6:18 AM, Alan Modra <amodra@gmail.com> wrote:
>>>>> gas only supports the unary '-', '~', and '!' operators for bignums,
>>>>> and all three were broken.  '!' gave the logical inverse of the proper
>>>>> result, and the other two ignored any leading zeros.
>>>>> 
>>>>>        PR gas/11867
>>>>>        * expr.c (operand <'-' and '~'>): Widen bignums.
>>>>>        (operand <'!'>): Correct bignum result and convert to O_constant.
>>>>>        * read.c (emit_expr): Don't assert on .byte bignum.  Don't display
>>>>>        bignum truncated warning for sign extended bignums.
>>>>> 
>>>> 
>>>> I checked in this testcase.
>>> 
>>>> +Contents of section .data:
>>>> + 0000 00000000 fa448607 00000000 fdffffff  .....D..........
>>> 
>>> Doesn't this need a big-endian alternative?
>>> 
>> 
>> I guess so.
>> 
> 
> I checked in this to limit it to i*86, x86_64 and ia64.

ia64 hpux is big-endian.



More information about the Binutils mailing list