perf tools: Move sane ctype stuff from util.h to sane_ctype.h

More stuff that came from git, out of the hodge-podge that is util.h

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-e3lana4gctz3ub4hn4y29hkw@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 28a9bb96
#include <ctype.h>
#include "symbol/kallsyms.h" #include "symbol/kallsyms.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
#include "../util/util.h" #include "../util/util.h"
#include "../util/debug.h" #include "../util/debug.h"
#include "sane_ctype.h"
const char *const arm_triplets[] = { const char *const arm_triplets[] = {
"arm-eabi-", "arm-eabi-",
"arm-linux-androideabi-", "arm-linux-androideabi-",
......
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
#include <locale.h> #include <locale.h>
#include <regex.h> #include <regex.h>
#include "sane_ctype.h"
static int kmem_slab; static int kmem_slab;
static int kmem_page; static int kmem_page;
......
...@@ -34,6 +34,8 @@ ...@@ -34,6 +34,8 @@
#include <api/fs/fs.h> #include <api/fs/fs.h>
#include <linux/time64.h> #include <linux/time64.h>
#include "sane_ctype.h"
#define PR_SET_NAME 15 /* Set process name */ #define PR_SET_NAME 15 /* Set process name */
#define MAX_CPUS 4096 #define MAX_CPUS 4096
#define COMM_LEN 20 #define COMM_LEN 20
......
...@@ -32,6 +32,8 @@ ...@@ -32,6 +32,8 @@
#include "util/dump-insn.h" #include "util/dump-insn.h"
#include <inttypes.h> #include <inttypes.h>
#include "sane_ctype.h"
static char const *script_name; static char const *script_name;
static char const *generate_script_lang; static char const *generate_script_lang;
static bool debug_mode; static bool debug_mode;
......
...@@ -74,6 +74,8 @@ ...@@ -74,6 +74,8 @@
#include <locale.h> #include <locale.h>
#include <math.h> #include <math.h>
#include "sane_ctype.h"
#define DEFAULT_SEPARATOR " " #define DEFAULT_SEPARATOR " "
#define CNTR_NOT_SUPPORTED "<not supported>" #define CNTR_NOT_SUPPORTED "<not supported>"
#define CNTR_NOT_COUNTED "<not counted>" #define CNTR_NOT_COUNTED "<not counted>"
......
...@@ -72,6 +72,8 @@ ...@@ -72,6 +72,8 @@
#include <linux/time64.h> #include <linux/time64.h>
#include <linux/types.h> #include <linux/types.h>
#include "sane_ctype.h"
static volatile int done; static volatile int done;
#define HEADER_LINE_NR 5 #define HEADER_LINE_NR 5
......
...@@ -51,6 +51,8 @@ ...@@ -51,6 +51,8 @@
#include <linux/stringify.h> #include <linux/stringify.h>
#include <linux/time64.h> #include <linux/time64.h>
#include "sane_ctype.h"
#ifndef O_CLOEXEC #ifndef O_CLOEXEC
# define O_CLOEXEC 02000000 # define O_CLOEXEC 02000000
#endif #endif
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
#include <stdio.h> #include <stdio.h>
#include <ctype.h>
#include <string.h> #include <string.h>
#include "parse-events.h" #include "parse-events.h"
...@@ -18,6 +17,8 @@ ...@@ -18,6 +17,8 @@
#include "tests.h" #include "tests.h"
#include "sane_ctype.h"
#define BUFSZ 1024 #define BUFSZ 1024
#define READLEN 128 #define READLEN 128
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "helpline.h" #include "helpline.h"
#include "keysyms.h" #include "keysyms.h"
#include "../color.h" #include "../color.h"
#include "sane_ctype.h"
static int ui_browser__percent_color(struct ui_browser *browser, static int ui_browser__percent_color(struct ui_browser *browser,
double percent, bool current) double percent, bool current)
......
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
#include "map.h" #include "map.h"
#include "annotate.h" #include "annotate.h"
#include "sane_ctype.h"
extern void hist_browser__init_hpp(void); extern void hist_browser__init_hpp(void);
static int perf_evsel_browser_title(struct hist_browser *browser, static int perf_evsel_browser_title(struct hist_browser *browser,
......
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
#include "../keysyms.h" #include "../keysyms.h"
#include "map.h" #include "map.h"
#include "sane_ctype.h"
struct map_browser { struct map_browser {
struct ui_browser b; struct ui_browser b;
struct map *map; struct map *map;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "../../util/hist.h" #include "../../util/hist.h"
#include "../../util/sort.h" #include "../../util/sort.h"
#include "../../util/evsel.h" #include "../../util/evsel.h"
#include "../../util/sane_ctype.h"
static size_t callchain__fprintf_left_margin(FILE *fp, int left_margin) static size_t callchain__fprintf_left_margin(FILE *fp, int left_margin)
{ {
......
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <sys/utsname.h> #include <sys/utsname.h>
#include "sane_ctype.h"
const char *disassembler_style; const char *disassembler_style;
const char *objdump_path; const char *objdump_path;
static regex_t file_lineno; static regex_t file_lineno;
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#include <sys/types.h> #include <sys/types.h>
#include <sys/mman.h> #include <sys/mman.h>
#include <stdbool.h> #include <stdbool.h>
#include <ctype.h>
#include <string.h> #include <string.h>
#include <limits.h> #include <limits.h>
#include <errno.h> #include <errno.h>
...@@ -47,7 +46,6 @@ ...@@ -47,7 +46,6 @@
#include "cpumap.h" #include "cpumap.h"
#include "thread_map.h" #include "thread_map.h"
#include "asm/bug.h" #include "asm/bug.h"
#include "symbol/kallsyms.h"
#include "auxtrace.h" #include "auxtrace.h"
#include <linux/hash.h> #include <linux/hash.h>
...@@ -60,6 +58,9 @@ ...@@ -60,6 +58,9 @@
#include "intel-pt.h" #include "intel-pt.h"
#include "intel-bts.h" #include "intel-bts.h"
#include "sane_ctype.h"
#include "symbol/kallsyms.h"
int auxtrace_mmap__mmap(struct auxtrace_mmap *mm, int auxtrace_mmap__mmap(struct auxtrace_mmap *mm,
struct auxtrace_mmap_params *mp, struct auxtrace_mmap_params *mp,
void *userpg, int fd) void *userpg, int fd)
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include "vdso.h" #include "vdso.h"
#include "probe-file.h" #include "probe-file.h"
#include "sane_ctype.h"
static bool no_buildid_cache; static bool no_buildid_cache;
......
...@@ -15,6 +15,8 @@ ...@@ -15,6 +15,8 @@
#include "util/llvm-utils.h" /* perf_llvm_config */ #include "util/llvm-utils.h" /* perf_llvm_config */
#include "config.h" #include "config.h"
#include "sane_ctype.h"
#define MAXNAME (256) #define MAXNAME (256)
#define DEBUG_CACHE_DIR ".debug" #define DEBUG_CACHE_DIR ".debug"
......
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
#include <linux/bitmap.h> #include <linux/bitmap.h>
#include "asm/bug.h" #include "asm/bug.h"
#include "sane_ctype.h"
static int max_cpu_num; static int max_cpu_num;
static int max_present_cpu_num; static int max_present_cpu_num;
static int max_node_num; static int max_node_num;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* No surprises, and works with signed and unsigned chars. * No surprises, and works with signed and unsigned chars.
*/ */
#include "util.h" #include "sane_ctype.h"
enum { enum {
S = GIT_SPACE, S = GIT_SPACE,
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "evsel.h" #include "evsel.h"
#include "machine.h" #include "machine.h"
#include "config.h" #include "config.h"
#include "sane_ctype.h"
#define pr_N(n, fmt, ...) \ #define pr_N(n, fmt, ...) \
eprintf(n, debug_data_convert, fmt, ##__VA_ARGS__) eprintf(n, debug_data_convert, fmt, ##__VA_ARGS__)
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
#include "util.h" #include "util.h"
#include "target.h" #include "target.h"
#include "sane_ctype.h"
int verbose; int verbose;
bool dump_trace = false, quiet = false; bool dump_trace = false, quiet = false;
int debug_ordered_events; int debug_ordered_events;
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
#include "demangle-java.h" #include "demangle-java.h"
#include "sane_ctype.h"
enum { enum {
MODE_PREFIX = 0, MODE_PREFIX = 0,
MODE_CLASS = 1, MODE_CLASS = 1,
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "strlist.h" #include "strlist.h"
#include "thread.h" #include "thread.h"
#include "thread_map.h" #include "thread_map.h"
#include "sane_ctype.h"
#include "symbol/kallsyms.h" #include "symbol/kallsyms.h"
#include "asm/bug.h" #include "asm/bug.h"
#include "stat.h" #include "stat.h"
......
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
#include "stat.h" #include "stat.h"
#include "util/parse-branch-options.h" #include "util/parse-branch-options.h"
#include "sane_ctype.h"
static struct { static struct {
bool sample_id_all; bool sample_id_all;
bool exclude_guest; bool exclude_guest;
......
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
#include <api/fs/fs.h> #include <api/fs/fs.h>
#include "asm/bug.h" #include "asm/bug.h"
#include "sane_ctype.h"
/* /*
* magic2 = "PERFILE2" * magic2 = "PERFILE2"
* must be a numerical value to let the endianness * must be a numerical value to let the endianness
......
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
#include "genelf.h" #include "genelf.h"
#include "../builtin.h" #include "../builtin.h"
#include "sane_ctype.h"
struct jit_buf_desc { struct jit_buf_desc {
struct perf_data_file *output; struct perf_data_file *output;
struct perf_session *session; struct perf_session *session;
......
...@@ -11,11 +11,13 @@ ...@@ -11,11 +11,13 @@
#include "thread.h" #include "thread.h"
#include "vdso.h" #include "vdso.h"
#include <stdbool.h> #include <stdbool.h>
#include <symbol/kallsyms.h>
#include "unwind.h" #include "unwind.h"
#include "linux/hash.h" #include "linux/hash.h"
#include "asm/bug.h" #include "asm/bug.h"
#include "sane_ctype.h"
#include <symbol/kallsyms.h>
static void __machine__remove_thread(struct machine *machine, struct thread *th, bool lock); static void __machine__remove_thread(struct machine *machine, struct thread *th, bool lock);
static void dsos__init(struct dsos *dsos) static void dsos__init(struct dsos *dsos)
......
...@@ -48,6 +48,8 @@ ...@@ -48,6 +48,8 @@
#include "probe-file.h" #include "probe-file.h"
#include "session.h" #include "session.h"
#include "sane_ctype.h"
#define PERFPROBE_GROUP "probe" #define PERFPROBE_GROUP "probe"
bool probe_event_dry_run; /* Dry run flag */ bool probe_event_dry_run; /* Dry run flag */
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
#define _PROBE_FINDER_H #define _PROBE_FINDER_H
#include <stdbool.h> #include <stdbool.h>
#include "util.h"
#include "intlist.h" #include "intlist.h"
#include "probe-event.h" #include "probe-event.h"
#include "sane_ctype.h"
#define MAX_PROBE_BUFFER 1024 #define MAX_PROBE_BUFFER 1024
#define MAX_PROBES 128 #define MAX_PROBES 128
......
#ifndef _PERF_SANE_CTYPE_H
#define _PERF_SANE_CTYPE_H
extern const char *graph_line;
extern const char *graph_dotted_line;
extern const char *spaces;
extern const char *dots;
/* Sane ctype - no locale, and works with signed chars */
#undef isascii
#undef isspace
#undef isdigit
#undef isxdigit
#undef isalpha
#undef isprint
#undef isalnum
#undef islower
#undef isupper
#undef tolower
#undef toupper
extern unsigned char sane_ctype[256];
#define GIT_SPACE 0x01
#define GIT_DIGIT 0x02
#define GIT_ALPHA 0x04
#define GIT_GLOB_SPECIAL 0x08
#define GIT_REGEX_SPECIAL 0x10
#define GIT_PRINT_EXTRA 0x20
#define GIT_PRINT 0x3E
#define sane_istest(x,mask) ((sane_ctype[(unsigned char)(x)] & (mask)) != 0)
#define isascii(x) (((x) & ~0x7f) == 0)
#define isspace(x) sane_istest(x,GIT_SPACE)
#define isdigit(x) sane_istest(x,GIT_DIGIT)
#define isxdigit(x) \
(sane_istest(toupper(x), GIT_ALPHA | GIT_DIGIT) && toupper(x) < 'G')
#define isalpha(x) sane_istest(x,GIT_ALPHA)
#define isalnum(x) sane_istest(x,GIT_ALPHA | GIT_DIGIT)
#define isprint(x) sane_istest(x,GIT_PRINT)
#define islower(x) (sane_istest(x,GIT_ALPHA) && (x & 0x20))
#define isupper(x) (sane_istest(x,GIT_ALPHA) && !(x & 0x20))
#define tolower(x) sane_case((unsigned char)(x), 0x20)
#define toupper(x) sane_case((unsigned char)(x), 0)
static inline int sane_case(int x, int high)
{
if (sane_istest(x, GIT_ALPHA))
x = (x & ~0x20) | high;
return x;
}
#endif /* _PERF_SANE_CTYPE_H */
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
#include "string.h" #include "string.h"
#include "strfilter.h" #include "strfilter.h"
#include "sane_ctype.h"
/* Operators */ /* Operators */
static const char *OP_and = "&"; /* Logical AND */ static const char *OP_and = "&"; /* Logical AND */
static const char *OP_or = "|"; /* Logical OR */ static const char *OP_or = "|"; /* Logical OR */
......
#include "util.h" #include "util.h"
#include "linux/string.h" #include "linux/string.h"
#include "sane_ctype.h"
#define K 1024LL #define K 1024LL
/* /*
* perf_atoll() * perf_atoll()
......
...@@ -10,8 +10,9 @@ ...@@ -10,8 +10,9 @@
#include "demangle-rust.h" #include "demangle-rust.h"
#include "machine.h" #include "machine.h"
#include "vdso.h" #include "vdso.h"
#include <symbol/kallsyms.h>
#include "debug.h" #include "debug.h"
#include "sane_ctype.h"
#include <symbol/kallsyms.h>
#ifndef EM_AARCH64 #ifndef EM_AARCH64
#define EM_AARCH64 183 /* ARM 64 bit */ #define EM_AARCH64 183 /* ARM 64 bit */
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include "strlist.h" #include "strlist.h"
#include "intlist.h" #include "intlist.h"
#include "header.h" #include "header.h"
#include "sane_ctype.h"
#include <elf.h> #include <elf.h>
#include <limits.h> #include <limits.h>
......
...@@ -21,13 +21,14 @@ ...@@ -21,13 +21,14 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <ctype.h>
#include <errno.h> #include <errno.h>
#include "../perf.h" #include "../perf.h"
#include "util.h" #include "util.h"
#include "trace-event.h" #include "trace-event.h"
#include "sane_ctype.h"
static int get_common_field(struct scripting_context *context, static int get_common_field(struct scripting_context *context,
int *offset, int *size, const char *type) int *offset, int *size, const char *type)
{ {
......
...@@ -21,6 +21,8 @@ ...@@ -21,6 +21,8 @@
#include "callchain.h" #include "callchain.h"
#include "strlist.h" #include "strlist.h"
#include "sane_ctype.h"
#define CALLCHAIN_PARAM_DEFAULT \ #define CALLCHAIN_PARAM_DEFAULT \
.mode = CHAIN_GRAPH_ABS, \ .mode = CHAIN_GRAPH_ABS, \
.min_percent = 0.5, \ .min_percent = 0.5, \
......
...@@ -43,10 +43,6 @@ ...@@ -43,10 +43,6 @@
#include <termios.h> #include <termios.h>
#include "strlist.h" #include "strlist.h"
extern const char *graph_line;
extern const char *graph_dotted_line;
extern const char *spaces;
extern const char *dots;
extern char buildid_dir[]; extern char buildid_dir[];
#ifdef __GNUC__ #ifdef __GNUC__
...@@ -94,48 +90,6 @@ static inline void *zalloc(size_t size) ...@@ -94,48 +90,6 @@ static inline void *zalloc(size_t size)
#define zfree(ptr) ({ free(*ptr); *ptr = NULL; }) #define zfree(ptr) ({ free(*ptr); *ptr = NULL; })
/* Sane ctype - no locale, and works with signed chars */
#undef isascii
#undef isspace
#undef isdigit
#undef isxdigit
#undef isalpha
#undef isprint
#undef isalnum
#undef islower
#undef isupper
#undef tolower
#undef toupper
extern unsigned char sane_ctype[256];
#define GIT_SPACE 0x01
#define GIT_DIGIT 0x02
#define GIT_ALPHA 0x04
#define GIT_GLOB_SPECIAL 0x08
#define GIT_REGEX_SPECIAL 0x10
#define GIT_PRINT_EXTRA 0x20
#define GIT_PRINT 0x3E
#define sane_istest(x,mask) ((sane_ctype[(unsigned char)(x)] & (mask)) != 0)
#define isascii(x) (((x) & ~0x7f) == 0)
#define isspace(x) sane_istest(x,GIT_SPACE)
#define isdigit(x) sane_istest(x,GIT_DIGIT)
#define isxdigit(x) \
(sane_istest(toupper(x), GIT_ALPHA | GIT_DIGIT) && toupper(x) < 'G')
#define isalpha(x) sane_istest(x,GIT_ALPHA)
#define isalnum(x) sane_istest(x,GIT_ALPHA | GIT_DIGIT)
#define isprint(x) sane_istest(x,GIT_PRINT)
#define islower(x) (sane_istest(x,GIT_ALPHA) && (x & 0x20))
#define isupper(x) (sane_istest(x,GIT_ALPHA) && !(x & 0x20))
#define tolower(x) sane_case((unsigned char)(x), 0x20)
#define toupper(x) sane_case((unsigned char)(x), 0)
static inline int sane_case(int x, int high)
{
if (sane_istest(x, GIT_ALPHA))
x = (x & ~0x20) | high;
return x;
}
int mkdir_p(char *path, mode_t mode); int mkdir_p(char *path, mode_t mode);
int rm_rf(const char *path); int rm_rf(const char *path);
struct strlist *lsdir(const char *name, bool (*filter)(const char *, struct dirent *)); struct strlist *lsdir(const char *name, bool (*filter)(const char *, struct dirent *));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment