diff options
author | Shenghou Ma <minux.ma@gmail.com> | 2014-02-09 16:45:38 -0500 |
---|---|---|
committer | Shenghou Ma <minux.ma@gmail.com> | 2014-02-09 16:45:38 -0500 |
commit | dcb4a6132d446afa527ff2bbf9e5dcd9600042c9 (patch) | |
tree | b269b431f1fce3b1bcaec0e6567ab8a7cd10441a /src/cmd/6l | |
parent | e56c42d7f7578c100a0c02889fad65b075a459b4 (diff) | |
download | go-dcb4a6132d446afa527ff2bbf9e5dcd9600042c9.tar.gz |
include, linlink, cmd/6l, cmd/ld: part 1 of solaris/amd64 linker changes.
rsc suggested that we split the whole linker changes into three parts.
This is the first one, mostly dealing with adding Hsolaris.
LGTM=iant
R=golang-codereviews, iant, dave
CC=golang-codereviews
https://codereview.appspot.com/54210050
Diffstat (limited to 'src/cmd/6l')
-rw-r--r-- | src/cmd/6l/asm.c | 4 | ||||
-rw-r--r-- | src/cmd/6l/obj.c | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/cmd/6l/asm.c b/src/cmd/6l/asm.c index 084e2cc6a..813bdc848 100644 --- a/src/cmd/6l/asm.c +++ b/src/cmd/6l/asm.c @@ -44,6 +44,7 @@ char freebsddynld[] = "/libexec/ld-elf.so.1"; char openbsddynld[] = "/usr/libexec/ld.so"; char netbsddynld[] = "/libexec/ld.elf_so"; char dragonflydynld[] = "/usr/libexec/ld-elf.so.2"; +char solarisdynld[] = "/lib/amd64/ld.so.1"; char zeroes[32]; @@ -645,6 +646,7 @@ asmb(void) case Hnetbsd: case Hopenbsd: case Hdragonfly: + case Hsolaris: debug['8'] = 1; /* 64-bit addresses */ break; case Hwindows: @@ -674,6 +676,7 @@ asmb(void) case Hnetbsd: case Hopenbsd: case Hdragonfly: + case Hsolaris: symo = rnd(HEADR+segtext.len, INITRND)+rnd(segrodata.len, INITRND)+segdata.filelen; symo = rnd(symo, INITRND); break; @@ -754,6 +757,7 @@ asmb(void) case Hnetbsd: case Hopenbsd: case Hdragonfly: + case Hsolaris: asmbelf(symo); break; case Hwindows: diff --git a/src/cmd/6l/obj.c b/src/cmd/6l/obj.c index a2f146574..92c0c747a 100644 --- a/src/cmd/6l/obj.c +++ b/src/cmd/6l/obj.c @@ -65,6 +65,7 @@ archinit(void) case Hlinux: case Hnetbsd: case Hopenbsd: + case Hsolaris: break; } ctxt->linkmode = linkmode; @@ -106,6 +107,7 @@ archinit(void) case Hnetbsd: /* netbsd */ case Hopenbsd: /* openbsd */ case Hdragonfly: /* dragonfly */ + case Hsolaris: /* solaris */ elfinit(); HEADR = ELFRESERVE; if(INITTEXT == -1) |