echo "/* THIS FILE IS AUTO-GENERATED. DO NOT EDIT */" > ${HEADER}
echo \
-"#undef TRACE_SYSTEM
-#define TRACE_SYSTEM syscall
+"#ifndef CREATE_SYSCALL_TABLE
-#if !defined(_TRACE_SYSCALL_H) || defined(TRACE_HEADER_MULTI_READ)
-#define _TRACE_SYSCALL_H
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM syscalls
+
+#if !defined(_TRACE_SYSCALLS_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _TRACE_SYSCALLS_H
#include <linux/tracepoint.h>
#include <linux/syscalls.h>
')/g'\
${TMPFILE} >> ${HEADER}
-echo -n \
+# Macro for tracing syscall table
+
+rm -f ${TMPFILE}
+for NRARGS in $(seq 1 6); do
+ grep "^syscall [^ ]* nr [^ ]* nbargs ${NRARGS} " ${SRCFILE} >> ${TMPFILE}
+done
+
+echo \
"
-#endif /* _TRACE_SYSCALL_H */
+#endif /* _TRACE_SYSCALLS_H */
/* This part must be outside protection */
#include \"../../../probes/define_trace.h\"
+
+#else /* CREATE_SYSCALL_TABLE */
+" >> ${HEADER}
+
+sed 's/^syscall \([^ ]*\) nr \([^ ]*\) nbargs \([^ ]*\) .*$/'\
+'TRACE_SYSCALL_TABLE(sys_\1, \2, \3)/g'\
+ ${TMPFILE} >> ${HEADER}
+
+echo -n \
+"
+#endif /* CREATE_SYSCALL_TABLE */
" >> ${HEADER}
rm -f ${INPUTFILE}.tmp