ports/devel/llvm/16/patches/patch-libunwind_src_EHHeaderParser_hpp

23 lines
751 B
Text

Index: libunwind/src/EHHeaderParser.hpp
--- libunwind/src/EHHeaderParser.hpp.orig
+++ libunwind/src/EHHeaderParser.hpp
@@ -145,6 +145,10 @@ bool EHHeaderParser<A>::findFDE(A &addressSpace, pint_
template <typename A>
size_t EHHeaderParser<A>::getTableEntrySize(uint8_t tableEnc) {
+ if (tableEnc == DW_EH_PE_omit) {
+ return 0;
+ }
+
switch (tableEnc & 0x0f) {
case DW_EH_PE_sdata2:
case DW_EH_PE_udata2:
@@ -158,8 +162,6 @@ size_t EHHeaderParser<A>::getTableEntrySize(uint8_t ta
case DW_EH_PE_sleb128:
case DW_EH_PE_uleb128:
_LIBUNWIND_ABORT("Can't binary search on variable length encoded data.");
- case DW_EH_PE_omit:
- return 0;
default:
_LIBUNWIND_ABORT("Unknown DWARF encoding for search table.");
}