RFC: .sleb128 and bignums
Nick Clifton
nickc@redhat.com
Mon Jan 17 16:08:00 GMT 2005
Hi Richard,
> SO... to finally get to the point ;) I guess there are three options:
>
> (1) Declare the treatment of 0xffffffff to be correct but fix the
> bignum problems (i.e. apply something like the first patch but
> not the second).
>
> (2) Treat values as unsigned if they were written that way (i.e. apply
> both patches, or variations of them).
>
> (3) Get rid of sleb128 bignum support altogether. Treat everything
> as 32-bit if !BFD64.
>
> (1) seems better than the status quo but the signed/unsigned thing is a
> little odd. I'm uneasy about (2) because of the arithmetic problem
> described above.
>
> According to the Cygnus repository, the bugs fixed by the first patch
> have been around since the code was first added in Aug 1997. That suggests
> that bignum .sleb128s have never worked, yet as far as I know, no-one has
> ever complained before. Perhaps (3) really is a viable option?
Well we definitely ought to do (1). Just because a problem has not been
reported before there is no reason not to fix it now.
Personally I think that we ought to go with (2), but possibly arrange
for a warning message to be generated and/or allow a command line switch
or pseudo op to alter the new behaviour of GAS.
Cheers
Nick
More information about the Binutils
mailing list