X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc%2B%2B.so_src%2Fgxx_personality.cc;h=fbd1623417db6e03d193a7174659bc8add90a415;hb=5f8480455a9e2172b15dfc7fb96480a68506c30d;hp=f065e8994211205f3a819e59525471a465561955;hpb=0f68a84d600ae8c88e444552c07f04b0dbd67003;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc++.so_src/gxx_personality.cc b/Usermode/Libraries/libc++.so_src/gxx_personality.cc index f065e899..fbd16234 100644 --- a/Usermode/Libraries/libc++.so_src/gxx_personality.cc +++ b/Usermode/Libraries/libc++.so_src/gxx_personality.cc @@ -336,6 +336,8 @@ static size_t _get_encoded_size(int encoding) { case DW_EH_PE_absptr: // absolute return sizeof(void*); + case DW_EH_PE_udata4: + return 4; default: _SysDebug("_get_encoded_size: Unknown encoding 0x%02x", encoding); return 0; @@ -416,6 +418,7 @@ static uint64_t _get_base(uint8_t encoding, _Unwind_Context *context) default: ::_SysDebug("_get_base: Unknown encoding relativity 0x%x", (encoding & DW_EH_PE_relmask)); ::abort(); + for(;;); } } static uint64_t _read_encoded(const void *&ptr, _Unwind_Context *context, int encoding)