aboutsummaryrefslogtreecommitdiff
path: root/src/common/dwarf_cfi_to_module.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/dwarf_cfi_to_module.h')
-rw-r--r--src/common/dwarf_cfi_to_module.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/common/dwarf_cfi_to_module.h b/src/common/dwarf_cfi_to_module.h
index 002fc90f..4f4ce0a2 100644
--- a/src/common/dwarf_cfi_to_module.h
+++ b/src/common/dwarf_cfi_to_module.h
@@ -91,6 +91,26 @@ class DwarfCFIToModule: public CallFrameInfo::Handler {
string file_, section_;
};
+ // Register name tables. If TABLE is a vector returned by one of these
+ // functions, then TABLE[R] is the name of the register numbered R in
+ // DWARF call frame information.
+ class RegisterNames {
+ public:
+ // Intel's "x86" or IA-32.
+ static vector<string> I386();
+
+ // AMD x86_64, AMD64, Intel EM64T, or Intel 64
+ static vector<string> X86_64();
+
+ // ARM.
+ static vector<string> ARM();
+
+ private:
+ // Given STRINGS, an array of C strings with SIZE elements, return an
+ // equivalent vector<string>.
+ static vector<string> MakeVector(const char * const *strings, size_t size);
+ };
+
// Create a handler for the dwarf2reader::CallFrameInfo parser that
// records the stack unwinding information it receives in MODULE.
//