Lines Matching refs:text

77     uint8_t *text, fasttrap_probe_spec_t *ftp, const GElf_Sym *symp)
90 size = dt_instr_size(&text[i], dtp, pid, symp->st_value + i,
106 if ((text[i] == 0xff && DT_MODRM_REG(text[i + 1]) == 4) ||
107 (dmodel == PR_MODEL_LP64 && (text[i] & 0xf0) == 0x40 &&
108 text[i + 1] == 0xff && DT_MODRM_REG(text[i + 2]) == 4)) {
123 uint8_t *text;
133 if ((text = calloc(1, symp->st_size + 4)) == NULL) {
138 if (Pread(P, text, symp->st_size, symp->st_value) != symp->st_size) {
140 free(text);
162 if (dt_pid_has_jump_table(P, dtp, text, ftp, symp)) {
164 size = dt_instr_size(&text[i], dtp, pid,
171 if (text[i] == DT_LEAVE && text[i + 1] == DT_RET) {
175 } else if (text[i] == DT_LEAVE &&
176 text[i + 1] == DT_REP && text[i + 2] == DT_RET) {
180 } else if (*(uint16_t *)&text[i] == DT_MOVL_EBP_ESP &&
181 text[i + 2] == DT_POPL_EBP &&
182 text[i + 3] == DT_RET) {
186 } else if (*(uint16_t *)&text[i] == DT_MOVL_EBP_ESP &&
187 text[i + 2] == DT_POPL_EBP &&
188 text[i + 3] == DT_REP &&
189 text[i + 4] == DT_RET) {
197 size = dt_instr_size(&text[i], dtp, pid,
205 if (size == 1 && text[i] == DT_RET)
209 if (size == 2 && text[i] == DT_REP &&
210 text[i + 1] == DT_RET)
214 if (size == 3 && text[i] == DT_RET16)
218 if (size == 4 && text[i] == DT_REP &&
219 text[i + 1] == DT_RET16)
223 if (size == 5 && text[i] == DT_JMP32 && symp->st_size <=
224 (uintptr_t)(i + size + *(int32_t *)&text[i + 1]))
228 if (size == 2 && text[i] == DT_JMP8 && symp->st_size <=
229 (uintptr_t)(i + size + *(int8_t *)&text[i + 1]))
233 if (size == 6 && DT_ISJ32(*(uint16_t *)&text[i]) &&
235 (uintptr_t)(i + size + *(int32_t *)&text[i + 2]))
239 if (size == 2 && DT_ISJ8(text[i]) && symp->st_size <=
240 (uintptr_t)(i + size + *(int8_t *)&text[i + 1]))
250 free(text);
275 uint8_t *text;
281 if ((text = malloc(symp->st_size)) == NULL) {
286 if (Pread(P, text, symp->st_size, symp->st_value) !=
289 free(text);
298 if (dt_pid_has_jump_table(P, dtp, text, ftp, symp)) {
299 free(text);
315 free(text);
319 size = dt_instr_size(&text[i], dtp, pid,
327 free(text);
332 free(text);
349 uint8_t *text;
360 if ((text = malloc(symp->st_size)) == NULL) {
365 if (Pread(P, text, symp->st_size, symp->st_value) != symp->st_size) {
367 free(text);
375 if (dt_pid_has_jump_table(P, dtp, text, ftp, symp)) {
376 free(text);
384 size = dt_instr_size(&text[i], dtp, pid,
399 size = dt_instr_size(&text[i], dtp, pid,
408 free(text);