Commit 1abe22c3 authored by Cherry Zhang's avatar Cherry Zhang

cmd/compile: don't mark stack object symbol DUPOK

Stack object symbol is named as <FunctionName>.stkobj. If the
function itself is not DUPOK, its stack object symbol should only
be defined in the package where the function is defined,
therefore no duplicates.

If in the future we change the stack object symbol to
content-hash naming, as other gcdata symbols, we can mark it as
DUPOK.

Change-Id: I5aee96578940e2f76e7115d96cd2716021672c03
Reviewed-on: https://go-review.googlesource.com/c/go/+/191437
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarKeith Randall <khr@golang.org>
parent 81fde0c9
......@@ -288,7 +288,11 @@ func addGCLocals() {
}
}
if x := s.Func.StackObjects; x != nil {
ggloblsym(x, int32(len(x.P)), obj.RODATA|obj.DUPOK)
attr := int16(obj.RODATA)
if s.DuplicateOK() {
attr |= obj.DUPOK
}
ggloblsym(x, int32(len(x.P)), attr)
}
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment