On Sat, Aug 05, 2017 at 04:57:35AM +0300, Edgar Kaziakhmedov wrote:
> In order to allow usage shorthand notations of defines in sysent.h file
"usage of shorthand notations of definitions from sysent.h used in
syscallent.h files"

> by other binaries in the strace package these defines should be moved to
> separate file.
"to a separate file"

> 
> * Makefile.am (strace_SOURCES): Add shorthand_def.h.
> * shorthand_def.h: New file.
> * syscall.c: Use it.

* shorthand_def.h: New file.
* Makefile.am (strace_SOURCES): Add it.
* syscall.c: Use it.

Also, I'd prefer shorthand_defs.h.

> 
> 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

Reply via email to