This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Add a warning for some problematic MIPS constants


On Wed, Sep 19, 2007 at 03:42:26PM +0100, Maciej W. Rozycki wrote:
> On Wed, 19 Sep 2007, Daniel Jacobowitz wrote:
> 
> > The cases I'm trying to warn about are instructions that do not have a
> > clear explicit width.  For instance, "li" and "dli" are obvious, but
> > bne and sltu are not.  If you write "bne $4,0x80000000,label" gas
> > zero extends the constant, and Diab sign extends it.
> 
>  So is there a way to express 2147483648 as a hexadecimal number with this 
> macro with that Diab tool?

I don't know.  I strongly suspect that the answer is "no".  The
obvious would be "bne $4,0x0000000080000000,label" and that sign
extends too.  Unfortunately there's nothing I can do about that :-(

All their macros appear to be defined to take 32-bit signed values;
it warns and discards the upper bits if you try a constant such as
0x180000000.

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]