mirror of
https://github.com/golang/go
synced 2024-11-26 08:17:59 -07:00
cmd/link: resolve magic value in gdbscript section generation
According to the .debug_gdb_scripts section specification
[https://sourceware.org/gdb/onlinedocs/gdb/dotdebug_005fgdb_005fscripts-section.html],
each entry begins with a non-null prefix byte that specifies the kind of entry.
This commit resolves a question about magic byte and replaces a
hardcoded value with a meaningful constant "GdbScriptPythonFileId"
inside writegdbscript function.
Change-Id: I456c742bcb539a5853b9e2a6811033f35c37e7d4
GitHub-Last-Rev: 2f1c4cb9ee
GitHub-Pull-Request: golang/go#47646
Reviewed-on: https://go-review.googlesource.com/c/go/+/341391
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
This commit is contained in:
parent
21de6bc463
commit
bca8c6ffa2
@ -187,6 +187,16 @@ func isDwarf64(ctxt *Link) bool {
|
|||||||
return ctxt.HeadType == objabi.Haix
|
return ctxt.HeadType == objabi.Haix
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://sourceware.org/gdb/onlinedocs/gdb/dotdebug_005fgdb_005fscripts-section.html
|
||||||
|
// Each entry inside .debug_gdb_scripts section begins with a non-null prefix
|
||||||
|
// byte that specifies the kind of entry. The following entries are supported:
|
||||||
|
const (
|
||||||
|
GdbScriptPythonFileId = 1
|
||||||
|
GdbScriptSchemeFileId = 3
|
||||||
|
GdbScriptPythonTextId = 4
|
||||||
|
GdbScriptSchemeTextId = 6
|
||||||
|
)
|
||||||
|
|
||||||
var gdbscript string
|
var gdbscript string
|
||||||
|
|
||||||
// dwarfSecInfo holds information about a DWARF output section,
|
// dwarfSecInfo holds information about a DWARF output section,
|
||||||
@ -1618,7 +1628,7 @@ func (d *dwctxt) writegdbscript() dwarfSecInfo {
|
|||||||
gs := d.ldr.CreateSymForUpdate(".debug_gdb_scripts", 0)
|
gs := d.ldr.CreateSymForUpdate(".debug_gdb_scripts", 0)
|
||||||
gs.SetType(sym.SDWARFSECT)
|
gs.SetType(sym.SDWARFSECT)
|
||||||
|
|
||||||
gs.AddUint8(1) // magic 1 byte?
|
gs.AddUint8(GdbScriptPythonFileId)
|
||||||
gs.Addstring(gdbscript)
|
gs.Addstring(gdbscript)
|
||||||
return dwarfSecInfo{syms: []loader.Sym{gs.Sym()}}
|
return dwarfSecInfo{syms: []loader.Sym{gs.Sym()}}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user