|
@@ -81,6 +81,26 @@ func (bu *Binutils) update(fn func(r *binrep)) {
|
81
|
81
|
bu.rep = r
|
82
|
82
|
}
|
83
|
83
|
|
|
84
|
+// String returns string representation of the binutils state for debug logging.
|
|
85
|
+func (bu *Binutils) String() string {
|
|
86
|
+ r := bu.get()
|
|
87
|
+ var llvmSymbolizer, addr2line, nm, objdump string
|
|
88
|
+ if r.llvmSymbolizerFound {
|
|
89
|
+ llvmSymbolizer = r.llvmSymbolizer
|
|
90
|
+ }
|
|
91
|
+ if r.addr2lineFound {
|
|
92
|
+ addr2line = r.addr2line
|
|
93
|
+ }
|
|
94
|
+ if r.nmFound {
|
|
95
|
+ nm = r.nm
|
|
96
|
+ }
|
|
97
|
+ if r.objdumpFound {
|
|
98
|
+ objdump = r.objdump
|
|
99
|
+ }
|
|
100
|
+ return fmt.Sprintf("llvm-symbolizer=%q addr2line=%q nm=%q objdump=%q fast=%t",
|
|
101
|
+ llvmSymbolizer, addr2line, nm, objdump, r.fast)
|
|
102
|
+}
|
|
103
|
+
|
84
|
104
|
// SetFastSymbolization sets a toggle that makes binutils use fast
|
85
|
105
|
// symbolization (using nm), which is much faster than addr2line but
|
86
|
106
|
// provides only symbol name information (no file/line).
|