1
0
mirror of https://github.com/golang/go synced 2024-11-15 03:40:29 -07:00

cmd/link: propagate FromAssembly attribute when cloning symbols to external

When a symbol is cloned to external (in order to edit it),
propagate the FromAssembly attribute, so the linker knows it is
(originally) an assembly symbol, and can treat it specially (e.g.
for stack maps).

This should fix the Linux/RISCV64 builder.

Change-Id: Icc956bcc43b79f328983a60835b05fd50f22326a
Reviewed-on: https://go-review.googlesource.com/c/go/+/587926
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Than McIntosh <thanm@google.com>
This commit is contained in:
Cherry Mui 2024-05-24 13:19:35 -04:00
parent 23778fcb27
commit 5c7d774538

View File

@ -763,6 +763,11 @@ func (l *Loader) IsFileLocal(i Sym) bool {
// object file generated by the Go assembler.
func (l *Loader) IsFromAssembly(i Sym) bool {
if l.IsExternal(i) {
pp := l.getPayload(i)
if pp.objidx != 0 {
r := l.objs[pp.objidx]
return r.FromAssembly()
}
return false
}
r, _ := l.toLocal(i)