Rizin
unix-like reverse engineering framework and cli tools
|
#include "libiberty.h"
Go to the source code of this file.
Classes | |
struct | demangler_engine |
struct | demangle_component |
Typedefs | |
typedef void(* | demangle_callbackref) (const char *, size_t, void *) |
Variables | |
enum demangling_styles | current_demangling_style |
const struct demangler_engine | libiberty_demanglers [] |
#define ARM_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_ARM) |
Definition at line 110 of file demangle.h.
#define ARM_DEMANGLING_STYLE_STRING "arm" |
Definition at line 95 of file demangle.h.
#define AUTO_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_AUTO) |
Definition at line 107 of file demangle.h.
#define AUTO_DEMANGLING_STYLE_STRING "auto" |
Definition at line 92 of file demangle.h.
#define CURRENT_DEMANGLING_STYLE current_demangling_style |
Definition at line 106 of file demangle.h.
#define DLANG_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_DLANG) |
Definition at line 116 of file demangle.h.
#define DLANG_DEMANGLING_STYLE_STRING "dlang" |
Definition at line 101 of file demangle.h.
Definition at line 44 of file demangle.h.
#define DMGL_ARM (1 << 11) |
Definition at line 54 of file demangle.h.
#define DMGL_AUTO (1 << 8) |
Definition at line 51 of file demangle.h.
#define DMGL_DLANG (1 << 16) |
Definition at line 59 of file demangle.h.
#define DMGL_EDG (1 << 13) |
Definition at line 56 of file demangle.h.
#define DMGL_GNAT (1 << 15) |
Definition at line 58 of file demangle.h.
#define DMGL_GNU (1 << 9) |
Definition at line 52 of file demangle.h.
#define DMGL_GNU_V3 (1 << 14) |
Definition at line 57 of file demangle.h.
#define DMGL_HP |
Definition at line 55 of file demangle.h.
#define DMGL_JAVA (1 << 2) /* Demangle as Java rather than C++. */ |
Definition at line 45 of file demangle.h.
#define DMGL_LUCID (1 << 10) |
Definition at line 53 of file demangle.h.
#define DMGL_NO_OPTS 0 /* For readability... */ |
Definition at line 42 of file demangle.h.
#define DMGL_PARAMS (1 << 0) /* Include function args */ |
Definition at line 43 of file demangle.h.
#define DMGL_RET_DROP |
Definition at line 49 of file demangle.h.
#define DMGL_RET_POSTFIX |
Definition at line 48 of file demangle.h.
#define DMGL_RUST (1 << 17) /* Rust wraps GNU_V3 style mangling. */ |
Definition at line 60 of file demangle.h.
#define DMGL_STYLE_MASK (DMGL_AUTO | DMGL_GNU | DMGL_LUCID | DMGL_ARM | DMGL_HP | DMGL_EDG | DMGL_GNU_V3 | DMGL_JAVA | DMGL_GNAT | DMGL_DLANG | DMGL_RUST) |
Definition at line 63 of file demangle.h.
Definition at line 47 of file demangle.h.
#define DMGL_VERBOSE (1 << 3) /* Include implementation details. */ |
Definition at line 46 of file demangle.h.
#define EDG_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_EDG) |
Definition at line 112 of file demangle.h.
#define EDG_DEMANGLING_STYLE_STRING "edg" |
Definition at line 97 of file demangle.h.
#define GNAT_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_GNAT) |
Definition at line 115 of file demangle.h.
#define GNAT_DEMANGLING_STYLE_STRING "gnat" |
Definition at line 100 of file demangle.h.
#define GNU_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_GNU) |
Definition at line 108 of file demangle.h.
#define GNU_DEMANGLING_STYLE_STRING "gnu" |
Definition at line 93 of file demangle.h.
#define GNU_V3_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_GNU_V3) |
Definition at line 113 of file demangle.h.
#define GNU_V3_DEMANGLING_STYLE_STRING "gnu-v3" |
Definition at line 98 of file demangle.h.
#define HP_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_HP) |
Definition at line 111 of file demangle.h.
#define HP_DEMANGLING_STYLE_STRING "hp" |
Definition at line 96 of file demangle.h.
#define JAVA_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_JAVA) |
Definition at line 114 of file demangle.h.
#define JAVA_DEMANGLING_STYLE_STRING "java" |
Definition at line 99 of file demangle.h.
#define LUCID_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_LUCID) |
Definition at line 109 of file demangle.h.
#define LUCID_DEMANGLING_STYLE_STRING "lucid" |
Definition at line 94 of file demangle.h.
#define NO_DEMANGLING_STYLE_STRING "none" |
Definition at line 91 of file demangle.h.
#define RUST_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_RUST) |
Definition at line 117 of file demangle.h.
#define RUST_DEMANGLING_STYLE_STRING "rust" |
Definition at line 102 of file demangle.h.
Definition at line 149 of file demangle.h.
Definition at line 245 of file demangle.h.
enum demangling_styles |
Definition at line 73 of file demangle.h.
enum gnu_v3_ctor_kinds |
Enumerator | |
---|---|
gnu_v3_complete_object_ctor | |
gnu_v3_base_object_ctor | |
gnu_v3_complete_object_allocating_ctor | |
gnu_v3_unified_ctor | |
gnu_v3_object_ctor_group |
Definition at line 195 of file demangle.h.
enum gnu_v3_dtor_kinds |
Enumerator | |
---|---|
gnu_v3_deleting_dtor | |
gnu_v3_complete_object_dtor | |
gnu_v3_base_object_dtor | |
gnu_v3_unified_dtor | |
gnu_v3_object_dtor_group |
Definition at line 213 of file demangle.h.
References demangler_engine::demangling_style_name.
int cplus_demangle_fill_builtin_type | ( | struct demangle_component * | fill, |
const char * | type_name | ||
) |
int cplus_demangle_fill_component | ( | struct demangle_component * | fill, |
enum | demangle_component_type, | ||
struct demangle_component * | left, | ||
struct demangle_component * | right | ||
) |
int cplus_demangle_fill_ctor | ( | struct demangle_component * | fill, |
enum gnu_v3_ctor_kinds | kind, | ||
struct demangle_component * | name | ||
) |
Definition at line 871 of file cp-demangle.c.
References DEMANGLE_COMPONENT_CTOR, gnu_v3_complete_object_ctor, gnu_v3_object_ctor_group, demangle_component::kind, name, NULL, and p.
Referenced by d_make_ctor().
int cplus_demangle_fill_dtor | ( | struct demangle_component * | fill, |
enum gnu_v3_dtor_kinds | kind, | ||
struct demangle_component * | name | ||
) |
Definition at line 886 of file cp-demangle.c.
References DEMANGLE_COMPONENT_DTOR, gnu_v3_deleting_dtor, gnu_v3_object_dtor_group, demangle_component::kind, name, NULL, and p.
Referenced by d_make_dtor().
int cplus_demangle_fill_extended_operator | ( | struct demangle_component * | fill, |
int | numargs, | ||
struct demangle_component * | nm | ||
) |
Definition at line 857 of file cp-demangle.c.
References args, DEMANGLE_COMPONENT_EXTENDED_OPERATOR, name, NULL, and p.
Referenced by d_make_extended_operator().
int cplus_demangle_fill_name | ( | struct demangle_component * | fill, |
const char * | s, | ||
int | len | ||
) |
Definition at line 844 of file cp-demangle.c.
References DEMANGLE_COMPONENT_NAME, len, NULL, p, and s.
Referenced by d_make_name().
int cplus_demangle_fill_operator | ( | struct demangle_component * | fill, |
const char * | opname, | ||
int | args | ||
) |
enum demangling_styles cplus_demangle_name_to_style | ( | const char * | name | ) |
char* cplus_demangle_print | ( | int | options, |
struct demangle_component * | tree, | ||
int | estimated_length, | ||
size_t * | p_allocated_size | ||
) |
Definition at line 4010 of file cp-demangle.c.
References d_growable_string::alc, d_growable_string::allocation_failure, d_growable_string::buf, cplus_demangle_print_callback(), d_growable_string_callback_adapter(), d_growable_string_init(), free(), NULL, and options.
int cplus_demangle_print_callback | ( | int | options, |
struct demangle_component * | tree, | ||
demangle_callbackref | callback, | ||
void * | opaque | ||
) |
Definition at line 3967 of file cp-demangle.c.
References __extension__, alloca(), d_print_info::callback, CP_STATIC_IF_GLIBCPP_V3, d_print_comp(), d_print_flush(), d_print_init(), d_print_saw_error(), and d_print_info::opaque.
Referenced by cplus_demangle_print(), and d_demangle_callback().
enum demangling_styles cplus_demangle_set_style | ( | enum demangling_styles | style | ) |
Definition at line 5942 of file cp-demangle.c.
References d_growable_string::alc, d_demangle(), and options.
int cplus_demangle_v3_callback | ( | const char * | mangled, |
int | options, | ||
demangle_callbackref | callback, | ||
void * | opaque | ||
) |
Definition at line 5948 of file cp-demangle.c.
References d_demangle_callback(), and options.
struct demangle_component* cplus_demangle_v3_components | ( | const char * | mangled, |
int | options, | ||
void ** | mem | ||
) |
enum gnu_v3_ctor_kinds is_gnu_v3_mangled_ctor | ( | const char * | name | ) |
Definition at line 5982 of file cp-demangle.c.
enum gnu_v3_dtor_kinds is_gnu_v3_mangled_dtor | ( | const char * | name | ) |
Definition at line 5982 of file cp-demangle.c.
char* java_demangle_v3 | ( | const char * | mangled | ) |
Definition at line 5960 of file cp-demangle.c.
References d_growable_string::alc, d_demangle(), DMGL_JAVA, DMGL_PARAMS, and DMGL_RET_POSTFIX.
int java_demangle_v3_callback | ( | const char * | mangled, |
demangle_callbackref | callback, | ||
void * | opaque | ||
) |
Definition at line 5966 of file cp-demangle.c.
References d_demangle_callback(), DMGL_JAVA, DMGL_PARAMS, and DMGL_RET_POSTFIX.
void rust_demangle_sym | ( | char * | sym | ) |
void set_cplus_marker_for_demangling | ( | int | ch | ) |
enum demangling_styles current_demangling_style |
const struct demangler_engine libiberty_demanglers[] |