perf trace: Fix the build on older distros
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-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]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/builtin-trace.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-)
tools/perf/builtin-trace.c +28 -1
@@ -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 {