aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/ld
diff options
context:
space:
mode:
authorAlex Brainman <alex.brainman@gmail.com>2011-12-16 10:32:14 +1100
committerAlex Brainman <alex.brainman@gmail.com>2011-12-16 10:32:14 +1100
commit2da651f11537e05fa394df605570f1429cd084db (patch)
tree3999dda7370b219d2eed296e67d0e9f8f54ff31d /src/cmd/ld
parentb53856c16dc1facdc5c0257bd8b0ef4cff13d350 (diff)
downloadgo-2da651f11537e05fa394df605570f1429cd084db.tar.xz
ld: allow for IMAGE_REL_AMD64_ADDR32NB relocation type
enable cgo again on windows/amd64 R=rsc, vcc.163 CC=golang-dev https://golang.org/cl/5488074
Diffstat (limited to 'src/cmd/ld')
-rw-r--r--src/cmd/ld/ldpe.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/cmd/ld/ldpe.c b/src/cmd/ld/ldpe.c
index 8d175b1156..feb8620bdb 100644
--- a/src/cmd/ld/ldpe.c
+++ b/src/cmd/ld/ldpe.c
@@ -282,6 +282,8 @@ ldpe(Biobuf *f, char *pkg, int64 len, char *pn)
diag("%s: unknown relocation type %d;", pn, type);
case IMAGE_REL_I386_REL32:
case IMAGE_REL_AMD64_REL32:
+ case IMAGE_REL_AMD64_ADDR32: // R_X86_64_PC32
+ case IMAGE_REL_AMD64_ADDR32NB:
rp->type = D_PCREL;
rp->add = le32(rsect->base+rp->off);
break;
@@ -291,10 +293,6 @@ ldpe(Biobuf *f, char *pkg, int64 len, char *pn)
// load addend from image
rp->add = le32(rsect->base+rp->off);
break;
- case IMAGE_REL_AMD64_ADDR32: // R_X86_64_PC32
- rp->type = D_PCREL;
- rp->add += 4;
- break;
case IMAGE_REL_AMD64_ADDR64: // R_X86_64_64
rp->siz = 8;
rp->type = D_ADDR;