Skip to contentSkip to conversation

perf trace: Fix the build on older distros

tip:perf/core tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message May 15, 2015 perf events

lore
Share & tools
lore
#0 lore raw
Commit-ID:  c188e7acd24f132279a91f4fe1fb3b078e0329dd
Gitweb:     http://git.kernel.org/tip/c188e7acd24f132279a91f4fe1fb3b078e0329dd
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Thu, 14 May 2015 17:39:03 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Thu, 14 May 2015 19:27:46 -0300

perf trace: Fix the build on older distros

Such as RHEL5, where CLOEXEC, NONBLOCK flags are not present, use a ifdef+define approach instead to make it build on all distros.

Cc Adrian Hunter <[email protected]>
Cc Borislav Petkov <[email protected]>
Cc David Ahern <[email protected]>
Cc Don Zickus <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Stephane Eranian <[email protected]>
Cc Vinson Lee <[email protected]>
---
 tools/perf/builtin-trace.c | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)
tools/perf/builtin-trace.c +28 -1
index 96a2eba..a05490d 100644
@@ -16,7 +16,6 @@
 
 #include <libaudit.h>
 #include <stdlib.h>
-#include <sys/eventfd.h>
 #include <sys/mman.h>
 #include <linux/futex.h>
 
@@ -41,6 +40,34 @@
 # define EFD_SEMAPHORE		1
 #endif
 
+#ifndef EFD_NONBLOCK
+# define EFD_NONBLOCK		00004000
+#endif
+
+#ifndef EFD_CLOEXEC
+# define EFD_CLOEXEC		02000000
+#endif
+
+#ifndef O_CLOEXEC
+# define O_CLOEXEC		02000000
+#endif
+
+#ifndef SOCK_DCCP
+# define SOCK_DCCP		6
+#endif
+
+#ifndef SOCK_CLOEXEC
+# define SOCK_CLOEXEC		02000000
+#endif
+
+#ifndef SOCK_NONBLOCK
+# define SOCK_NONBLOCK		00004000
+#endif
+
+#ifndef MSG_CMSG_CLOEXEC
+# define MSG_CMSG_CLOEXEC	0x40000000
+#endif
+
 struct tp_field {
 	int offset;
 	union {