linux/tools/perf
Arnaldo Carvalho de Melo c8b5f2c96d tools: Introduce str_error_r()
The tools so far have been using the strerror_r() GNU variant, that
returns a string, be it the buffer passed or something else.

But that, besides being tricky in cases where we expect that the
function using strerror_r() returns the error formatted in a provided
buffer (we have to check if it returned something else and copy that
instead), breaks the build on systems not using glibc, like Alpine
Linux, where musl libc is used.

So, introduce yet another wrapper, str_error_r(), that has the GNU
interface, but uses the portable XSI variant of strerror_r(), so that
users rest asured that the provided buffer is used and it is what is
returned.

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-d4t42fnf48ytlk8rjxs822tf@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-07-12 15:19:47 -03:00
..
arch tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
bench perf bench: Remove one more die() call 2016-04-26 13:28:40 -03:00
config perf build: Add feature detection for libelf's elf_getshdrstrndx() 2016-07-04 19:38:59 -03:00
Documentation perf report: Introduce --stdio-color to setup the color output mode selection 2016-07-12 00:00:39 -03:00
jvmti perf jit: Add support for using TSC as a timestamp 2016-04-01 18:42:55 -03:00
python perf python: Support the PERF_RECORD_SWITCH event 2015-10-07 19:41:50 -03:00
scripts perf script stackcollapse: Remove reference to the perl interpreter 2016-06-22 09:56:34 -03:00
tests tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
trace perf trace beauty open_flags: Add more conditional defines 2016-07-12 00:00:39 -03:00
ui tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
util tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
.gitignore perf tools: Add arch/*/include/generated/ to .gitignore 2016-05-30 12:41:46 -03:00
Build perf tools: Set and pass DOCDIR to builtin-report.c 2016-01-12 12:42:07 -03:00
builtin-annotate.c perf annotate: Introduce --stdio-color to setup the color output mode selection 2016-07-12 00:00:39 -03:00
builtin-bench.c perf subcmd: Create subcmd library 2015-12-17 14:27:14 -03:00
builtin-buildid-cache.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-buildid-list.c perf subcmd: Create subcmd library 2015-12-17 14:27:14 -03:00
builtin-config.c perf config: Reimplement show_config() using config_set__for_each 2016-06-23 17:23:00 -03:00
builtin-data.c perf data ctf: Add '--all' option for 'perf data convert' 2016-06-28 10:54:57 -03:00
builtin-diff.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
builtin-evlist.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
builtin-help.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-inject.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
builtin-kmem.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
builtin-kvm.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-list.c perf subcmd: Create subcmd library 2015-12-17 14:27:14 -03:00
builtin-lock.c perf subcmd: Create subcmd library 2015-12-17 14:27:14 -03:00
builtin-mem.c perf mem: Add --ldlat option 2016-06-15 10:35:27 -03:00
builtin-probe.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-record.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-report.c perf report: Introduce --stdio-color to setup the color output mode selection 2016-07-12 00:00:39 -03:00
builtin-sched.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-script.c perf script: Add callindent option 2016-06-23 17:04:26 -03:00
builtin-stat.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-timechart.c perf tools: Set buildid dir under symfs when --symfs is provided 2016-05-20 11:43:58 -03:00
builtin-top.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-trace.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-version.c perf tools: Move cmd_version() to builtin-version.c 2015-12-09 13:42:03 -03:00
builtin.h perf tools: Remove needless 'extern' from function prototypes 2016-03-23 15:06:35 -03:00
command-list.txt perf tools: Do not show trace command if it's not compiled in 2016-01-08 12:46:17 -03:00
CREDITS
design.txt
Makefile perf build tests: Do parallell builds with 'build-test' 2016-02-04 15:57:00 -03:00
Makefile.perf perf tools: Let python use correct gcc for build_ext 2016-06-22 16:11:42 -03:00
MANIFEST tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
perf-archive.sh
perf-completion.sh perf tools: Avoid confusion with preloaded bash function for perf bash completion 2015-03-19 13:53:27 -03:00
perf-read-vdso.c perf tools: Build programs to copy 32-bit compatibility 2014-10-29 10:32:48 -02:00
perf-sys.h perf tools: Move generic barriers out of perf-sys.h 2015-05-08 16:05:08 -03:00
perf-with-kcore.sh perf tools: Fix perf-with-kcore handling of arguments containing spaces 2015-08-06 16:48:27 -03:00
perf.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
perf.h perf tools: Ditch record_opts.callgraph_set 2016-04-18 12:26:27 -03:00