I don't think changing ldelf.c would fix this issue. IIRC we don't use it on 
Plan 9.

On May 1, 2013, at 15:25, Skip Tavakkolian <[email protected]> wrote:

> found the other instance at line ldelf.c:681; the assignment from e32 is 
> indirect via "add".  same results as before.
> 
> 
> On Wed, May 1, 2013 at 12:14 PM, Skip Tavakkolian 
> <[email protected]> wrote:
>> bootes% grep -n 'rp->add' *.[ch] | grep e32
>> ldelf.c:709:                                         rp->add = 
>> e->e32(sect->base+rp->off);
>> ldmacho.c:807:                               rp->add = 
>> (int32)e->e32(s->p+rp->off) + rp->off + 4 - secaddr;
>> ldmacho.c:809:                               rp->add = 
>> (int32)e->e32(s->p+rp->off);
>> ldpe.c:294:                                  rp->add = 
>> (int32)le32(rsect->base+rp->off);
>> ldpe.c:300:                                  rp->add = 
>> le32(rsect->base+rp->off);
>> 
>> it seems that ldelf.c:709 is the only place that fits your instructions.  
>> doing the cast has no effect (i.e. fails building cmd/go with the same error 
>> messages)
>> 
>> 
>> On Wed, May 1, 2013 at 11:54 AM, Rob Pike <[email protected]> wrote:
>>> that means you are building from source
>>> 
>>> in the ld directory, look for assignments to rd->add from calls to e32. two 
>>> do not do a cast to int32. try casting those two and let me know if you can
>>> 
>>> i will be at work in a couple of hours, not on a phone, and can offer more 
>>> help then. 
>>> 
>>> 
>>> -rob
>>> 
>>> On May 1, 2013, at 11:31 AM, Skip Tavakkolian <[email protected]> 
>>> wrote:
>>> 
>>>> yes.
>>>> 
>>>> 
>>>> On Wed, May 1, 2013 at 11:11 AM, Rob Pike <[email protected]> wrote:
>>>>> Are you using Plan 9? Because I don't understand how you could get
>>>>> those messages on Plan 9, but I do on other systems.
>>>>> 
>>>>> -rob
> 

Reply via email to