aboutsummaryrefslogtreecommitdiff
path: root/src/liblink
diff options
context:
space:
mode:
authorShenghou Ma <minux@golang.org>2014-12-26 00:15:07 -0500
committerMinux Ma <minux@golang.org>2015-02-06 05:41:15 +0000
commit1083715b7f2cb89e90a9ef04012a427aabe4e648 (patch)
tree524919ef007b2125b19e2ed27c85fc9ae7691b78 /src/liblink
parentdb0d3892e0f3b246475c473685249427f86e3a56 (diff)
downloadgo-1083715b7f2cb89e90a9ef04012a427aabe4e648.tar.xz
liblink, cmd/ld, cmd/5l: darwin/arm support
liblink: - set dummy value for ctxt->tlsoffset. cmd/ld: - always do external linking when using cgo on darwin/arm, as our linker might not generate codesign-compatible binary. cmd/5l: - support generate ARM Mach-O binaries - add machoreloc1() that translate our internal relocation to macho relocations used by external linking. Change-Id: Ic5454aeb87009aaf8f1453ec7fe33e6da55d5f06 Reviewed-on: https://go-review.googlesource.com/3273 Reviewed-by: David Crawshaw <crawshaw@golang.org>
Diffstat (limited to 'src/liblink')
-rw-r--r--src/liblink/sym.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/liblink/sym.c b/src/liblink/sym.c
index 079f600aa9..cae7e4aafe 100644
--- a/src/liblink/sym.c
+++ b/src/liblink/sym.c
@@ -148,15 +148,15 @@ linknew(LinkArch *arch)
switch(ctxt->arch->thechar) {
default:
sysfatal("unknown thread-local storage offset for nacl/%s", ctxt->arch->name);
+ case '5':
+ ctxt->tlsoffset = 0;
+ break;
case '6':
ctxt->tlsoffset = 0;
break;
case '8':
ctxt->tlsoffset = -8;
break;
- case '5':
- ctxt->tlsoffset = 0;
- break;
}
break;
@@ -174,6 +174,9 @@ linknew(LinkArch *arch)
case '8':
ctxt->tlsoffset = 0x468;
break;
+ case '5':
+ ctxt->tlsoffset = 0; // dummy value, not needed
+ break;
}
break;
}