aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link/internal/amd64
diff options
context:
space:
mode:
authorMichael Matloob <matloob@golang.org>2016-08-21 18:34:24 -0400
committerMichael Matloob <matloob@golang.org>2016-08-22 14:09:05 +0000
commitfa8a28d55940adbf797e54a9ca6fa68f1e341a93 (patch)
tree96a87f8c19e9f1502429c9e0504d8038078b5064 /src/cmd/link/internal/amd64
parent236901384dc9fc3d7810ae96b43c8404f0fea6c1 (diff)
downloadgo-fa8a28d55940adbf797e54a9ca6fa68f1e341a93.tar.xz
cmd/link: turn some globals into flag pointer variables
This moves many of the flag globals into main and assigns them to their flag.String/Int64/... directly. Updates #16818 Change-Id: Ibbff44a273bbc5cb7228e43f147900ee8848517f Reviewed-on: https://go-review.googlesource.com/27473 Reviewed-by: David Crawshaw <crawshaw@golang.org>
Diffstat (limited to 'src/cmd/link/internal/amd64')
-rw-r--r--src/cmd/link/internal/amd64/asm.go12
-rw-r--r--src/cmd/link/internal/amd64/obj.go68
2 files changed, 40 insertions, 40 deletions
diff --git a/src/cmd/link/internal/amd64/asm.go b/src/cmd/link/internal/amd64/asm.go
index d8f0978c5f..3392b4ab00 100644
--- a/src/cmd/link/internal/amd64/asm.go
+++ b/src/cmd/link/internal/amd64/asm.go
@@ -657,7 +657,7 @@ func asmb(ctxt *ld.Link) {
break
case obj.Hdarwin:
- ld.Debug['8'] = true /* 64-bit addresses */
+ ld.Flag8 = true /* 64-bit addresses */
case obj.Hlinux,
obj.Hfreebsd,
@@ -665,7 +665,7 @@ func asmb(ctxt *ld.Link) {
obj.Hopenbsd,
obj.Hdragonfly,
obj.Hsolaris:
- ld.Debug['8'] = true /* 64-bit addresses */
+ ld.Flag8 = true /* 64-bit addresses */
case obj.Hnacl,
obj.Hwindows:
@@ -676,7 +676,7 @@ func asmb(ctxt *ld.Link) {
ld.Spsize = 0
ld.Lcsize = 0
symo := int64(0)
- if !ld.Debug['s'] {
+ if !*ld.FlagS {
if ctxt.Debugvlog != 0 {
fmt.Fprintf(ctxt.Bso, "%5.2f sym\n", obj.Cputime())
}
@@ -684,11 +684,11 @@ func asmb(ctxt *ld.Link) {
switch ld.HEADTYPE {
default:
case obj.Hplan9:
- ld.Debug['s'] = true
+ *ld.FlagS = true
symo = int64(ld.Segdata.Fileoff + ld.Segdata.Filelen)
case obj.Hdarwin:
- symo = int64(ld.Segdwarf.Fileoff + uint64(ld.Rnd(int64(ld.Segdwarf.Filelen), int64(ld.INITRND))) + uint64(machlink))
+ symo = int64(ld.Segdwarf.Fileoff + uint64(ld.Rnd(int64(ld.Segdwarf.Filelen), int64(*ld.FlagRound))) + uint64(machlink))
case obj.Hlinux,
obj.Hfreebsd,
@@ -698,7 +698,7 @@ func asmb(ctxt *ld.Link) {
obj.Hsolaris,
obj.Hnacl:
symo = int64(ld.Segdwarf.Fileoff + ld.Segdwarf.Filelen)
- symo = ld.Rnd(symo, int64(ld.INITRND))
+ symo = ld.Rnd(symo, int64(*ld.FlagRound))
case obj.Hwindows:
symo = int64(ld.Segdwarf.Fileoff + ld.Segdwarf.Filelen)
diff --git a/src/cmd/link/internal/amd64/obj.go b/src/cmd/link/internal/amd64/obj.go
index 6a04b3bcfc..9e6cdd72ea 100644
--- a/src/cmd/link/internal/amd64/obj.go
+++ b/src/cmd/link/internal/amd64/obj.go
@@ -42,7 +42,7 @@ import (
func Main() {
linkarchinit()
- ld.Ldmain()
+ ld.Main()
}
func linkarchinit() {
@@ -121,28 +121,28 @@ func archinit(ctxt *ld.Link) {
case obj.Hplan9: /* plan 9 */
ld.HEADR = 32 + 8
- if ld.INITTEXT == -1 {
- ld.INITTEXT = 0x200000 + int64(ld.HEADR)
+ if *ld.FlagTextAddr == -1 {
+ *ld.FlagTextAddr = 0x200000 + int64(ld.HEADR)
}
- if ld.INITDAT == -1 {
- ld.INITDAT = 0
+ if *ld.FlagDataAddr == -1 {
+ *ld.FlagDataAddr = 0
}
- if ld.INITRND == -1 {
- ld.INITRND = 0x200000
+ if *ld.FlagRound == -1 {
+ *ld.FlagRound = 0x200000
}
case obj.Hdarwin: /* apple MACH */
ld.Machoinit()
ld.HEADR = ld.INITIAL_MACHO_HEADR
- if ld.INITRND == -1 {
- ld.INITRND = 4096
+ if *ld.FlagRound == -1 {
+ *ld.FlagRound = 4096
}
- if ld.INITTEXT == -1 {
- ld.INITTEXT = 4096 + int64(ld.HEADR)
+ if *ld.FlagTextAddr == -1 {
+ *ld.FlagTextAddr = 4096 + int64(ld.HEADR)
}
- if ld.INITDAT == -1 {
- ld.INITDAT = 0
+ if *ld.FlagDataAddr == -1 {
+ *ld.FlagDataAddr = 0
}
case obj.Hlinux, /* elf64 executable */
@@ -154,47 +154,47 @@ func archinit(ctxt *ld.Link) {
ld.Elfinit(ctxt)
ld.HEADR = ld.ELFRESERVE
- if ld.INITTEXT == -1 {
- ld.INITTEXT = (1 << 22) + int64(ld.HEADR)
+ if *ld.FlagTextAddr == -1 {
+ *ld.FlagTextAddr = (1 << 22) + int64(ld.HEADR)
}
- if ld.INITDAT == -1 {
- ld.INITDAT = 0
+ if *ld.FlagDataAddr == -1 {
+ *ld.FlagDataAddr = 0
}
- if ld.INITRND == -1 {
- ld.INITRND = 4096
+ if *ld.FlagRound == -1 {
+ *ld.FlagRound = 4096
}
case obj.Hnacl:
ld.Elfinit(ctxt)
- ld.Debug['w'] = true // disable dwarf, which gets confused and is useless anyway
+ *ld.FlagW = true // disable dwarf, which gets confused and is useless anyway
ld.HEADR = 0x10000
ld.Funcalign = 32
- if ld.INITTEXT == -1 {
- ld.INITTEXT = 0x20000
+ if *ld.FlagTextAddr == -1 {
+ *ld.FlagTextAddr = 0x20000
}
- if ld.INITDAT == -1 {
- ld.INITDAT = 0
+ if *ld.FlagDataAddr == -1 {
+ *ld.FlagDataAddr = 0
}
- if ld.INITRND == -1 {
- ld.INITRND = 0x10000
+ if *ld.FlagRound == -1 {
+ *ld.FlagRound = 0x10000
}
case obj.Hwindows: /* PE executable */
ld.Peinit(ctxt)
ld.HEADR = ld.PEFILEHEADR
- if ld.INITTEXT == -1 {
- ld.INITTEXT = ld.PEBASE + int64(ld.PESECTHEADR)
+ if *ld.FlagTextAddr == -1 {
+ *ld.FlagTextAddr = ld.PEBASE + int64(ld.PESECTHEADR)
}
- if ld.INITDAT == -1 {
- ld.INITDAT = 0
+ if *ld.FlagDataAddr == -1 {
+ *ld.FlagDataAddr = 0
}
- if ld.INITRND == -1 {
- ld.INITRND = ld.PESECTALIGN
+ if *ld.FlagRound == -1 {
+ *ld.FlagRound = ld.PESECTALIGN
}
}
- if ld.INITDAT != 0 && ld.INITRND != 0 {
- fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(ld.INITDAT), uint32(ld.INITRND))
+ if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
+ fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
}
}