From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 1 May 2013 21:18:57 +0200 From: David du Colombier <0intro@gmail.com> To: 9fans@9fans.net Message-ID: <20130501211857.02f03574@zinc.9fans.fr> In-Reply-To: References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [9fans] Go tip build fails Topicbox-Message-UUID: 4e57b578-ead8-11e9-9d60-3106f5b1d025 > 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 made this change and it doesn't seem to fix the problem. diff -r 3478ecc801f6 src/cmd/ld/ldelf.c --- a/src/cmd/ld/ldelf.c Wed May 01 10:00:05 2013 -0400 +++ b/src/cmd/ld/ldelf.c Wed May 01 19:15:00 2013 +0000 @@ -706,7 +706,7 @@ else { // load addend from image if(rp->siz == 4) - rp->add = e->e32(sect->base+rp->off); + rp->add = (int32)e->e32(sect->base+rp->off); else if(rp->siz == 8) rp->add = e->e64(sect->base+rp->off); else diff -r 3478ecc801f6 src/cmd/ld/ldpe.c --- a/src/cmd/ld/ldpe.c Wed May 01 10:00:05 2013 -0400 +++ b/src/cmd/ld/ldpe.c Wed May 01 19:15:00 2013 +0000 @@ -297,7 +297,7 @@ case IMAGE_REL_I386_DIR32: rp->type = D_ADDR; // load addend from image - rp->add = le32(rsect->base+rp->off); + rp->add = (int32)le32(rsect->base+rp->off); break; case IMAGE_REL_AMD64_ADDR64: // R_X86_64_64 rp->siz = 8; -- David du Colombier