Lines Matching refs:text

81     uint8_t *text, fasttrap_probe_spec_t *ftp, const GElf_Sym *symp)
94 size = dt_instr_size(&text[i], dtp, pid, symp->st_value + i,
110 if ((text[i] == 0xff && DT_MODRM_REG(text[i + 1]) == 4) ||
111 (dmodel == PR_MODEL_LP64 && (text[i] & 0xf0) == 0x40 &&
112 text[i + 1] == 0xff && DT_MODRM_REG(text[i + 2]) == 4)) {
127 uint8_t *text;
137 if ((text = calloc(1, symp->st_size + 4)) == NULL) {
142 if (Pread(P, text, symp->st_size, symp->st_value) != symp->st_size) {
144 free(text);
166 if (dt_pid_has_jump_table(P, dtp, text, ftp, symp)) {
168 size = dt_instr_size(&text[i], dtp, pid,
175 if (text[i] == DT_LEAVE && text[i + 1] == DT_RET) {
179 } else if (text[i] == DT_LEAVE &&
180 text[i + 1] == DT_REP && text[i + 2] == DT_RET) {
184 } else if (*(uint16_t *)&text[i] == DT_MOVL_EBP_ESP &&
185 text[i + 2] == DT_POPL_EBP &&
186 text[i + 3] == DT_RET) {
190 } else if (*(uint16_t *)&text[i] == DT_MOVL_EBP_ESP &&
191 text[i + 2] == DT_POPL_EBP &&
192 text[i + 3] == DT_REP &&
193 text[i + 4] == DT_RET) {
201 size = dt_instr_size(&text[i], dtp, pid,
209 if (size == 1 && text[i] == DT_RET)
213 if (size == 2 && text[i] == DT_REP &&
214 text[i + 1] == DT_RET)
218 if (size == 3 && text[i] == DT_RET16)
222 if (size == 4 && text[i] == DT_REP &&
223 text[i + 1] == DT_RET16)
227 if (size == 5 && text[i] == DT_JMP32 && symp->st_size <=
228 (uintptr_t)(i + size + *(int32_t *)&text[i + 1]))
232 if (size == 2 && text[i] == DT_JMP8 && symp->st_size <=
233 (uintptr_t)(i + size + *(int8_t *)&text[i + 1]))
237 if (size == 6 && DT_ISJ32(*(uint16_t *)&text[i]) &&
239 (uintptr_t)(i + size + *(int32_t *)&text[i + 2]))
243 if (size == 2 && DT_ISJ8(text[i]) && symp->st_size <=
244 (uintptr_t)(i + size + *(int8_t *)&text[i + 1]))
254 free(text);
279 uint8_t *text;
285 if ((text = malloc(symp->st_size)) == NULL) {
290 if (Pread(P, text, symp->st_size, symp->st_value) !=
293 free(text);
302 if (dt_pid_has_jump_table(P, dtp, text, ftp, symp)) {
303 free(text);
319 free(text);
323 size = dt_instr_size(&text[i], dtp, pid,
331 free(text);
336 free(text);
353 uint8_t *text;
364 if ((text = malloc(symp->st_size)) == NULL) {
369 if (Pread(P, text, symp->st_size, symp->st_value) != symp->st_size) {
371 free(text);
379 if (dt_pid_has_jump_table(P, dtp, text, ftp, symp)) {
380 free(text);
388 size = dt_instr_size(&text[i], dtp, pid,
403 size = dt_instr_size(&text[i], dtp, pid,
412 free(text);