[parisc-linux] 64-bit binutils problem

Alan Modra alan@linuxcare.com.au
Fri, 11 Aug 2000 21:51:35 +1000 (EST)


On Thu, 10 Aug 2000, Matthew Wilcox wrote:

> p.p.s.  anyone know why my piece of debug code:
> 
>         ldil            0xdecf0000, %r9
> 
> is getting assembled as:
> 
>     c0100000:   21 20 0f 00     ldil 78000000,r9

You've told the assembler to plug in the constant 0xdecf0000 to a ldil
instruction.  ldil has a 21 bit field so you only get the bottom 21 bits
of your constant.  The number they represent is the constant shifted
left by 11 bits.  Just happens to be 78000000  :-)

Try "ldil L%0xdecf000,%r9"

'twould be a lot nicer if "objdump -d" produced output that could be fed
back into the assembler, in which case you'd see the L%.  I may even fix
it one day when I find I have nothing to do...

Alan
-- 
Linuxcare.  Support for the Revolution.