perf tools: Uninline scnprintf() and vscnprint()
Subsystems (2)
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: d0761e37fe3fed7810ed8d6e130b79359f0c3e13 Gitweb: http://git.kernel.org/tip/d0761e37fe3fed7810ed8d6e130b79359f0c3e13 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Thu, 7 Jul 2016 15:42:33 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 12 Jul 2016 15:20:24 -0300
perf tools: Uninline scnprintf() and vscnprint()
They were in tools/include/linux/kernel.h, requiring that it in turn included stdio.h, which is way too heavy.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Josh Poimboeuf <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/include/linux/kernel.h | 28 +++------------------------- tools/lib/vsprintf.c | 24 ++++++++++++++++++++++++ tools/objtool/builtin-check.c | 1 + tools/perf/MANIFEST | 1 + tools/perf/util/Build | 5 +++++ tools/perf/util/color.c | 2 ++ tools/perf/util/dso.h | 1 + tools/perf/util/help-unknown-cmd.c | 1 + tools/perf/util/python-ext-sources | 1 + 9 files changed, 39 insertions(+), 25 deletions(-)
tools/include/linux/kernel.h +3 -25
@@ -2,8 +2,7 @@#define __TOOLS_LINUX_KERNEL_H#include <stdarg.h> -#include <stdio.h> -#include <stdlib.h> +#include <stddef.h> #include <assert.h> #define DIV_ROUND_UP (n,d) (((n) + (d) - 1) / (d))
@@ -70,29 +69,8 @@#define cpu_to_le64 (x) (x)#define cpu_to_le32 (x) (x) -static inline int -vscnprintf (char *buf,size_t size,const char *fmt,va_list args) -{ -int i; -ssize_t ssize = size; - - i =vsnprintf (buf, size, fmt, args); - -return (i >= ssize) ? (ssize -1 ) : i; -} - -static inline int scnprintf (char * buf,size_t size,const char * fmt, ...) -{ -va_list args; -ssize_t ssize = size; -int i; - -va_start (args, fmt); - i =vsnprintf (buf, size, fmt, args); -va_end (args); - -return (i >= ssize) ? (ssize -1 ) : i; -} +int vscnprintf (char *buf,size_t size,const char *fmt,va_list args); +int scnprintf (char * buf,size_t size,const char * fmt, ...);/* * This looks more complex than it should be. But we need to
tools/lib/vsprintf.c new file +24 -0
@@ -0,0 +1,24 @@ +#include <sys/types.h> +#include <linux/kernel.h> +#include <stdio.h> + +int vscnprintf (char *buf,size_t size,const char *fmt,va_list args) +{ +int i =vsnprintf (buf, size, fmt, args); +ssize_t ssize = size; + +return (i >= ssize) ? (ssize -1 ) : i; +} + +int scnprintf (char * buf,size_t size,const char * fmt, ...) +{ +ssize_t ssize = size; +va_list args; +int i; + +va_start (args, fmt); + i =vsnprintf (buf, size, fmt, args); +va_end (args); + +return (i >= ssize) ? (ssize -1 ) : i; +}
tools/objtool/builtin-check.c +1 -0
@@ -26,6 +26,7 @@*/ #include <string.h> +#include <stdlib.h> #include <subcmd/parse-options.h> #include "builtin.h"
tools/perf/MANIFEST +1 -0
@@ -30,6 +30,7 @@ tools/lib/symbol/kallsyms.h tools/lib/find_bit.c tools/lib/bitmap.c tools/lib/str_error_r.c +tools/lib/vsprintf.c tools/include/asm/atomic.h tools/include/asm/barrier.h tools/include/asm/bug.h
tools/perf/util/Build +5 -0
@@ -85,6 +85,7 @@ libperf-y += parse-regs-options.o libperf-y += term.o libperf-y += help-unknown-cmd.o libperf-y += mem-events.o +libperf-y += vsprintf.o libperf-$(CONFIG_LIBBPF) += bpf-loader.o libperf-$(CONFIG_BPF_PROLOGUE) += bpf-prologue.o
@@ -181,3 +182,7 @@ $(OUTPUT)util/str_error_r.o: ../lib/str_error_r.c FORCE $(OUTPUT)util/hweight.o: ../lib/hweight.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c) + +$(OUTPUT)util/vsprintf.o: ../lib/vsprintf.c FORCE + $(call rule_mkdir) + $(call if_changed_dep,cc_o_c)
tools/perf/util/color.c +2 -0
@@ -1,6 +1,8 @@#include <linux/kernel.h> #include "cache.h" #include "config.h" +#include <stdlib.h> +#include <stdio.h> #include "color.h" #include <math.h> #include <unistd.h>
tools/perf/util/dso.h +1 -0
@@ -4,6 +4,7 @@#include <linux/atomic.h> #include <linux/types.h> #include <linux/rbtree.h> +#include <sys/types.h> #include <stdbool.h> #include <pthread.h> #include <linux/types.h>
tools/perf/util/help-unknown-cmd.c +1 -0
@@ -1,5 +1,6 @@#include "cache.h" #include "config.h" +#include <stdio.h> #include <subcmd/help.h> #include "../builtin.h" #include "levenshtein.h"
tools/perf/util/python-ext-sources +1 -0
@@ -14,6 +14,7 @@ util/cpumap.c ../lib/find_bit.c ../lib/hweight.c ../lib/str_error_r.c +../lib/vsprintf.c util/thread_map.c util/util.c util/xyarray.c