Add gcc2 demangling.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31233 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -12,14 +12,20 @@
|
|||||||
Demangler::Demangle(const BString& mangledName)
|
Demangler::Demangle(const BString& mangledName)
|
||||||
{
|
{
|
||||||
char buffer[1024];
|
char buffer[1024];
|
||||||
|
const char* demangled;
|
||||||
|
|
||||||
if (mangledName.Compare("_Z", 2) == 0) {
|
if (mangledName.Compare("_Z", 2) == 0) {
|
||||||
const char* demangled = demangle_name_gcc3(mangledName.String(), buffer,
|
demangled = demangle_name_gcc3(mangledName.String(), buffer,
|
||||||
sizeof(buffer));
|
sizeof(buffer));
|
||||||
if (demangled != NULL)
|
if (demangled != NULL)
|
||||||
return demangled;
|
return demangled;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: gcc2 demangling!
|
// fallback is gcc2
|
||||||
|
demangled = demangle_symbol_gcc2(mangledName.String(), buffer,
|
||||||
|
sizeof(buffer), NULL);
|
||||||
|
if (demangled != NULL)
|
||||||
|
return demangled;
|
||||||
|
|
||||||
return mangledName;
|
return mangledName;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,5 +13,6 @@ MergeObject Debugger_demangler.o
|
|||||||
:
|
:
|
||||||
Demangler.cpp
|
Demangler.cpp
|
||||||
|
|
||||||
|
gcc2.cpp
|
||||||
gcc3+.cpp
|
gcc3+.cpp
|
||||||
;
|
;
|
||||||
|
|||||||
Reference in New Issue
Block a user