Convert some VG_ names (global visibility) into ML_s (module scope).
and also handle Z-encoded 'ZL' == ( and 'ZR' == )
for intercept/wrapper fn names
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6274
If the demangling failes, returns NULL. */
char *
-VG_(cplus_demangle_v3) (mangled)
+ML_(cplus_demangle_v3) (mangled)
const char* mangled;
{
dyn_string_t demangled;
of JArray<TYPE> with TYPE[]. */
char *
-VG_(java_demangle_v3) (mangled)
+ML_(java_demangle_v3) (mangled)
const char* mangled;
{
dyn_string_t demangled;
MANGLED. */
char *
-VG_(cplus_demangle) (mangled, options)
+ML_(cplus_demangle) (mangled, options)
const char *mangled;
int options;
{
/* The V3 ABI demangling is implemented elsewhere. */
if (GNU_V3_DEMANGLING || AUTO_DEMANGLING)
{
- ret = VG_(cplus_demangle_v3) (mangled/*, work->options*/);
+ ret = ML_(cplus_demangle_v3) (mangled/*, work->options*/);
if (ret || GNU_V3_DEMANGLING)
return ret;
}
if (JAVA_DEMANGLING)
{
- ret = VG_(java_demangle_v3) (mangled);
+ ret = ML_(java_demangle_v3) (mangled);
if (ret)
return ret;
}
mangled here does not make use of any of the squangling
or type-code information we have built up thus far; it is
mangled independently. */
- q = VG_(cplus_demangle) (p, work->options);
+ q = ML_(cplus_demangle) (p, work->options);
if (tk == tk_pointer)
string_appendn (s, "&", 1);
/* FIXME: Pointer-to-member constants should get a
memcpy (recurse, *mangled, namelength);
recurse[namelength] = '\000';
- recurse_dem = VG_(cplus_demangle) (recurse, work->options);
+ recurse_dem = ML_(cplus_demangle) (recurse, work->options);
if (recurse_dem)
{
memcpy (recurse, *mangled, literal_len);
recurse[literal_len] = '\000';
- recurse_dem = VG_(cplus_demangle) (recurse, work->options);
+ recurse_dem = ML_(cplus_demangle) (recurse, work->options);
if (recurse_dem)
{
/* Possibly undo (1) */
if (do_cxx_demangle)
- demangled = VG_(cplus_demangle) ( orig, DMGL_ANSI | DMGL_PARAMS );
+ demangled = ML_(cplus_demangle) ( orig, DMGL_ANSI | DMGL_PARAMS );
else
demangled = NULL;
// for "the frame below main()" screwing up the testsuite, change all
// known incarnations of said into a single name, "(below main)".
if (0==VG_(strcmp)("__libc_start_main", result)
- || 0==VG_(strcmp)("generic_start_main", result))
+ || 0==VG_(strcmp)("generic_start_main", result)
+ || 0==VG_(strcmp)("__start", result)) /* on AIX */
VG_(strncpy_safely)(result, "(below main)", 13);
# undef N_ZBUF
case 's': EMITSO(' '); break;
case 'Z': EMITSO('Z'); break;
case 'A': EMITSO('@'); break;
+ case 'L': EMITSO('('); break;
+ case 'R': EMITSO(')'); break;
default: error = True; goto out;
}
i++;
case 's': EMITFN(' '); break;
case 'Z': EMITFN('Z'); break;
case 'A': EMITFN('@'); break;
+ case 'L': EMITSO('('); break;
+ case 'R': EMITSO(')'); break;
default: error = True; goto out;
}
i++;
#include "ansidecl.h"
-#define current_demangling_style VG_(current_demangling_style)
+#define current_demangling_style ML_(current_demangling_style)
/* Options passed to cplus_demangle (in 2nd parameter). */
} libiberty_demanglers[];
extern char *
-VG_(cplus_demangle) PARAMS ((const char *mangled, int options));
+ML_(cplus_demangle) PARAMS ((const char *mangled, int options));
/*
extern int
/* V3 ABI demangling entry points, defined in cp-demangle.c. */
extern char*
-VG_(cplus_demangle_v3) PARAMS ((const char* mangled));
+ML_(cplus_demangle_v3) PARAMS ((const char* mangled));
extern char*
-VG_(java_demangle_v3) PARAMS ((const char* mangled));
+ML_(java_demangle_v3) PARAMS ((const char* mangled));
enum gnu_v3_ctor_kinds {