diff --git a/pkg/locspec/doc.go b/pkg/locspec/doc.go index 5278ab15..1f75ac03 100644 --- a/pkg/locspec/doc.go +++ b/pkg/locspec/doc.go @@ -3,13 +3,13 @@ // // Location spec examples: // -// locStr ::= : | [:] | // | (+|-) | | *
-// * can be the full path of a file or just a suffix -// * ::= .. | .(*). | . | . | (*). | -// * must be unambiguous -// * // will return a location for each function matched by regex -// * + returns a location for the line that is lines after the current line -// * - returns a location for the line that is lines before the current line -// * returns a location for a line in the current file -// * *
returns the location corresponding to the specified address +// locStr ::= : | [:] | // | (+|-) | | *
+// * can be the full path of a file or just a suffix +// * ::= .. | .(*). | . | . | (*). | +// must be unambiguous +// * // will return a location for each function matched by regex +// * + returns a location for the line that is lines after the current line +// * - returns a location for the line that is lines before the current line +// * returns a location for a line in the current file +// * *
returns the location corresponding to the specified address package locspec diff --git a/pkg/proc/bininfo.go b/pkg/proc/bininfo.go index c58ddfeb..594b12a1 100644 --- a/pkg/proc/bininfo.go +++ b/pkg/proc/bininfo.go @@ -123,8 +123,8 @@ var ( elf.EM_386: true, } - supportedWindowsArch = map[PEMachine]bool{ - IMAGE_FILE_MACHINE_AMD64: true, + supportedWindowsArch = map[_PEMachine]bool{ + _IMAGE_FILE_MACHINE_AMD64: true, } supportedDarwinArch = map[macho.Cpu]bool{ @@ -227,19 +227,19 @@ func FirstPCAfterPrologue(p Process, fn *Function, sameline bool) (uint64, error return pc, nil } -// CpuArch is a stringer interface representing CPU architectures. -type CpuArch interface { +// cpuArch is a stringer interface representing CPU architectures. +type cpuArch interface { String() string } // ErrUnsupportedArch is returned when attempting to debug a binary compiled for an unsupported architecture. type ErrUnsupportedArch struct { os string - cpuArch CpuArch + cpuArch cpuArch } func (e *ErrUnsupportedArch) Error() string { - var supportArchs []CpuArch + var supportArchs []cpuArch switch e.os { case "linux": for linuxArch, _ := range supportedLinuxArch { @@ -1185,8 +1185,8 @@ func loadBinaryInfoElf(bi *BinaryInfo, image *Image, path string, addr uint64, w return nil } -// STT_FUNC is a code object, see /usr/include/elf.h for a full definition. -const STT_FUNC = 2 +// _STT_FUNC is a code object, see /usr/include/elf.h for a full definition. +const _STT_FUNC = 2 func (bi *BinaryInfo) loadSymbolName(image *Image, file *elf.File, wg *sync.WaitGroup) { defer wg.Done() @@ -1196,7 +1196,7 @@ func (bi *BinaryInfo) loadSymbolName(image *Image, file *elf.File, wg *sync.Wait symSecs, _ := file.Symbols() if symSecs != nil { for _, symSec := range symSecs { - if symSec.Info == STT_FUNC { // TODO(chainhelen), need to parse others types. + if symSec.Info == _STT_FUNC { // TODO(chainhelen), need to parse others types. s := symSec bi.SymNames[symSec.Value+image.StaticBase] = &s } @@ -1274,7 +1274,7 @@ func loadBinaryInfoPE(bi *BinaryInfo, image *Image, path string, entryPoint uint return err } image.closer = closer - cpuArch := PEMachine(peFile.Machine) + cpuArch := _PEMachine(peFile.Machine) if !supportedWindowsArch[cpuArch] { return &ErrUnsupportedArch{os: "windows", cpuArch: cpuArch} } diff --git a/pkg/proc/disasm.go b/pkg/proc/disasm.go index 8d5d50b9..5566bb82 100644 --- a/pkg/proc/disasm.go +++ b/pkg/proc/disasm.go @@ -56,7 +56,7 @@ type AssemblyFlavour int const ( // GNUFlavour will display GNU assembly syntax. - GNUFlavour = AssemblyFlavour(iota) + GNUFlavour AssemblyFlavour = iota // IntelFlavour will display Intel assembly syntax. IntelFlavour // GoFlavour will display Go assembly syntax. diff --git a/pkg/proc/pe.go b/pkg/proc/pe.go index 21a9a27a..44d0eaef 100644 --- a/pkg/proc/pe.go +++ b/pkg/proc/pe.go @@ -5,60 +5,60 @@ import ( ) const ( - IMAGE_FILE_MACHINE_UNKNOWN = 0x0 - IMAGE_FILE_MACHINE_AM33 = 0x1d3 - IMAGE_FILE_MACHINE_AMD64 = 0x8664 - IMAGE_FILE_MACHINE_ARM = 0x1c0 - IMAGE_FILE_MACHINE_ARMNT = 0x1c4 - IMAGE_FILE_MACHINE_ARM64 = 0xaa64 - IMAGE_FILE_MACHINE_EBC = 0xebc - IMAGE_FILE_MACHINE_I386 = 0x14c - IMAGE_FILE_MACHINE_IA64 = 0x200 - IMAGE_FILE_MACHINE_M32R = 0x9041 - IMAGE_FILE_MACHINE_MIPS16 = 0x266 - IMAGE_FILE_MACHINE_MIPSFPU = 0x366 - IMAGE_FILE_MACHINE_MIPSFPU16 = 0x466 - IMAGE_FILE_MACHINE_POWERPC = 0x1f0 - IMAGE_FILE_MACHINE_POWERPCFP = 0x1f1 - IMAGE_FILE_MACHINE_R4000 = 0x166 - IMAGE_FILE_MACHINE_SH3 = 0x1a2 - IMAGE_FILE_MACHINE_SH3DSP = 0x1a3 - IMAGE_FILE_MACHINE_SH4 = 0x1a6 - IMAGE_FILE_MACHINE_SH5 = 0x1a8 - IMAGE_FILE_MACHINE_THUMB = 0x1c2 - IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x169 + _IMAGE_FILE_MACHINE_UNKNOWN = 0x0 + _IMAGE_FILE_MACHINE_AM33 = 0x1d3 + _IMAGE_FILE_MACHINE_AMD64 = 0x8664 + _IMAGE_FILE_MACHINE_ARM = 0x1c0 + _IMAGE_FILE_MACHINE_ARMNT = 0x1c4 + _IMAGE_FILE_MACHINE_ARM64 = 0xaa64 + _IMAGE_FILE_MACHINE_EBC = 0xebc + _IMAGE_FILE_MACHINE_I386 = 0x14c + _IMAGE_FILE_MACHINE_IA64 = 0x200 + _IMAGE_FILE_MACHINE_M32R = 0x9041 + _IMAGE_FILE_MACHINE_MIPS16 = 0x266 + _IMAGE_FILE_MACHINE_MIPSFPU = 0x366 + _IMAGE_FILE_MACHINE_MIPSFPU16 = 0x466 + _IMAGE_FILE_MACHINE_POWERPC = 0x1f0 + _IMAGE_FILE_MACHINE_POWERPCFP = 0x1f1 + _IMAGE_FILE_MACHINE_R4000 = 0x166 + _IMAGE_FILE_MACHINE_SH3 = 0x1a2 + _IMAGE_FILE_MACHINE_SH3DSP = 0x1a3 + _IMAGE_FILE_MACHINE_SH4 = 0x1a6 + _IMAGE_FILE_MACHINE_SH5 = 0x1a8 + _IMAGE_FILE_MACHINE_THUMB = 0x1c2 + _IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x169 ) -type PEMachine uint16 +type _PEMachine uint16 // PEMachineString map pe machine to name, See $GOROOT/src/debug/pe/pe.go for detail -var PEMachineString = map[uint16]string{ - IMAGE_FILE_MACHINE_UNKNOWN: "unknown", - IMAGE_FILE_MACHINE_AM33: "am33", - IMAGE_FILE_MACHINE_AMD64: "amd64", - IMAGE_FILE_MACHINE_ARM: "arm", - IMAGE_FILE_MACHINE_ARMNT: "armnt", - IMAGE_FILE_MACHINE_ARM64: "arm64", - IMAGE_FILE_MACHINE_EBC: "ebc", - IMAGE_FILE_MACHINE_I386: "i386", - IMAGE_FILE_MACHINE_IA64: "ia64", - IMAGE_FILE_MACHINE_M32R: "m32r", - IMAGE_FILE_MACHINE_MIPS16: "mips16", - IMAGE_FILE_MACHINE_MIPSFPU: "mipsfpu", - IMAGE_FILE_MACHINE_MIPSFPU16: "mipsfpu16", - IMAGE_FILE_MACHINE_POWERPC: "powerpc", - IMAGE_FILE_MACHINE_POWERPCFP: "powerpcfp", - IMAGE_FILE_MACHINE_R4000: "r4000", - IMAGE_FILE_MACHINE_SH3: "sh3", - IMAGE_FILE_MACHINE_SH3DSP: "sh3dsp", - IMAGE_FILE_MACHINE_SH4: "sh4", - IMAGE_FILE_MACHINE_SH5: "sh5", - IMAGE_FILE_MACHINE_THUMB: "thumb", - IMAGE_FILE_MACHINE_WCEMIPSV2: "wcemipsv2", +var _PEMachineString = map[_PEMachine]string{ + _IMAGE_FILE_MACHINE_UNKNOWN: "unknown", + _IMAGE_FILE_MACHINE_AM33: "am33", + _IMAGE_FILE_MACHINE_AMD64: "amd64", + _IMAGE_FILE_MACHINE_ARM: "arm", + _IMAGE_FILE_MACHINE_ARMNT: "armnt", + _IMAGE_FILE_MACHINE_ARM64: "arm64", + _IMAGE_FILE_MACHINE_EBC: "ebc", + _IMAGE_FILE_MACHINE_I386: "i386", + _IMAGE_FILE_MACHINE_IA64: "ia64", + _IMAGE_FILE_MACHINE_M32R: "m32r", + _IMAGE_FILE_MACHINE_MIPS16: "mips16", + _IMAGE_FILE_MACHINE_MIPSFPU: "mipsfpu", + _IMAGE_FILE_MACHINE_MIPSFPU16: "mipsfpu16", + _IMAGE_FILE_MACHINE_POWERPC: "powerpc", + _IMAGE_FILE_MACHINE_POWERPCFP: "powerpcfp", + _IMAGE_FILE_MACHINE_R4000: "r4000", + _IMAGE_FILE_MACHINE_SH3: "sh3", + _IMAGE_FILE_MACHINE_SH3DSP: "sh3dsp", + _IMAGE_FILE_MACHINE_SH4: "sh4", + _IMAGE_FILE_MACHINE_SH5: "sh5", + _IMAGE_FILE_MACHINE_THUMB: "thumb", + _IMAGE_FILE_MACHINE_WCEMIPSV2: "wcemipsv2", } -func (m PEMachine) String() string { - str, ok := PEMachineString[uint16(m)] +func (m _PEMachine) String() string { + str, ok := _PEMachineString[m] if ok { return str }