Lines Matching refs:ptr
197 const u8 *ptr = header_start + 4; in init_unwind_table() local
210 || (void *)read_pointer(&ptr, end, header_start[1]) != table_start in init_unwind_table()
212 || read_pointer(&ptr, end, header_start[2]) <= 0 in init_unwind_table()
266 const u8 *ptr; in init_unwind_hdr() local
304 ptr = (const u8 *)(fde + 2); in init_unwind_hdr()
305 if (!read_pointer(&ptr, (const u8 *)(fde + 1) + *fde, in init_unwind_hdr()
346 ptr = (const u8 *)(fde + 2); in init_unwind_hdr()
347 header->table[n].start = read_pointer(&ptr, in init_unwind_hdr()
542 } ptr; in read_pointer() local
546 ptr.p8 = *pLoc; in read_pointer()
549 if (end < (const void *)(ptr.p16u + 1)) in read_pointer()
552 value = get_unaligned((u16 *) ptr.p16s++); in read_pointer()
554 value = get_unaligned((u16 *) ptr.p16u++); in read_pointer()
558 if (end < (const void *)(ptr.p32u + 1)) in read_pointer()
561 value = get_unaligned(ptr.p32s++); in read_pointer()
563 value = get_unaligned(ptr.p32u++); in read_pointer()
571 if (end < (const void *)(ptr.pul + 1)) in read_pointer()
573 value = get_unaligned((unsigned long *)ptr.pul++); in read_pointer()
577 value = ptrType & DW_EH_PE_signed ? get_sleb128(&ptr.p8, end) in read_pointer()
578 : get_uleb128(&ptr.p8, end); in read_pointer()
579 if ((const void *)ptr.p8 > end) in read_pointer()
597 *pLoc = ptr.p8; in read_pointer()
604 const u8 *ptr = (const u8 *)(cie + 2); in fde_pointer_type() local
605 unsigned version = *ptr; in fde_pointer_type()
607 if (*++ptr) { in fde_pointer_type()
613 if (*ptr != 'z') in fde_pointer_type()
617 aug = (const void *)ptr; in fde_pointer_type()
618 ptr = memchr(aug, 0, end - ptr); in fde_pointer_type()
619 if (ptr == NULL) in fde_pointer_type()
622 ++ptr; /* skip terminator */ in fde_pointer_type()
623 get_uleb128(&ptr, end); /* skip code alignment */ in fde_pointer_type()
624 get_sleb128(&ptr, end); /* skip data alignment */ in fde_pointer_type()
626 version <= 1 ? (void) ++ptr : (void)get_uleb128(&ptr, end); in fde_pointer_type()
627 len = get_uleb128(&ptr, end); /* augmentation length */ in fde_pointer_type()
629 if (ptr + len < ptr || ptr + len > end) in fde_pointer_type()
632 end = ptr + len; in fde_pointer_type()
634 if (ptr >= end) in fde_pointer_type()
638 ++ptr; in fde_pointer_type()
641 signed ptrType = *ptr++; in fde_pointer_type()
643 if (!read_pointer(&ptr, end, ptrType) in fde_pointer_type()
644 || ptr > end) in fde_pointer_type()
649 return *ptr; in fde_pointer_type()
705 } ptr; in processCFI() local
717 for (ptr.p8 = start; result && ptr.p8 < end;) { in processCFI()
718 switch (*ptr.p8 >> 6) { in processCFI()
722 opcode = *ptr.p8++; in processCFI()
729 state->loc = read_pointer(&ptr.p8, end, in processCFI()
737 result = ptr.p8 < end in processCFI()
738 && advance_loc(*ptr.p8++, state); in processCFI()
741 value = *ptr.p8++; in processCFI()
742 value += *ptr.p8++ << 8; in processCFI()
744 result = ptr.p8 <= end + 2 in processCFI()
750 result = ptr.p8 <= end + 4 in processCFI()
751 && advance_loc(*ptr.p32++, state); in processCFI()
754 value = get_uleb128(&ptr.p8, end); in processCFI()
757 get_uleb128(&ptr.p8, end), state); in processCFI()
760 value = get_uleb128(&ptr.p8, end); in processCFI()
762 get_uleb128(&ptr.p8, end), state); in processCFI()
765 value = get_uleb128(&ptr.p8, end); in processCFI()
767 get_sleb128(&ptr.p8, end), state); in processCFI()
770 value = get_uleb128(&ptr.p8, end); in processCFI()
772 get_sleb128(&ptr.p8, end), state); in processCFI()
780 set_rule(get_uleb128(&ptr.p8, end), Nowhere, 0, in processCFI()
785 value = get_uleb128(&ptr.p8, end); in processCFI()
788 get_uleb128(&ptr.p8, end), state); in processCFI()
792 if (ptr.p8 == state->label) { in processCFI()
798 state->stack[state->stackDepth++] = ptr.p8; in processCFI()
822 state->cfa.reg = get_uleb128(&ptr.p8, end); in processCFI()
826 state->cfa.offs = get_uleb128(&ptr.p8, end); in processCFI()
831 state->cfa.reg = get_uleb128(&ptr.p8, end); in processCFI()
834 state->cfa.offs = get_sleb128(&ptr.p8, end) in processCFI()
839 state->cfa.reg = get_uleb128(&ptr.p8, end); in processCFI()
845 get_uleb128(&ptr.p8, end); in processCFI()
848 value = get_uleb128(&ptr.p8, end); in processCFI()
851 (uleb128_t) 0 - get_uleb128(&ptr.p8, in processCFI()
864 result = advance_loc(*ptr.p8++ & 0x3f, state); in processCFI()
868 value = *ptr.p8++ & 0x3f; in processCFI()
869 set_rule(value, Memory, get_uleb128(&ptr.p8, end), in processCFI()
874 set_rule(*ptr.p8++ & 0x3f, Nowhere, 0, state); in processCFI()
878 if (ptr.p8 > end) in processCFI()
884 return result && ptr.p8 == end && (targetLoc == 0 || ( in processCFI()
897 const u8 *ptr = NULL, *end = NULL; in arc_unwind() local
951 ptr = hdr + 4; in arc_unwind()
953 if (tableSize && read_pointer(&ptr, end, hdr[1]) in arc_unwind()
955 && (i = read_pointer(&ptr, end, hdr[2])) > 0 in arc_unwind()
956 && i == (end - ptr) / (2 * tableSize) in arc_unwind()
957 && !((end - ptr) % (2 * tableSize))) { in arc_unwind()
960 ptr + (i / 2) * (2 * tableSize); in arc_unwind()
968 ptr = cur - tableSize; in arc_unwind()
973 && (startLoc = read_pointer(&ptr, in arc_unwind()
974 ptr + tableSize, in arc_unwind()
977 fde = (void *)read_pointer(&ptr, in arc_unwind()
978 ptr + in arc_unwind()
986 ptr = (const u8 *)(fde + 2); in arc_unwind()
991 && read_pointer(&ptr, in arc_unwind()
998 startLoc + read_pointer(&ptr, in arc_unwind()
1014 state.cieEnd = ptr; /* keep here temporarily */ in arc_unwind()
1015 ptr = (const u8 *)(cie + 2); in arc_unwind()
1018 if (*++ptr) { in arc_unwind()
1020 if (*ptr == 'z') { in arc_unwind()
1021 while (++ptr < end && *ptr) { in arc_unwind()
1022 switch (*ptr) { in arc_unwind()
1038 if (ptr >= end || *ptr) in arc_unwind()
1041 ++ptr; in arc_unwind()
1045 state.codeAlign = get_uleb128(&ptr, end); in arc_unwind()
1047 state.dataAlign = get_sleb128(&ptr, end); in arc_unwind()
1048 if (state.codeAlign == 0 || state.dataAlign == 0 || ptr >= end) in arc_unwind()
1052 state.version <= 1 ? *ptr++ : get_uleb128(&ptr, in arc_unwind()
1061 uleb128_t augSize = get_uleb128(&ptr, end); in arc_unwind()
1063 ptr += augSize; in arc_unwind()
1065 if (ptr > end || retAddrReg >= ARRAY_SIZE(reg_info) in arc_unwind()
1073 state.cieStart = ptr; in arc_unwind()
1074 ptr = state.cieEnd; in arc_unwind()
1079 uleb128_t augSize = get_uleb128(&ptr, end); in arc_unwind()
1081 if ((ptr += augSize) > end) in arc_unwind()
1139 if (!processCFI(ptr, end, pc, ptrType, &state) in arc_unwind()