]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: record regabi status in DW_AT_producer
authorAlessandro Arzilli <alessandro.arzilli@gmail.com>
Sun, 9 May 2021 07:05:45 +0000 (09:05 +0200)
committerThan McIntosh <thanm@google.com>
Mon, 24 May 2021 18:10:39 +0000 (18:10 +0000)
Records if regabi was enabled during compilation in the DW_AT_producer
attribute of each compile unit.
This is useful to debuggers that support the debugCall protocol.

Change-Id: I5ad2c48ebf126aeb8bfb459b53a1a5304550036a
Reviewed-on: https://go-review.googlesource.com/c/go/+/318050
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Go Bot <gobot@golang.org>

src/cmd/compile/internal/dwarfgen/dwarf.go

index 5d7dc320aa8e4a459cdf5c319725549c11a78b9b..0e22b61bc3ff4344ba1ad7c3e74f65c76a620243 100644 (file)
@@ -531,6 +531,14 @@ func RecordFlags(flags ...string) {
                fmt.Fprintf(&cmd, " -%s=%v", f.Name, getter.Get())
        }
 
+       // Adds flag to producer string singalling whether regabi is turned on or
+       // off.
+       // Once regabi is turned on across the board and the relative GOEXPERIMENT
+       // knobs no longer exist this code should be removed.
+       if buildcfg.Experiment.RegabiArgs {
+               cmd.Write([]byte(" regabi"))
+       }
+
        if cmd.Len() == 0 {
                return
        }