|
|
|
|
596
|
}
|
596
|
}
|
597
|
|
597
|
|
598
|
// Unsymbolizable returns true if a mapping points to a binary for which
|
598
|
// Unsymbolizable returns true if a mapping points to a binary for which
|
599
|
-// locations can't be symbolized in principle, at least now.
|
|
|
|
|
599
|
+// locations can't be symbolized in principle, at least now. Examples are
|
|
|
600
|
+// "[vdso]", [vsyscall]" and some others, see the code.
|
600
|
func (m *Mapping) Unsymbolizable() bool {
|
601
|
func (m *Mapping) Unsymbolizable() bool {
|
601
|
name := filepath.Base(m.File)
|
602
|
name := filepath.Base(m.File)
|
602
|
- return name == "[vdso]" || strings.HasPrefix(name, "linux-vdso") || name == "[heap]" || strings.HasPrefix(m.File, "/dev/dri/")
|
|
|
|
|
603
|
+ return strings.HasPrefix(name, "[") || strings.HasPrefix(name, "linux-vdso") || strings.HasPrefix(m.File, "/dev/dri/")
|
603
|
}
|
604
|
}
|
604
|
|
605
|
|
605
|
// Copy makes a fully independent copy of a profile.
|
606
|
// Copy makes a fully independent copy of a profile.
|