>       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.

Dave
-- 
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to