function _struct_compat_itimerspec_u:string(uaddr:long)
%{ /* pure */
+#ifdef CONFIG_COMPAT
struct compat_itimerspec its;
char *ptr = (char *)(unsigned long)STAP_ARG_uaddr;
(int)its.it_interval.tv_nsec,
(int)its.it_value.tv_sec,
(int)its.it_value.tv_nsec);
- }
+ }
+#endif
%}
function _struct_itimerval_u:string(uaddr:long)
function _struct_compat_timex_u:string(uaddr:long)
%{
+#ifdef CONFIG_COMPAT
struct compat_timex ts;
char *ptr = (char *)(unsigned long)STAP_ARG_uaddr;
int len;
(unsigned long)ptr);
}
}
+#endif
%}
%{
function _struct_sched_attr_u:string(uaddr:long)
%{ /* pure */
+/* struct sched_attr introduced in kernel commit d50dde5a10 along with SCHED_ATTR_SIZE_VER0 */
+#ifdef SCHED_ATTR_SIZE_VER0
struct sched_attr sa;
char *ptr = (char *)(unsigned long)STAP_ARG_uaddr;
if (ptr == NULL)
(unsigned long)ptr);
}
}
+#endif
%}
%{
print (_fanotify_mark_mask_str(0))
print (_perf_event_open_flags_str(0))
print (_kcmp_type_str(0))
-%( kernel_v >= "3.14" %?
print (_struct_sched_attr_u(0))
-%)
+ print (_struct_compat_itimerspec_u(0))
+ print (_struct_compat_timex_u(0))
}