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 < skip.tavakkolian@gmail.com> 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 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 >> wrote: >> >> yes. >> >> >> On Wed, May 1, 2013 at 11:11 AM, Rob Pike 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 >>> >>> >> >