Re: Bug#539378: [hppa]: fails to load nfs module: Global Offset Table
On Thu, Jul 30, 2009 at 8:37 PM, John David
Anglin<dave@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.
Reply to: