State of ELF64 for MIPS

Josh Scheid jscheid@SandCraft.com
Thu Apr 5 15:27:00 GMT 2001


Hi folks.  I'm trying figure out the state of ELF64 for MIPS.

I grabbed binutils-2.11
./configure --host=sparc-sun-solaris2.6 --target=mips64-elf ; make ;

Regardless of whether I use 

  $AS -32 -EB foo.s -o foo.o
  $LD --oformat elf32-bigmips -Ttext 0 foo.o -o foo.exe

or

  $AS -64 -EB foo.s -o foo.o
  $LD --oformat elf64-bigmips -Ttext 0 foo.o -o foo.exe

all the R_MIPS_26 look fine in the '.o' files.  But the jump instructions
get built incorrectly by the linker in the latter example.  It seems the
2-bit shift from 28-bit byte-address to 26-bit word-address isn't happening.

Source is
          .text
  Label0:
          j       Label1
          nop
  Label1:
          nop

Using

  $OBJDUMP --disassemble-all -x -m mips:mips64 foo.exe

the jump should encode to 0x08000003, but in the latter example it encodes to
0x0800000c.

Once again, I'm just trying to figure out what shape the support for 
MIPS64/ELF64 is in.  Thanks.

-Josh



More information about the Binutils mailing list