summaryrefslogtreecommitdiff
path: root/libunwindstack/DwarfEncoding.h
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2017-03-21 12:41:17 -0700
committerChristopher Ferris <cferris@google.com>2017-03-24 14:07:21 -0700
commit24ee5671e6aaa51bc0ab5e4335ccc004a6e2d40d (patch)
tree84e75087cdd1390431a0f94eb70dd576d67a36d1 /libunwindstack/DwarfEncoding.h
parent6a06880129d3fb80bdcc18dd9c04b3ec8c069967 (diff)
downloadunwinding-24ee5671e6aaa51bc0ab5e4335ccc004a6e2d40d.tar.gz
Add DwarfMemory class.
Bug: 23762183 Test: Passes new unit tests. Change-Id: I80293af0b5a8a042195c37a06d64082d2f7c781a
Diffstat (limited to 'libunwindstack/DwarfEncoding.h')
-rw-r--r--libunwindstack/DwarfEncoding.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/libunwindstack/DwarfEncoding.h b/libunwindstack/DwarfEncoding.h
new file mode 100644
index 0000000..0ff3b8c
--- /dev/null
+++ b/libunwindstack/DwarfEncoding.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _LIBUNWINDSTACK_DWARF_ENCODING_H
+#define _LIBUNWINDSTACK_DWARF_ENCODING_H
+
+#include <stdint.h>
+
+enum DwarfEncoding : uint8_t {
+ DW_EH_PE_omit = 0xff,
+
+ DW_EH_PE_absptr = 0x00,
+ DW_EH_PE_uleb128 = 0x01,
+ DW_EH_PE_udata2 = 0x02,
+ DW_EH_PE_udata4 = 0x03,
+ DW_EH_PE_udata8 = 0x04,
+ DW_EH_PE_sleb128 = 0x09,
+ DW_EH_PE_sdata2 = 0x0a,
+ DW_EH_PE_sdata4 = 0x0b,
+ DW_EH_PE_sdata8 = 0x0c,
+
+ DW_EH_PE_pcrel = 0x10,
+ DW_EH_PE_textrel = 0x20,
+ DW_EH_PE_datarel = 0x30,
+ DW_EH_PE_funcrel = 0x40,
+ DW_EH_PE_aligned = 0x50,
+
+ // The following are special values used to encode CFA and OP operands.
+ DW_EH_PE_udata1 = 0x0d,
+ DW_EH_PE_sdata1 = 0x0e,
+ DW_EH_PE_block = 0x0f,
+};
+
+#endif // _LIBUNWINDSTACK_DWARF_ENCODING_H