[PATCH 2/2] Move SUPPORTED_PERSONALITIES to separate file

Edgar Kaziakhmedov edgar.kaziakhmedov at virtuozzo.com
Tue Aug 22 16:40:49 UTC 2017


On Tue, 22 Aug 2017 19:32:36 +0300
"Dmitry V. Levin" <ldv at altlinux.org> wrote:

> On Tue, Aug 22, 2017 at 03:35:03PM +0300, Edgar Kaziakhmedov wrote:
> > Since the defs.h contains unrelated set of functions which are
> > redundant(and parhaps conflicting) for other binaries included in
> > the strace package, part with quantifying the
> > SUPPORTED_PERSONALITIES definition should be in separate file.
> > 
> > * defs.h: Include "supported_personalities.h".
> > (SUPPORTED_PERSONALITIES): Move ...
> > * supported_personalities.h: ... to the new file.
> > * Makefile.am (strace_SOURCES): Add it.
> > 
> > Signed-off-by: Edgar Kaziakhmedov <edgar.kaziakhmedov at virtuozzo.com>
> > ---
> >  Makefile.am               |  1 +
> >  defs.h                    | 19 ++---------------
> >  supported_personalities.h | 54
> > +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 57
> > insertions(+), 17 deletions(-) create mode 100644
> > supported_personalities.h
> > 
> > diff --git a/Makefile.am b/Makefile.am
> > index 53115cd5..fefd3d29 100644
> > --- a/Makefile.am
> > +++ b/Makefile.am
> > @@ -286,6 +286,7 @@ strace_SOURCES =	\
> >  	strace.c	\
> >  	string_to_uint.h \
> >  	string_to_uint.c \
> > +	supported_personalities.h \
> >  	swapon.c	\
> >  	syscall.c	\
> >  	sysctl.c	\
> > diff --git a/defs.h b/defs.h
> > index dddad0c9..f54d9251 100644
> > --- a/defs.h
> > +++ b/defs.h
> > @@ -59,6 +59,7 @@
> >  #include "macros.h"
> >  #include "mpers_type.h"
> >  #include "string_to_uint.h"
> > +#include "supported_personalities.h"
> >  #include "sysent.h"
> >  #include "xmalloc.h"
> >  
> > @@ -137,25 +138,9 @@ extern char *stpcpy(char *dst, const char
> > *src); # define ERESTART_RESTARTBLOCK 516
> >  #endif
> >  
> > -#if defined X86_64
> > -# define SUPPORTED_PERSONALITIES 3
> > +#if SUPPORTED_PERSONALITIES == 3
> >  # define PERSONALITY2_WORDSIZE  4
> >  # define PERSONALITY2_KLONGSIZE PERSONALITY0_KLONGSIZE
> > -#elif defined AARCH64 \
> > -   || defined POWERPC64 \
> > -   || defined RISCV \
> > -   || defined SPARC64 \
> > -   || defined TILE \
> > -   || defined X32
> > -# define SUPPORTED_PERSONALITIES 2
> > -#else
> > -# define SUPPORTED_PERSONALITIES 1
> > -#endif
> > -
> > -#if defined TILE && defined __tilepro__
> > -# define DEFAULT_PERSONALITY 1
> > -#else
> > -# define DEFAULT_PERSONALITY 0
> >  #endif
> >  
> >  #define PERSONALITY0_WORDSIZE  SIZEOF_LONG
> > diff --git a/supported_personalities.h b/supported_personalities.h
> > new file mode 100644
> > index 00000000..0c720215
> > --- /dev/null
> > +++ b/supported_personalities.h
> > @@ -0,0 +1,54 @@
> > +/*
> > + * Copyright (c) 2001-2017 The strace developers.
> > + * All rights reserved.
> > + *
> > + * Redistribution and use in source and binary forms, with or
> > without
> > + * modification, are permitted provided that the following
> > conditions
> > + * are met:
> > + * 1. Redistributions of source code must retain the above
> > copyright
> > + *    notice, this list of conditions and the following disclaimer.
> > + * 2. Redistributions in binary form must reproduce the above
> > copyright
> > + *    notice, this list of conditions and the following disclaimer
> > in the
> > + *    documentation and/or other materials provided with the
> > distribution.
> > + * 3. The name of the author may not be used to endorse or promote
> > products
> > + *    derived from this software without specific prior written
> > permission.
> > + *
> > + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY
> > EXPRESS OR
> > + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
> > WARRANTIES
> > + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> > DISCLAIMED.
> > + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
> > + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> > (INCLUDING, BUT
> > + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> > LOSS OF USE,
> > + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> > ON ANY
> > + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
> > TORT
> > + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
> > THE USE OF
> > + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
> > DAMAGE.
> > + */
> > +
> > +#ifndef STRACE_SUPPORTED_PERSONALITIES
> > +#define STRACE_SUPPORTED_PERSONALITIES  
> 
> STRACE_SUPPORTED_PERSONALITIES_H?
> 
> > +
> > +#ifdef HAVE_CONFIG_H
> > +# include "config.h"
> > +#endif  
> 
> Is it needed in this header file?
> 
> 
Yes, to detect X86_64 definituon, isn't it?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20170822/3afc1aff/attachment.bin>


More information about the Strace-devel mailing list