aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal
diff options
context:
space:
mode:
authorCherry Zhang <cherryyz@google.com>2020-05-21 14:08:32 -0400
committerCherry Zhang <cherryyz@google.com>2020-05-21 14:08:32 -0400
commit6097f7cf7a9a9bf877f6f49112ffcc2d0f0e7e75 (patch)
treec42265e0cfb4ac2bbcf4a9ed9432748997d2362a /src/cmd/internal
parent8e4ab9cb4c28649be36f82a02d04eb1cb31d02c9 (diff)
parentc847589ad06a1acfcceaac7b230c0d5a826caab8 (diff)
downloadgo-6097f7cf7a9a9bf877f6f49112ffcc2d0f0e7e75.tar.xz
[dev.link] all: merge branch 'master' into dev.link
Change-Id: I85b653b621ad8cb2ef27886210ea2c4b7409b60d
Diffstat (limited to 'src/cmd/internal')
-rw-r--r--src/cmd/internal/obj/objfile.go8
-rw-r--r--src/cmd/internal/objabi/util.go11
2 files changed, 12 insertions, 7 deletions
diff --git a/src/cmd/internal/obj/objfile.go b/src/cmd/internal/obj/objfile.go
index 6701b9bfba..5e7018eb6e 100644
--- a/src/cmd/internal/obj/objfile.go
+++ b/src/cmd/internal/obj/objfile.go
@@ -425,6 +425,14 @@ func (ft *DwarfFixupTable) SetPrecursorFunc(s *LSym, fn interface{}) {
absfn.Type = objabi.SDWARFINFO
ft.ctxt.Data = append(ft.ctxt.Data, absfn)
+ // In the case of "late" inlining (inlines that happen during
+ // wrapper generation as opposed to the main inlining phase) it's
+ // possible that we didn't cache the abstract function sym for the
+ // text symbol -- do so now if needed. See issue 38068.
+ if s.Func != nil && s.Func.dwarfAbsFnSym == nil {
+ s.Func.dwarfAbsFnSym = absfn
+ }
+
ft.precursor[s] = fnState{precursor: fn, absfn: absfn}
}
diff --git a/src/cmd/internal/objabi/util.go b/src/cmd/internal/objabi/util.go
index 72dd5856f8..2f94ec6a67 100644
--- a/src/cmd/internal/objabi/util.go
+++ b/src/cmd/internal/objabi/util.go
@@ -37,16 +37,13 @@ var (
const (
ElfRelocOffset = 256
- MachoRelocOffset = 2048 // reserve enough space for ELF relocations
+ MachoRelocOffset = 2048 // reserve enough space for ELF relocations
+ Go115AMD64 = "alignedjumps" // Should be "alignedjumps" or "normaljumps"; this replaces environment variable introduced in CL 219357.
)
+// TODO(1.16): assuming no issues in 1.15 release, remove this and related constant.
func goamd64() string {
- switch v := envOr("GOAMD64", defaultGOAMD64); v {
- case "normaljumps", "alignedjumps":
- return v
- }
- log.Fatalf("Invalid GOAMD64 value. Must be normaljumps or alignedjumps.")
- panic("unreachable")
+ return Go115AMD64
}
func goarm() int {