From 0a2aba1397f90fa65c293ab856d18579ae14b77f Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Mon, 13 Jun 2011 10:24:46 -0400 Subject: [PATCH] Fix compilation with uclibc Reported-by: Khem Raj Reported-by: Dexuan Cui Signed-off-by: Mathieu Desnoyers --- include/Makefile.am | 1 + include/ust/compat.h | 35 +++++++++++++++++++++++++++++++++++ libust/tracer.h | 1 + 3 files changed, 37 insertions(+) create mode 100644 include/ust/compat.h diff --git a/include/Makefile.am b/include/Makefile.am index bd649b6b..6b128fad 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -10,6 +10,7 @@ noinst_HEADERS = \ usterr.h \ ust_snprintf.h \ usterr_signal_safe.h \ + ust/compat.h \ ust/config.h \ ust/core.h \ ust/marker-internal.h \ diff --git a/include/ust/compat.h b/include/ust/compat.h new file mode 100644 index 00000000..c896e728 --- /dev/null +++ b/include/ust/compat.h @@ -0,0 +1,35 @@ +#ifndef _UST_COMPAT_H +#define _UST_COMPAT_H + +/* + * Copyright (C) 2011 Mathieu Desnoyers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include + +#ifdef __UCLIBC__ +#define __getcpu(cpu, node, cache) syscall(__NR_getcpu, cpu, node, cache) +static inline +int sched_getcpu(void) +{ + int c, s; + + s = __getcpu(&c, NULL, NULL); + return (s == -1) ? s : c; +} +#endif /* __UCLIBC__ */ +#endif /* _UST_COMPAT_H */ diff --git a/libust/tracer.h b/libust/tracer.h index 03049aa3..4f72d7ad 100644 --- a/libust/tracer.h +++ b/libust/tracer.h @@ -30,6 +30,7 @@ #include #include #include +#include #include "channels.h" #include "tracercore.h" #include "tracerconst.h" -- 2.34.1