aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/get_current_dir_name.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2018-11-19 16:56:22 -0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2018-11-19 12:12:17 -0800
commit8feb8efef97a134933620071e0b6384cb3238b4e (patch)
tree1b7f3c18e7c8c17292fe84a8b4843fe14a651e97 /tools/perf/util/get_current_dir_name.c
parentperf tools: Fix crash on synthesizing the unit (diff)
downloadlinux-dev-8feb8efef97a134933620071e0b6384cb3238b4e.tar.xz
linux-dev-8feb8efef97a134933620071e0b6384cb3238b4e.zip
tools build feature: Check if get_current_dir_name() is available
As the namespace support code will use this, which is not available in some non _GNU_SOURCE libraries such as Android's bionic used in my container build tests (r12b and r15c at the moment). 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: https://lkml.kernel.org/n/tip-x56ypm940pwclwu45d7jfj47@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/get_current_dir_name.c')
-rw-r--r--tools/perf/util/get_current_dir_name.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/perf/util/get_current_dir_name.c b/tools/perf/util/get_current_dir_name.c
new file mode 100644
index 000000000000..267aa609a582
--- /dev/null
+++ b/tools/perf/util/get_current_dir_name.c
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0
+// Copyright (C) 2018, Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
+//
+#ifndef HAVE_GET_CURRENT_DIR_NAME
+#include "util.h"
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdlib.h>
+
+/* Android's 'bionic' library, for one, doesn't have this */
+
+char *get_current_dir_name(void)
+{
+ char pwd[PATH_MAX];
+
+ return getcwd(pwd, sizeof(pwd)) == NULL ? NULL : strdup(pwd);
+}
+#endif // HAVE_GET_CURRENT_DIR_NAME