From: Matthew Dempsky Date: Sat, 11 Mar 2017 06:22:11 +0000 (-0800) Subject: cmd/link: eliminate markextra X-Git-Tag: go1.9beta1~1200 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d343478295f8635e60014fa9481ccea04b6c53a8;p=gostls13.git cmd/link: eliminate markextra This appears to be leftover from when instruction selection happened in the linker. Many of the morestackX functions listed don't even exist anymore. Now that we select instructions within the compiler and assembler, normal deadcode elimination mechanisms should suffice for these symbols. Change-Id: I2cb1e435101392e7c983957c4acfbbcc87a5ca7d Reviewed-on: https://go-review.googlesource.com/38077 Run-TryBot: Matthew Dempsky TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- diff --git a/src/cmd/link/internal/ld/deadcode.go b/src/cmd/link/internal/ld/deadcode.go index 5d19f407cc..c616d5d5a8 100644 --- a/src/cmd/link/internal/ld/deadcode.go +++ b/src/cmd/link/internal/ld/deadcode.go @@ -127,27 +127,6 @@ func deadcode(ctxt *Link) { ctxt.Textp = textp } -var markextra = []string{ - "runtime.morestack", - "runtime.morestackx", - "runtime.morestack00", - "runtime.morestack10", - "runtime.morestack01", - "runtime.morestack11", - "runtime.morestack8", - "runtime.morestack16", - "runtime.morestack24", - "runtime.morestack32", - "runtime.morestack40", - "runtime.morestack48", - - // on arm, lock in the div/mod helpers too - "_div", - "_divu", - "_mod", - "_modu", -} - // methodref holds the relocations from a receiver type symbol to its // method. There are three relocations, one for each of the fields in // the reflect.method struct: mtyp, ifn, and tfn. @@ -222,9 +201,6 @@ func (d *deadcodepass) init() { if SysArch.Family == sys.ARM { // mark some functions that are only referenced after linker code editing - if obj.GOARM == 5 { - names = append(names, "_sfloat") - } names = append(names, "runtime.read_tls_fallback") } @@ -254,7 +230,6 @@ func (d *deadcodepass) init() { } } } - names = append(names, markextra...) for _, s := range dynexp { d.mark(s, nil) }