From de6d88d3051e66661e759d1cab01cb68009612b3 Mon Sep 17 00:00:00 2001 From: Victor Krapivensky Date: Fri, 5 Jan 2018 02:57:52 +0100 Subject: [PATCH] Move personality names to a global variable This is a part of "Prepare for adding support for Lua scripting" commit. * defs.h (personality_names): New external constant declaration. * syscall.c: (personality_names): New global variable. (update_personality): Use personality_names for reporting personality name. Co-Authored-by: Eugene Syromyatnikov --- defs.h | 2 ++ syscall.c | 26 ++++++++++++++------------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/defs.h b/defs.h index bd4267b3..d38565bb 100644 --- a/defs.h +++ b/defs.h @@ -945,6 +945,8 @@ extern const char *const errnoent0[]; extern const char *const signalent0[]; extern const struct_ioctlent ioctlent0[]; +extern const char *const personality_names[]; + #if SUPPORTED_PERSONALITIES > 1 extern const struct_sysent *sysent; extern const char *const *errnoent; diff --git a/syscall.c b/syscall.c index cfa6aee4..0ca32abd 100644 --- a/syscall.c +++ b/syscall.c @@ -212,7 +212,20 @@ const struct_sysent *const sysent_vec[SUPPORTED_PERSONALITIES] = { #endif }; +const char *const personality_names[] = +# if defined X86_64 + {"64 bit", "32 bit", "x32"} +# elif defined X32 + {"x32", "32 bit"} +# elif SUPPORTED_PERSONALITIES == 2 + {"64 bit", "32 bit"} +# else + {STRINGIFY_VAL(__WORDSIZE) " bit"} +# endif + ; + #if SUPPORTED_PERSONALITIES > 1 + unsigned current_personality; # ifndef current_wordsize @@ -297,21 +310,10 @@ update_personality(struct tcb *tcp, unsigned int personality) return; tcp->currpers = personality; -# undef PERSONALITY_NAMES -# if defined X86_64 -# define PERSONALITY_NAMES {"64 bit", "32 bit", "x32"} -# elif defined X32 -# define PERSONALITY_NAMES {"x32", "32 bit"} -# elif SUPPORTED_PERSONALITIES == 2 -# define PERSONALITY_NAMES {"64 bit", "32 bit"} -# endif -# ifdef PERSONALITY_NAMES if (!qflag) { - static const char *const names[] = PERSONALITY_NAMES; error_msg("[ Process PID=%d runs in %s mode. ]", - tcp->pid, names[personality]); + tcp->pid, personality_names[personality]); } -# endif } #endif -- 2.40.0