linux_dsm_epyc7002/tools/perf/util
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
..
include tools lib: Move bitmap.[ch] from tools/perf/ to tools/{lib,include}/ 2016-01-08 12:35:46 -03:00
intel-pt-decoder perf intel-pt: Fix off-by-one comparison on maximum code 2016-04-25 20:35:59 -03:00
libunwind perf unwind: Fix wrongly used regs for aarch64 unwind 2016-06-23 10:30:31 -03:00
scripting-engines perf tools: Fix usage of max_stack sysctl 2016-05-20 11:43:56 -03:00
alias.c perf config: Move config declarations from util/cache.h to util/config.h 2016-06-23 08:51:41 -03:00
annotate.c perf annotate: Add number of samples to the header 2016-06-30 18:27:42 -03:00
annotate.h perf annotate: Generalize handling of 'ret' instructions 2016-06-27 14:25:05 -03:00
auxtrace.c perf tools: Add support for skipping itrace instructions 2016-03-30 11:14:09 -03:00
auxtrace.h perf auxtrace: Add option to feed branches to the thread stack 2016-06-23 17:02:59 -03:00
bpf-loader.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
bpf-loader.h perf bpf: Clone bpf stdout events in multiple bpf scripts 2016-04-11 22:17:45 -03:00
bpf-prologue.c perf bpf: Add prologue for BPF programs for fetching arguments 2015-11-18 17:51:04 -03:00
bpf-prologue.h perf bpf: Add prologue for BPF programs for fetching arguments 2015-11-18 17:51:04 -03:00
Build tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
build-id.c perf buildid-cache: Scan and import user SDT events to probe cache 2016-07-04 19:39:00 -03:00
build-id.h perf probe: Show all cached probes 2016-07-01 11:34:57 -03:00
cache.h perf config: Move config declarations from util/cache.h to util/config.h 2016-06-23 08:51:41 -03:00
call-path.c perf tools: Refactor code to move call path handling out of thread-stack 2016-05-06 13:00:43 -03:00
call-path.h perf tools: Refactor code to move call path handling out of thread-stack 2016-05-06 13:00:43 -03:00
callchain.c perf hists: Move sort__has_parent into struct perf_hpp_list 2016-05-05 21:03:59 -03:00
callchain.h perf tests: Fix hist accumulation test 2016-07-04 19:39:01 -03:00
cgroup.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
cgroup.h perf tools: Remove needless 'extern' from function prototypes 2016-03-23 15:06:35 -03:00
cloexec.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
cloexec.h perf tools: Remove needless 'extern' from function prototypes 2016-03-23 15:06:35 -03:00
color.c perf config: Move config declarations from util/cache.h to util/config.h 2016-06-23 08:51:41 -03:00
color.h perf tools: Remove trail argument to color vsprintf 2015-08-05 16:44:02 -03:00
comm.c perf comm: Use atomic.h for refcounting 2015-05-27 12:21:43 -03:00
comm.h perf tools: Add facility to export data in database-friendly way 2014-10-29 10:32:49 -02:00
config.c perf config: Introduce new init() and exit() 2016-06-23 17:20:04 -03:00
config.h perf config: Introduce new init() and exit() 2016-06-23 17:20:04 -03:00
counts.c perf stat: Move perf_counts struct and functions into separate object 2015-08-08 14:16:49 -03:00
counts.h perf stat: Move perf_counts struct and functions into separate object 2015-08-08 14:16:49 -03:00
cpumap.c perf tools: Change cpu_map__fprintf output 2016-06-30 18:27:45 -03:00
cpumap.h perf tools: Change cpu_map__fprintf output 2016-06-30 18:27:45 -03:00
ctype.c perf ui/stdio: Align column header for hierarchy output 2016-02-24 20:21:12 -03:00
data-convert-bt.c perf data ctf: Generate fork and exit events to CTF output 2016-06-28 10:54:58 -03:00
data-convert-bt.h perf data ctf: Pass convert options through opts structure 2016-06-28 10:54:55 -03:00
data-convert.h perf data ctf: Add 'all' option 2016-06-28 10:54:56 -03:00
data.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
data.h perf data: Add perf_data_file__switch() helper 2016-04-14 08:57:54 -03:00
db-export.c perf thread: Adopt get_main_thread from db-export.c 2016-05-30 12:41:43 -03:00
db-export.h perf script: Add call path id to exported sample in db export 2016-05-06 13:00:53 -03:00
debug.c perf tools: Make binary data printer code in trace_event public available 2016-02-24 11:38:01 -03:00
debug.h tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
demangle-java.c perf symbols: add Java demangling support 2016-02-05 09:46:45 -03:00
demangle-java.h perf symbols: add Java demangling support 2016-02-05 09:46:45 -03:00
dso.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
dso.h perf tools: Allow to reset open files counter 2016-06-30 18:27:44 -03:00
dwarf-aux.c perf probe: Check if dwarf_getlocations() is available 2016-05-12 11:26:59 -03:00
dwarf-aux.h perf tools: Remove needless 'extern' from function prototypes 2016-03-23 15:06:35 -03:00
env.c perf header: Transform nodes string info to struct 2016-07-04 19:39:01 -03:00
env.h perf header: Transform nodes string info to struct 2016-07-04 19:39:01 -03:00
event.c perf tools: Change cpu_map__fprintf output 2016-06-30 18:27:45 -03:00
event.h perf tools: Add time conversion event 2016-03-31 10:52:24 -03:00
evlist.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
evlist.h perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
evsel_fprintf.c perf evsel: Move fprintf methods to separate source file 2016-04-14 19:46:58 -03:00
evsel.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
evsel.h perf evsel: Utility function to fetch arch 2016-06-30 08:37:32 -03:00
find-vdso-map.c perf tools: Build programs to copy 32-bit compatibility 2014-10-29 10:32:48 -02:00
genelf_debug.c perf jit: add source line info support 2016-02-05 12:33:09 -03:00
genelf.c perf jit: add source line info support 2016-02-05 12:33:09 -03:00
genelf.h perf jit: genelf makes assumptions about endian 2016-03-30 18:12:06 -03:00
generate-cmdlist.sh perf tools: Do not show trace command if it's not compiled in 2016-01-08 12:46:17 -03:00
group.h perf stat: Basic support for TopDown in perf stat 2016-06-06 17:04:15 -03:00
header.c perf header: Transform nodes string info to struct 2016-07-04 19:39:01 -03:00
header.h perf tools: Remove misplaced __maybe_unused 2016-03-23 12:03:04 -03:00
help-unknown-cmd.c perf config: Move config declarations from util/cache.h to util/config.h 2016-06-23 08:51:41 -03:00
help-unknown-cmd.h perf tools: Move help_unknown_cmd() to its own file 2015-12-14 12:30:37 -03:00
hist.c perf hists: Introduce hists__add_entry_ops function 2016-07-12 00:00:39 -03:00
hist.h perf hists: Introduce hists__add_entry_ops function 2016-07-12 00:00:39 -03:00
intel-bts.c perf auxtrace: Add option to feed branches to the thread stack 2016-06-23 17:02:59 -03:00
intel-bts.h perf tools: Add Intel BTS support 2015-08-21 11:34:10 -03:00
intel-pt.c perf auxtrace: Add option to feed branches to the thread stack 2016-06-23 17:02:59 -03:00
intel-pt.h perf tools: Pass Intel PT information for decoding MTC and CYC 2015-08-24 17:46:43 -03:00
intlist.c
intlist.h perf intlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:39:19 -03:00
jit.h perf tools: Remove needless 'extern' from function prototypes 2016-03-23 15:06:35 -03:00
jitdump.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
jitdump.h perf jit: Add support for using TSC as a timestamp 2016-04-01 18:42:55 -03:00
kvm-stat.h perf kvm/powerpc: Port perf kvm stat to powerpc 2016-01-29 17:49:54 -03:00
levenshtein.c
levenshtein.h
llvm-utils.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
llvm-utils.h perf llvm: Allow dump llvm output object file using llvm.dump-obj 2016-06-21 13:18:34 -03:00
lzma.c perf tools: Add lzma decompression support for kernel module 2015-03-21 14:53:40 -03:00
machine.c perf machine: Destructors should accept NULL 2016-06-22 10:19:11 -03:00
machine.h perf trace: Warn when trying to resolve kernel addresses with kptr_restrict=1 2016-05-20 11:43:54 -03:00
map.c perf unwind: Call unwind__prepare_access for forked thread 2016-07-04 20:27:25 -03:00
map.h perf unwind: Call unwind__prepare_access for forked thread 2016-07-04 20:27:25 -03:00
mem-events.c perf mem: Add --ldlat option 2016-06-15 10:35:27 -03:00
mem-events.h perf mem: Add --ldlat option 2016-06-15 10:35:27 -03:00
ordered-events.c perf ordered_events: Introduce reinit() 2016-04-14 08:57:54 -03:00
ordered-events.h perf ordered_events: Introduce reinit() 2016-04-14 08:57:54 -03:00
parse-branch-options.c perf subcmd: Create subcmd library 2015-12-17 14:27:14 -03:00
parse-branch-options.h perf tools: Move branch option parsing to own file 2015-05-27 21:02:17 -03:00
parse-events.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
parse-events.h perf tools: Per event max-stack settings 2016-05-30 12:41:44 -03:00
parse-events.l perf stat: Basic support for TopDown in perf stat 2016-06-06 17:04:15 -03:00
parse-events.y perf tools: Explicitly declare inc_group_count as a void function 2016-03-08 10:11:16 +01:00
parse-regs-options.c perf subcmd: Create subcmd library 2015-12-17 14:27:14 -03:00
parse-regs-options.h perf record: Add ability to name registers to record 2015-08-31 18:01:33 -03:00
path.c perf tools: Remove some unused functions 2016-06-21 13:18:33 -03:00
perf_regs.c perf tools: Fix perf regs mask generation 2016-05-11 21:54:06 +10:00
perf_regs.h perf tools: Fix build break on powerpc due to sample_reg_masks 2015-09-30 18:34:27 -03:00
PERF-VERSION-GEN
pmu.c perf pmu: Make pmu_formats_string to check return value of strbuf 2016-05-10 11:57:52 -03:00
pmu.h perf tools: Add perf_pmu__format_bits() 2015-08-06 16:49:01 -03:00
pmu.l
pmu.y
probe-event.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
probe-event.h perf probe: Add --cache option to cache the probe definitions 2016-06-15 14:34:42 -03:00
probe-file.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
probe-file.h perf buildid-cache: Scan and import user SDT events to probe cache 2016-07-04 19:39:00 -03:00
probe-finder.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
probe-finder.h perf tools: Remove needless 'extern' from function prototypes 2016-03-23 15:06:35 -03:00
pstack.c perf tools: Introduce pstack_peek() 2015-05-05 18:13:22 -03:00
pstack.h perf tools: Introduce pstack_peek() 2015-05-05 18:13:22 -03:00
python-ext-sources tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
python.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
quote.c perf tools: Make alias handler to check return value of strbuf 2016-05-10 11:56:52 -03:00
quote.h perf tools: Make alias handler to check return value of strbuf 2016-05-10 11:56:52 -03:00
rb_resort.h perf rb_resort: Rename for_each() macros to for_each_entry() 2016-06-23 11:35:07 -03:00
rblist.c
rblist.h
record.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
session.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
session.h perf evsel: Move some methods from session.[ch] to evsel.[ch] 2016-04-13 10:11:52 -03:00
setup.py perf tools: Fix python extension build 2016-02-29 11:18:25 -03:00
sort.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
sort.h perf hists: Introduce hist_entry_ops 2016-07-12 00:00:39 -03:00
srcline.c perf tools: Always use non inlined file name for 'srcfile' sort key 2015-09-02 16:30:46 -03:00
stat-shadow.c perf stat: Add computation of TopDown formulas 2016-06-06 17:04:16 -03:00
stat.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
stat.h perf stat: Add computation of TopDown formulas 2016-06-06 17:04:16 -03:00
strbuf.c perf tools: Rewrite strbuf not to die() 2016-05-10 11:27:58 -03:00
strbuf.h perf tools: Rewrite strbuf not to die() 2016-05-10 11:27:58 -03:00
strfilter.c perf tools: Add strfilter__string to recover rules string 2015-05-04 12:43:54 -03:00
strfilter.h perf tools: Add strfilter__string to recover rules string 2015-05-04 12:43:54 -03:00
string.c tools: Adopt memdup() from tools/perf, moving it to tools/lib/string.c 2015-11-18 17:51:02 -03:00
strlist.c perf tools: Add file_only config option to strlist 2016-01-12 12:42:07 -03:00
strlist.h perf tools: Rename strlist_for_each() macros to for_each_entry() 2016-06-23 11:35:01 -03:00
svghelper.c perf tools: Add reference counting for cpu_map object 2015-06-25 15:15:50 -03:00
svghelper.h perf tools: Remove needless 'extern' from function prototypes 2016-03-23 15:06:35 -03:00
symbol_fprintf.c perf symbols: Move fprintf routines to separate object file 2016-04-14 19:46:53 -03:00
symbol-elf.c perf sdt: ELF support for SDT 2016-07-04 19:38:59 -03:00
symbol-minimal.c perf symbols: Fix type error when reading a build-id 2015-10-28 10:02:00 -03:00
symbol.c perf symbols: Use proper dso name for is_regular_file 2016-06-28 10:54:54 -03:00
symbol.h perf sdt: ELF support for SDT 2016-07-04 19:38:59 -03:00
syscalltbl.c perf tools: Build syscall table .c header from kernel's syscall_64.tbl 2016-04-08 09:58:14 -03:00
syscalltbl.h perf tools: Allow generating per-arch syscall table arrays 2016-04-08 09:58:14 -03:00
target.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
target.h
term.c perf tools: Move term functions out of util.c 2015-12-09 13:42:02 -03:00
term.h perf tools: Move term functions out of util.c 2015-12-09 13:42:02 -03:00
thread_map.c perf tools: Rename strlist_for_each() macros to for_each_entry() 2016-06-23 11:35:01 -03:00
thread_map.h perf thread_map: Make new_by_tid_str constructor public 2016-04-13 10:11:51 -03:00
thread-stack.c perf script: Add callindent option 2016-06-23 17:04:26 -03:00
thread-stack.h perf script: Add callindent option 2016-06-23 17:04:26 -03:00
thread.c perf unwind: Call unwind__prepare_access for forked thread 2016-07-04 20:27:25 -03:00
thread.h perf unwind: Move unwind__prepare_access from thread_new into thread__insert_map 2016-06-07 12:08:52 -03:00
tool.h perf tools: Add time conversion event 2016-03-31 10:52:24 -03:00
top.c
top.h perf top: Use machine->kptr_restrict_warned 2016-05-20 11:43:55 -03:00
trace-event-info.c tools lib api fs: Move tracing_path interface into api/fs/tracing_path.c 2015-09-04 12:00:45 -03:00
trace-event-parse.c irq_poll: make blk-iopoll available outside the block layer 2015-12-11 11:52:24 -08:00
trace-event-read.c perf tools: Stop reading the kallsyms data from perf.data 2015-07-23 22:51:11 -03:00
trace-event-scripting.c perf scripting: No need to pass thread twice to the scripting callbacks 2015-04-02 13:18:41 -03:00
trace-event.c tools lib api fs: Adopt filename__read_str from perf 2016-02-16 17:12:56 -03:00
trace-event.h perf script: Add process_stat/process_stat_interval scripting interface 2016-01-06 20:11:15 -03:00
trigger.h perf tools: Introduce trigger class 2016-04-28 09:58:58 -03:00
tsc.c perf tools: Use 64-bit shifts with (TSC) time conversion 2016-03-08 10:11:18 +01:00
tsc.h perf jit: Add support for using TSC as a timestamp 2016-04-01 18:42:55 -03:00
unwind-libdw.c perf libdw: Check for mmaps also in MAP__VARIABLE tree 2016-01-08 14:16:57 -03:00
unwind-libdw.h perf callchain: Add order support for libdw DWARF unwinder 2015-11-23 18:31:13 -03:00
unwind-libunwind-local.c perf unwind: Change macro names of perf register 2016-06-23 10:30:17 -03:00
unwind-libunwind.c perf unwind: Add initialized arg into unwind__prepare_access 2016-07-04 20:27:12 -03:00
unwind.h perf unwind: Add initialized arg into unwind__prepare_access 2016-07-04 20:27:12 -03:00
usage.c perf tools: Simplify die() mechanism 2016-03-23 12:32:31 -03:00
util.c perf tests: Fix hist accumulation test 2016-07-04 19:39:01 -03:00
util.h tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
values.c
values.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
vdso.c perf tools: Find right DSO taking into account if binary is 32 or 64-bit 2016-06-23 10:25:58 -03:00
vdso.h perf machine: Fix up vdso methods names 2015-05-29 12:43:44 -03:00
xyarray.c perf tools: Introduce xyarray__reset function 2015-06-16 10:34:39 -03:00
xyarray.h perf tools: Introduce xyarray__reset function 2015-06-16 10:34:39 -03:00
zlib.c perf tools: Add gzip decompression support for kernel module 2014-11-05 10:11:26 -03:00