summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--third_party/llvm-project/DWARFExpression.cpp2
-rw-r--r--third_party/llvm-project/include/llvm/BinaryFormat/Dwarf.def2
-rw-r--r--third_party/llvm-project/include/llvm/BinaryFormat/Dwarf.h3
3 files changed, 6 insertions, 1 deletions
diff --git a/third_party/llvm-project/DWARFExpression.cpp b/third_party/llvm-project/DWARFExpression.cpp
index 5009b1b7b..7d817d8a9 100644
--- a/third_party/llvm-project/DWARFExpression.cpp
+++ b/third_party/llvm-project/DWARFExpression.cpp
@@ -93,6 +93,8 @@ static DescVector getDescriptions() {
Descriptions[DW_OP_implicit_value] =
Desc(Op::Dwarf3, Op::SizeLEB, Op::SizeBlock);
Descriptions[DW_OP_stack_value] = Desc(Op::Dwarf3);
+ Descriptions[DW_OP_WASM_location] =
+ Desc(Op::Dwarf4, Op::SizeLEB, Op::SignedSizeLEB);
Descriptions[DW_OP_GNU_push_tls_address] = Desc(Op::Dwarf3);
Descriptions[DW_OP_addrx] = Desc(Op::Dwarf4, Op::SizeLEB);
Descriptions[DW_OP_GNU_addr_index] = Desc(Op::Dwarf4, Op::SizeLEB);
diff --git a/third_party/llvm-project/include/llvm/BinaryFormat/Dwarf.def b/third_party/llvm-project/include/llvm/BinaryFormat/Dwarf.def
index 34a7410f7..0be31bb2c 100644
--- a/third_party/llvm-project/include/llvm/BinaryFormat/Dwarf.def
+++ b/third_party/llvm-project/include/llvm/BinaryFormat/Dwarf.def
@@ -647,6 +647,8 @@ HANDLE_DW_OP(0xa9, reinterpret, 5, DWARF)
// Vendor extensions:
// Extensions for GNU-style thread-local storage.
HANDLE_DW_OP(0xe0, GNU_push_tls_address, 0, GNU)
+// Extensions for WebAssembly.
+HANDLE_DW_OP(0xed, WASM_location, 0, WASM)
// The GNU entry value extension.
HANDLE_DW_OP(0xf3, GNU_entry_value, 0, GNU)
// Extensions for Fission proposal.
diff --git a/third_party/llvm-project/include/llvm/BinaryFormat/Dwarf.h b/third_party/llvm-project/include/llvm/BinaryFormat/Dwarf.h
index 93eaf3680..2ad201831 100644
--- a/third_party/llvm-project/include/llvm/BinaryFormat/Dwarf.h
+++ b/third_party/llvm-project/include/llvm/BinaryFormat/Dwarf.h
@@ -63,7 +63,8 @@ enum LLVMConstants : uint32_t {
DWARF_VENDOR_GNU = 3,
DWARF_VENDOR_GOOGLE = 4,
DWARF_VENDOR_LLVM = 5,
- DWARF_VENDOR_MIPS = 6
+ DWARF_VENDOR_MIPS = 6,
+ DWARF_VENDOR_WASM = 7
};
/// Constants that define the DWARF format as 32 or 64 bit.