[help]Creating PLT entries

C Jaiprakash, Noida C.Jaiprakash@noida.hcltech.com
Fri Sep 24 17:22:00 GMT 2004


Hi,
   I am trying to implement creation of PLT entries using existing implementation. Currently the target supports 32 bit displacement so existing plt entries use pc+32 bit addr mode. I want to modify it such that displacement is loaded into a register first and pc,reg addr mode is used. I want to modify this in elf32-m68k.c file. 
Following is part of plt entries table 
static const bfd_byte elf_m68k_plt0_entry[PLT_ENTRY_SIZE] =
{
  0x2f, 0x3b, 0x01, 0x70, /* move.l (%pc,addr),-(%sp) */
  0, 0, 0, 0,             /* replaced with offset to .got + 4.  */
  0x4e, 0xfb, 0x01, 0x71, /* jmp ([%pc,addr]) */
  0, 0, 0, 0,             /* replaced with offset to .got + 8.  */
  0, 0, 0, 0              /* pad out to 20 bytes.  */
};

How can i modify this so that instead of jmp ([%pc,addr]) jmp ([%pc,reg]) is used. Where should i look for modifications?
I have very little idea of binutils, so any kind of help is appreciated. 

regards,
c jaiprakash



More information about the Binutils mailing list