From 71ab3c1ccfebbc065c10531e4846f02d44f4be0d Mon Sep 17 00:00:00 2001 From: Matthew Dempsky Date: Wed, 30 Mar 2016 22:56:00 -0700 Subject: [PATCH] cmd/link: remove -H elf flag We create appropriate ELF files automatically based on GOOS. There's no point in supporting -H elf flag, particularly since we need to emit different flavors of ELF depending on GOOS anyway. If that weren't reason enough, -H elf appears to be broken since at least Go 1.4. At least I wasn't able to find a way to make use of it. As best I can tell digging through commit history, -H elf is just an artifact leftover from Plan 9's 6l linker. Change-Id: I7393caaadbc60107bbd6bc99b976a4f4fe6b5451 Reviewed-on: https://go-review.googlesource.com/21343 Run-TryBot: Matthew Dempsky Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/cmd/internal/obj/link.go | 1 - src/cmd/internal/obj/sym.go | 1 - src/cmd/link/internal/amd64/asm.go | 6 ++---- src/cmd/link/internal/amd64/obj.go | 13 ------------- src/cmd/link/internal/ld/sym.go | 1 - 5 files changed, 2 insertions(+), 20 deletions(-) diff --git a/src/cmd/internal/obj/link.go b/src/cmd/internal/obj/link.go index 152a2acea0..cfe7c958cd 100644 --- a/src/cmd/internal/obj/link.go +++ b/src/cmd/internal/obj/link.go @@ -716,7 +716,6 @@ const ( Hunknown = 0 + iota Hdarwin Hdragonfly - Helf Hfreebsd Hlinux Hnacl diff --git a/src/cmd/internal/obj/sym.go b/src/cmd/internal/obj/sym.go index a723eb4689..64df62a2ae 100644 --- a/src/cmd/internal/obj/sym.go +++ b/src/cmd/internal/obj/sym.go @@ -44,7 +44,6 @@ var headers = []struct { }{ {"darwin", Hdarwin}, {"dragonfly", Hdragonfly}, - {"elf", Helf}, {"freebsd", Hfreebsd}, {"linux", Hlinux}, {"android", Hlinux}, // must be after "linux" entry or else headstr(Hlinux) == "android" diff --git a/src/cmd/link/internal/amd64/asm.go b/src/cmd/link/internal/amd64/asm.go index 274e246fbc..d809f6e8ed 100644 --- a/src/cmd/link/internal/amd64/asm.go +++ b/src/cmd/link/internal/amd64/asm.go @@ -671,8 +671,7 @@ func asmb() { ld.Diag("unknown header type %d", ld.HEADTYPE) fallthrough - case obj.Hplan9, - obj.Helf: + case obj.Hplan9: break case obj.Hdarwin: @@ -702,8 +701,7 @@ func asmb() { ld.Bso.Flush() switch ld.HEADTYPE { default: - case obj.Hplan9, - obj.Helf: + case obj.Hplan9: ld.Debug['s'] = 1 symo = int64(ld.Segdata.Fileoff + ld.Segdata.Filelen) diff --git a/src/cmd/link/internal/amd64/obj.go b/src/cmd/link/internal/amd64/obj.go index f5c2756fe7..f9e13f2e18 100644 --- a/src/cmd/link/internal/amd64/obj.go +++ b/src/cmd/link/internal/amd64/obj.go @@ -136,19 +136,6 @@ func archinit() { ld.INITRND = 0x200000 } - case obj.Helf: /* elf32 executable */ - ld.HEADR = int32(ld.Rnd(52+3*32, 16)) - - if ld.INITTEXT == -1 { - ld.INITTEXT = 0x80110000 - } - if ld.INITDAT == -1 { - ld.INITDAT = 0 - } - if ld.INITRND == -1 { - ld.INITRND = 4096 - } - case obj.Hdarwin: /* apple MACH */ ld.Machoinit() diff --git a/src/cmd/link/internal/ld/sym.go b/src/cmd/link/internal/ld/sym.go index 486b881520..3deb94644e 100644 --- a/src/cmd/link/internal/ld/sym.go +++ b/src/cmd/link/internal/ld/sym.go @@ -43,7 +43,6 @@ var headers = []struct { }{ {"darwin", obj.Hdarwin}, {"dragonfly", obj.Hdragonfly}, - {"elf", obj.Helf}, {"freebsd", obj.Hfreebsd}, {"linux", obj.Hlinux}, {"android", obj.Hlinux}, // must be after "linux" entry or else headstr(Hlinux) == "android" -- 2.48.1