In order to allow usage shorthand notations of defines in sysent.h file by other binaries in the strace package these defines should be moved to separate file.
* Makefile.am (strace_SOURCES): Add shorthand_def.h. * shorthand_def.h: New file. * syscall.c: Use it. Signed-off-by: Edgar Kaziakhmedov <edgar.kaziakhme...@virtuozzo.com> --- Makefile.am | 1 + shorthand_def.h | 42 ++++++++++++++++++++++++++++++++++++++++++ syscall.c | 43 ++++--------------------------------------- 3 files changed, 47 insertions(+), 39 deletions(-) create mode 100644 shorthand_def.h diff --git a/Makefile.am b/Makefile.am index 20708711..ae119a75 100644 --- a/Makefile.am +++ b/Makefile.am @@ -248,6 +248,7 @@ strace_SOURCES = \ scsi.c \ seccomp.c \ sendfile.c \ + shorthand_def.h \ sg_io_v3.c \ sg_io_v4.c \ shutdown.c \ diff --git a/shorthand_def.h b/shorthand_def.h new file mode 100644 index 00000000..70e4fd4a --- /dev/null +++ b/shorthand_def.h @@ -0,0 +1,42 @@ +#ifdef DEFINE_SHORTHAND +#define TD TRACE_DESC +#define TF TRACE_FILE +#define TI TRACE_IPC +#define TN TRACE_NETWORK +#define TP TRACE_PROCESS +#define TS TRACE_SIGNAL +#define TM TRACE_MEMORY +#define TST TRACE_STAT +#define TLST TRACE_LSTAT +#define TFST TRACE_FSTAT +#define TSTA TRACE_STAT_LIKE +#define TSF TRACE_STATFS +#define TFSF TRACE_FSTATFS +#define TSFA TRACE_STATFS_LIKE +#define NF SYSCALL_NEVER_FAILS +#define MA MAX_ARGS +#define SI STACKTRACE_INVALIDATE_CACHE +#define SE STACKTRACE_CAPTURE_ON_ENTER +#define CST COMPAT_SYSCALL_TYPES +#else +#undef SEN +#undef TD +#undef TF +#undef TI +#undef TN +#undef TP +#undef TS +#undef TM +#undef TST +#undef TLST +#undef TFST +#undef TSTA +#undef TSF +#undef TFSF +#undef TSFA +#undef NF +#undef MA +#undef SI +#undef SE +#undef CST +#endif diff --git a/syscall.c b/syscall.c index f21a1467..7884e00f 100644 --- a/syscall.c +++ b/syscall.c @@ -70,25 +70,8 @@ #include "syscall.h" /* Define these shorthand notations to simplify the syscallent files. */ -#define TD TRACE_DESC -#define TF TRACE_FILE -#define TI TRACE_IPC -#define TN TRACE_NETWORK -#define TP TRACE_PROCESS -#define TS TRACE_SIGNAL -#define TM TRACE_MEMORY -#define TST TRACE_STAT -#define TLST TRACE_LSTAT -#define TFST TRACE_FSTAT -#define TSTA TRACE_STAT_LIKE -#define TSF TRACE_STATFS -#define TFSF TRACE_FSTATFS -#define TSFA TRACE_STATFS_LIKE -#define NF SYSCALL_NEVER_FAILS -#define MA MAX_ARGS -#define SI STACKTRACE_INVALIDATE_CACHE -#define SE STACKTRACE_CAPTURE_ON_ENTER -#define CST COMPAT_SYSCALL_TYPES +#define DEFINE_SHORTHAND +#include "shorthand_def.h" #define SEN(syscall_name) SEN_ ## syscall_name, SYS_FUNC_NAME(sys_ ## syscall_name) @@ -111,26 +94,8 @@ static const struct_sysent sysent2[] = { #endif /* Now undef them since short defines cause wicked namespace pollution. */ -#undef SEN -#undef TD -#undef TF -#undef TI -#undef TN -#undef TP -#undef TS -#undef TM -#undef TST -#undef TLST -#undef TFST -#undef TSTA -#undef TSF -#undef TFSF -#undef TSFA -#undef NF -#undef MA -#undef SI -#undef SE -#undef CST +#undef DEFINE_SHORTHAND +#include "shorthand_def.h" /* * `ioctlent[012].h' files are automatically generated by the auxiliary -- 2.11.0 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel