diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-09-23 02:09:16 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-09-23 02:09:16 -0400 |
commit | 52890d2afc6a06d6121ae1fd4bfc2448b0d67728 (patch) | |
tree | 425e9761f3009300630ed927412276415a6f78ec /tools/lib/bpf/str_error.c | |
parent | ea092676b0d9c13f20a3bc02c5b0bf537c27346e (diff) | |
parent | 5d05dfd13f20b01a3cd5d293058baa7d5c1583b6 (diff) |
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Thomas writes:
"- Provide a strerror_r wrapper so lib/bpf can be built on systems
without _GNU_SOURCE
- Unbreak the man page generator when building out of tree"
* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
perf Documentation: Fix out-of-tree asciidoctor man page generation
tools lib bpf: Provide wrapper for strerror_r to build in !_GNU_SOURCE systems
Diffstat (limited to 'tools/lib/bpf/str_error.c')
-rw-r--r-- | tools/lib/bpf/str_error.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/lib/bpf/str_error.c b/tools/lib/bpf/str_error.c new file mode 100644 index 000000000000..b8798114a357 --- /dev/null +++ b/tools/lib/bpf/str_error.c | |||
@@ -0,0 +1,18 @@ | |||
1 | // SPDX-License-Identifier: LGPL-2.1 | ||
2 | #undef _GNU_SOURCE | ||
3 | #include <string.h> | ||
4 | #include <stdio.h> | ||
5 | #include "str_error.h" | ||
6 | |||
7 | /* | ||
8 | * Wrapper to allow for building in non-GNU systems such as Alpine Linux's musl | ||
9 | * libc, while checking strerror_r() return to avoid having to check this in | ||
10 | * all places calling it. | ||
11 | */ | ||
12 | char *str_error(int err, char *dst, int len) | ||
13 | { | ||
14 | int ret = strerror_r(err, dst, len); | ||
15 | if (ret) | ||
16 | snprintf(dst, len, "ERROR: strerror_r(%d)=%d", err, ret); | ||
17 | return dst; | ||
18 | } | ||