From mboxrd@z Thu Jan 1 00:00:00 1970 From: mathieu.desnoyers@efficios.com (Mathieu Desnoyers) Date: Wed, 27 Nov 2013 09:35:25 +0000 (UTC) Subject: [lttng-dev] [PATCH liburcu 3/5] Added a compat layer for 'syscall.h' In-Reply-To: <1385528902-4797-3-git-send-email-charlesbriere.flatzo@gmail.com> References: <1385528902-4797-1-git-send-email-charlesbriere.flatzo@gmail.com> <1385528902-4797-3-git-send-email-charlesbriere.flatzo@gmail.com> Message-ID: <671378965.76529.1385544925575.JavaMail.zimbra@efficios.com> ----- Original Message ----- > From: "Charles Briere" > To: "mathieu desnoyers" > Cc: lttng-dev at lists.lttng.org, "Pierre-Luc St-Charles" , "Charles Briere" > > Sent: Wednesday, November 27, 2013 12:08:20 AM > Subject: [PATCH liburcu 3/5] Added a compat layer for 'syscall.h' > > From: Pierre-Luc St-Charles > > Path to include syscall.h is different on Android > > Signed-off-by: Charles Briere > --- > Makefile.am | 2 +- > tests/common/thread-id.h | 5 ++--- > urcu.c | 2 +- > urcu/futex.h | 2 +- > urcu/syscall-compat.h | 34 ++++++++++++++++++++++++++++++++++ > 5 files changed, 39 insertions(+), 6 deletions(-) > create mode 100644 urcu/syscall-compat.h > > diff --git a/Makefile.am b/Makefile.am > index baac8b9..64073a1 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -20,7 +20,7 @@ nobase_dist_include_HEADERS = urcu/compiler.h urcu/hlist.h > urcu/list.h \ > urcu/wfqueue.h urcu/rculfstack.h urcu/rculfqueue.h \ > urcu/ref.h urcu/cds.h urcu/urcu_ref.h urcu/urcu-futex.h \ > urcu/uatomic_arch.h urcu/rculfhash.h urcu/wfcqueue.h \ > - urcu/lfstack.h \ > + urcu/lfstack.h urcu/syscall-compat.h \ > $(top_srcdir)/urcu/map/*.h \ > $(top_srcdir)/urcu/static/*.h \ > urcu/tls-compat.h > diff --git a/tests/common/thread-id.h b/tests/common/thread-id.h > index 9378edc..bad3006 100644 > --- a/tests/common/thread-id.h > +++ b/tests/common/thread-id.h > @@ -17,9 +17,8 @@ > * provided the above notices are retained, and a notice that the code was > * modified is included with the above copyright notice. > */ > - > -#ifdef __linux__ > -# include > +#ifdef __Linux__ > +# include > > # if defined(_syscall0) > _syscall0(pid_t, gettid) > diff --git a/urcu.c b/urcu.c > index 759b94b..69ebcaa 100644 > --- a/urcu.c > +++ b/urcu.c > @@ -66,7 +66,7 @@ > * RCU_MEMBARRIER is only possibly available on Linux. > */ > #if defined(RCU_MEMBARRIER) && defined(__linux__) > -#include > +#include > #endif > > /* If the headers do not support SYS_membarrier, fall back on RCU_MB */ > diff --git a/urcu/futex.h b/urcu/futex.h > index cdaa430..bb270c2 100644 > --- a/urcu/futex.h > +++ b/urcu/futex.h > @@ -45,7 +45,7 @@ extern "C" { > */ > > #ifdef CONFIG_RCU_HAVE_FUTEX > -#include > +#include > #define futex(...) syscall(__NR_futex, __VA_ARGS__) > #define futex_noasync(uaddr, op, val, timeout, uaddr2, val3) \ > futex(uaddr, op, val, timeout, uaddr2, val3) > diff --git a/urcu/syscall-compat.h b/urcu/syscall-compat.h > new file mode 100644 > index 0000000..96cfa3a > --- /dev/null > +++ b/urcu/syscall-compat.h > @@ -0,0 +1,34 @@ > +#ifndef _URCU_SYSCALL_COMPAT_H > +#define _URCU_SYSCALL_COMPAT_H > + > +/* > + * urcu/syscall-compat.h > + * > + * Userspace RCU library - Syscall Compatibility Header > + * Please add your Copyright - First Last Line. Thanks, Mathieu > + * Note: this file is only used to simplify the code required to > + * include the 'syscall.h' system header across multiple platforms, > + * which might not always be located at the same place (or needed at all). > + * > + * 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, or (at your option) any later version. > + * > + * 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 > + */ > + > +#if defined(__ANDROID__) > +#include > +#elif defined(__linux__) > +#include > +#endif > + > +#endif /* _URCU_SYSCALL_COMPAT_H */ > -- > 1.8.4.2 > > -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com