311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
|
{
if (value == 0)
return 0;
value += ((enc & 0x70) == DW_EH_PE_pcrel ? (uintptr_t)start : base);
if (enc & DW_EH_PE_indirect)
value = *(uint64_t*)(uintptr_t)value;
return value;
}
#endif
static void
read_lsda(struct _Unwind_Context *ctx, const uint8_t *ptr, struct lsda *lsda)
|
|
|
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
|
{
if (value == 0)
return 0;
value += ((enc & 0x70) == DW_EH_PE_pcrel ? (uintptr_t)start : base);
if (enc & DW_EH_PE_indirect)
value = *(uintptr_t*)(uintptr_t)value;
return value;
}
#endif
static void
read_lsda(struct _Unwind_Context *ctx, const uint8_t *ptr, struct lsda *lsda)
|