aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link/internal/ld/deadcode.go
diff options
context:
space:
mode:
authorCherry Zhang <cherryyz@google.com>2020-11-08 11:50:10 -0500
committerCherry Zhang <cherryyz@google.com>2021-03-05 23:58:34 +0000
commit414fa8c35e7c2f65e2c767d6db2f25791e53b5c1 (patch)
treed197d5e6748f41d60f0e6b0b09452c69b839ac1d /src/cmd/link/internal/ld/deadcode.go
parent009bfeae866f45549865e554420a05c10e9578ca (diff)
downloadgo-414fa8c35e7c2f65e2c767d6db2f25791e53b5c1.tar.xz
cmd/internal/objabi: use a separate bit to mark weak relocation
Instead of using two relocation types R_XXX and R_WEAKXXX, use a separate bit, R_WEAK, to mark weak relocations. This makes it easier to add more weak relocation types. Change-Id: Iec4195c2aefa65f59e464c83018246e17cd08173 Reviewed-on: https://go-review.googlesource.com/c/go/+/268478 Trust: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
Diffstat (limited to 'src/cmd/link/internal/ld/deadcode.go')
-rw-r--r--src/cmd/link/internal/ld/deadcode.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cmd/link/internal/ld/deadcode.go b/src/cmd/link/internal/ld/deadcode.go
index ebde41499e..ed276b5a99 100644
--- a/src/cmd/link/internal/ld/deadcode.go
+++ b/src/cmd/link/internal/ld/deadcode.go
@@ -128,10 +128,11 @@ func (d *deadcodePass) flood() {
methods = methods[:0]
for i := 0; i < relocs.Count(); i++ {
r := relocs.At(i)
+ if r.Weak() {
+ continue
+ }
t := r.Type()
switch t {
- case objabi.R_WEAKADDROFF:
- continue
case objabi.R_METHODOFF:
if i+2 >= relocs.Count() {
panic("expect three consecutive R_METHODOFF relocs")