On Thu, Jul 30, 2009 at 8:37 PM, John David Anglin<d...@hiauly1.hia.nrc.ca> wrote: >> case ELF_STUB_GOT: >> - stub->insns[0] = 0x537b0000; /* ldd 0(%dp),%dp */ >> + stub->insns[0] = 0x537b0000; /* ldd 0(%dp),%dp */ >> stub->insns[1] = 0x53610020; /* ldd 10(%dp),%r1 */ >> stub->insns[2] = 0xe820d000; /* bve (%r1) */ >> stub->insns[3] = 0x537b0030; /* ldd 18(%dp),%dp */ >> >> - stub->insns[0] |= reassemble_14(get_got(me, value, addend) & >> 0x3fff); >> + d = get_got(me, value, addend); >> + if (d <= 15) >> + stub->insns[0] |= reassemble_14(d); > > reassemble_14 is wrong for ldd format 3. Need format 5 and im5 insertion.
This is using reassemble_14 for ldd format 5, which is correct. Cheers, Carlos. -- To UNSUBSCRIBE, email to debian-hppa-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org