php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /var/www/html/img_galeri/2r1asasas/root/usr/share/systemtap/tapset/linux/i386/ |
files >> /var/www/html/img_galeri/2r1asasas/root/usr/share/systemtap/tapset/linux/i386/aux_syscalls.stp |
# arch-specific requests of ptrace ___________________________ # = like tapset/x86_64/syscalls.stp but without PTRACE_ARCH_PRCTL # %{ #ifndef PTRACE_SYSEMU # define PTRACE_SYSEMU 31 #endif #ifndef PTRACE_SYSEMU_SINGLESTEP # define PTRACE_SYSEMU_SINGLESTEP 32 #endif #ifndef PTRACE_SINGLEBLOCK # define PTRACE_SINGLEBLOCK 33 #endif // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(PTRACE_GETREGS), V(PTRACE_SETREGS), V(PTRACE_GETFPREGS), V(PTRACE_SETFPREGS), V(PTRACE_GETFPXREGS), V(PTRACE_SETFPXREGS), V(PTRACE_OLDSETOPTIONS), V(PTRACE_GET_THREAD_AREA), V(PTRACE_SET_THREAD_AREA), V(PTRACE_SYSEMU), V(PTRACE_SYSEMU_SINGLESTEP), V(PTRACE_SINGLEBLOCK), {0, NULL} }; %} function __arch_ptrace_request_str:string(request:long) %{ /* pure */ _stp_lookup_str(_stp_arch_ptrace_request_list, (unsigned long)STAP_ARG_request, STAP_RETVALUE, MAXSTRINGLEN); %} function _arch_ptrace_argstr:string(request:long, pid:long, addr:long, data:long) { if (request == %{ /* pure */ PTRACE_GETREGS %} || request == %{ /* pure */ PTRACE_SETREGS %} || request == %{ /* pure */ PTRACE_GETFPREGS %} || request == %{ /* pure */ PTRACE_SETFPREGS %} || request == %{ /* pure */ PTRACE_GETFPXREGS %} || request == %{ /* pure */ PTRACE_SETFPXREGS %}) return sprintf("%s, %d, %#x, %p", __arch_ptrace_request_str(request), pid, addr, data) if (request == %{ /* pure */ PTRACE_SYSEMU %} || request == %{ /* pure */ PTRACE_SYSEMU_SINGLESTEP %} || request == %{ /* pure */ PTRACE_SINGLEBLOCK %}) return sprintf("%s, %d, %#x, %s", __arch_ptrace_request_str(request), pid, addr, _signal_name (data)) if (request == %{ /* pure */ PTRACE_OLDSETOPTIONS %}) return sprintf("PTRACE_OLDSETOPTIONS, %d, %#x, %s", pid, addr, _ptrace_options_str(data)) if (request == %{ /* pure */ PTRACE_GET_THREAD_AREA %} || request == %{ /* pure */ PTRACE_SET_THREAD_AREA %}) return sprintf("%s, %d, %d, %p", __arch_ptrace_request_str(request), pid, __int32(addr), data) } function _ptrace_return_arch_prctl_addr:long(request:long, addr:long, data:long) { return 0 } %{ #include <asm/ldt.h> %} function _struct_user_desc_u:string(uaddr:long) %{ /* pure */ struct user_desc ud; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&ud, ptr, sizeof(struct user_desc)) == 0) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{entry_number=%u, base_addr=%lu, limit=%u, seg_32bit=%u, contents=%u, " "read_exec_only=%u, limit_in_pages=%u, seg_not_present=%u, useable=%u}", ud.entry_number, (unsigned long)ud.base_addr, ud.limit, ud.seg_32bit, ud.contents, ud.read_exec_only, ud.limit_in_pages, ud.seg_not_present, ud.useable); } else { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } } %}y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`