/
usr
/
share
/
systemtap
/
runtime
/
dyninst
/
/usr/share/systemtap/runtime/dyninst
mkdir
upload
Name
Size
Mode
Actions
addr-map.c
565
0644
edit
dl
rm
alloc.c
1188
0644
edit
dl
rm
arith.c
2291
0644
edit
dl
rm
common_session_state.h
6921
0644
edit
dl
rm
copy.c
4095
0644
edit
dl
rm
debug.h
413
0644
edit
dl
rm
ilog2.h
2943
0644
edit
dl
rm
io.c
4541
0644
edit
dl
rm
linux_defs.h
5602
0644
edit
dl
rm
linux_hash.h
1877
0644
edit
dl
rm
linux_types.h
654
0644
edit
dl
rm
loc2c-runtime.h
2494
0644
edit
dl
rm
map_list.h
1059
0644
edit
dl
rm
map_runtime.h
5160
0644
edit
dl
rm
namespaces.h
0
0644
edit
dl
rm
offptr.h
4788
0644
edit
dl
rm
offset_list.h
4428
0644
edit
dl
rm
perf.c
0
0644
edit
dl
rm
print.c
2700
0644
edit
dl
rm
probe_lock.h
1849
0644
edit
dl
rm
regs.c
2557
0644
edit
dl
rm
runtime.h
10292
0644
edit
dl
rm
runtime_context.h
6556
0644
edit
dl
rm
runtime_defines.h
280
0644
edit
dl
rm
session_attributes.c
1717
0644
edit
dl
rm
session_attributes.h
772
0644
edit
dl
rm
shm.c
6171
0644
edit
dl
rm
stapdyn.h
4617
0644
edit
dl
rm
stat_runtime.h
1832
0644
edit
dl
rm
sym.c
1621
0644
edit
dl
rm
task_finder.c
0
0644
edit
dl
rm
timer.c
2770
0644
edit
dl
rm
transport.c
31128
0644
edit
dl
rm
transport.h
3968
0644
edit
dl
rm
unwind.c
0
0644
edit
dl
rm
uprobes-regs.c
3163
0644
edit
dl
rm
uprobes.c
1798
0644
edit
dl
rm
uprobes.h
953
0644
edit
dl
rm
Edit:
/usr/share/systemtap/runtime/dyninst/loc2c-runtime.h
(2494B)
/* target operations in the Dyninst mode * Copyright (C) 2012, 2016 Red Hat Inc. * * This file is part of systemtap, and is free software. You can * redistribute it and/or modify it under the terms of the GNU General * Public License (GPL); either version 2, or (at your option) any * later version. */ #ifndef _STAPDYN_LOC2C_RUNTIME_H_ #define _STAPDYN_LOC2C_RUNTIME_H_ #include "../loc2c-runtime.h" #define __get_user_asm(x, addr, err, itype, rtype, ltype, errret) \ (err) = __get_user((x), (typeof(x)*)(uintptr_t)(addr)) #define __put_user_asm(x, addr, err, itype, rtype, ltype, errret) \ (err) = __put_user((x), (typeof(x)*)(uintptr_t)(addr)) #define u_fetch_register(regno) \ pt_regs_fetch_register(c->uregs, regno) #define u_store_register(regno, value) \ pt_regs_store_register(c->uregs, regno, value) #if defined(__i386__) // The kernel's way of getting esp doesn't work as an lvalue #undef pt_dwarf_register_4 #define pt_dwarf_register_4(regs) regs->esp #endif #define _stp_deref_nofault(value, size, addr, seg) \ __copy_from_user((void *)&(value), (void *)(addr), (size_t)(size)) #define uread(ptr) ({ \ typeof(*(ptr)) _v = 0; \ if (__copy_from_user((void *)&_v, (void *)(ptr), sizeof(*(ptr)))) \ DEREF_FAULT(ptr); \ _v; \ }) #define uwrite(ptr, value) ({ \ typeof(*(ptr)) _v; \ _v = (typeof(*(ptr)))(value); \ if (__copy_to_user((void *)(ptr), (void *)&_v, sizeof(*(ptr)))) \ STORE_DEREF_FAULT(ptr); \ }) #define uderef(size, addr) ({ \ intptr_t _i = 0; \ switch (size) { \ case 1: _i = uread((u8 *)(uintptr_t)(addr)); break; \ case 2: _i = uread((u16 *)(uintptr_t)(addr)); break; \ case 4: _i = uread((u32 *)(uintptr_t)(addr)); break; \ case 8: _i = uread((u64 *)(uintptr_t)(addr)); break; \ default: __get_user_bad(); \ } \ _i; \ }) #define store_uderef(size, addr, value) ({ \ switch (size) { \ case 1: uwrite((u8 *)(uintptr_t)(addr), (value)); break; \ case 2: uwrite((u16 *)(uintptr_t)(addr), (value)); break; \ case 4: uwrite((u32 *)(uintptr_t)(addr), (value)); break; \ case 8: uwrite((u64 *)(uintptr_t)(addr), (value)); break; \ default: __put_user_bad(); \ } \ }) /* We still need to clean the runtime more before these can go away... */ #define kread uread #define kwrite uwrite #define kderef uderef #define store_kderef store_uderef #endif /* _STAPDYN_LOC2C_RUNTIME_H_ */
Save
cmd:
run