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

Reply via email to