diff options
author | Christopher Ferris <cferris@google.com> | 2017-03-21 12:41:17 -0700 |
---|---|---|
committer | Christopher Ferris <cferris@google.com> | 2017-03-24 14:07:21 -0700 |
commit | 24ee5671e6aaa51bc0ab5e4335ccc004a6e2d40d (patch) | |
tree | 84e75087cdd1390431a0f94eb70dd576d67a36d1 /libunwindstack/DwarfEncoding.h | |
parent | 6a06880129d3fb80bdcc18dd9c04b3ec8c069967 (diff) | |
download | unwinding-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.h | 47 |
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 |