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