Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: c.briere@samsung.com (Charles Briere)
Subject: [lttng-dev] [PATCH lttng-tools 21/24] Android : Adding bswap defintions
Date: Mon, 27 Oct 2014 20:49:30 +0000	[thread overview]
Message-ID: <1414442926-14381-22-git-send-email-c.briere@samsung.com> (raw)
In-Reply-To: <1414442926-14381-1-git-send-email-c.briere@samsung.com>

From: Charles Briere <c.briere@samsung.com>

Mapping of bswap functions based on what's
available on Android's NDK

Signed-off-by: Charles Briere <c.briere at samsung.com>
---
 configure.ac               |  2 ++
 src/common/compat/endian.h | 11 ++++++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 45c6b30..91efd17 100644
--- a/configure.ac
+++ b/configure.ac
@@ -242,6 +242,8 @@ AC_CHECK_DECL([cmm_smp_mb__before_uatomic_or], [],
 
 AC_CHECK_DECLS([gettid], [], [], [[#include <unistd.h>]])
 
+AC_CHECK_DECLS([bswap_16, bswap_32, bswap_64], [], [], [[#include <byteswap.h>]])
+
 # Check kmod library
 AC_ARG_WITH(kmod-prefix,
   AS_HELP_STRING([--with-kmod-prefix=PATH],
diff --git a/src/common/compat/endian.h b/src/common/compat/endian.h
index baea531..c03c231 100644
--- a/src/common/compat/endian.h
+++ b/src/common/compat/endian.h
@@ -21,11 +21,20 @@
 #ifdef __linux__
 #include <endian.h>
 
+#define HAVE_BSWAP (HAVE_DECL_BSWAP_16 && HAVE_DECL_BSWAP_32 && HAVE_DECL_BSWAP_64)
+#if HAVE_BSWAP
+# ifndef __bswap_16
+#  define __bswap_16(x) bswap_16(x)
+#  define __bswap_32(x) bswap_32(x)
+#  define __bswap_64(x) bswap_64(x)
+# endif
+#endif
+
 /*
  * htobe/betoh are not defined for glibc <2.9, so add them
  * explicitly if they are missing.
  */
-#ifdef __USE_BSD
+#if defined(__USE_BSD) || HAVE_BSWAP
 /* Conversion interfaces. */
 # include <byteswap.h>
 
-- 
2.1.2



  parent reply	other threads:[~2014-10-27 20:49 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-27 20:49 [lttng-dev] Fixes for Android Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 03/24] Fix : Wrap variable with URCU_TLS for sizeof Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 04/24] Fix : Only link librt if available Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 01/24] Fix : wait.h should be sys/wait.h according to posix and android doesn't redirect wait.h to sys/wait.h Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 02/24] Fix : Include sys/stat.h where needed Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 07/24] Fix : need to include config.h if using it's definitions Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 06/24] Fix : Do not redeclare gettid if found Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 05/24] Fix : Do not use gLibc specific macros Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 08/24] Fix : Don't compile ust functions when not enabled Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 15/24] Add : Compatibility layer for stat.h Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 13/24] Add : Compatibility layer for un.h Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 11/24] Add : Compatibility layer for limit.h Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 16/24] Add : Compatibility layer for pwd.h Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 09/24] Add : Compatibility layer for syscall.h Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 14/24] Add : Compatibility layer for signal.h Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 12/24] Add : Compatibility layer for ulimit.h Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 10/24] Add : Compatibility layer for netinet/in.h Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 17/24] Add : Compatibility layer for pthread Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 24/24] Android : Add splice compatibility to fcntl layer Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 18/24] Add : Compatibility layer for shm.h Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 23/24] Android : Define posix_fadvise Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 20/24] Android : %m[^] not supported in fscanf Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 22/24] Android : Missing defintion in fcntl.h Charles Briere
2014-10-27 20:49 ` [lttng-dev] [PATCH lttng-tools 19/24] Android : Looking for pthread in libc Charles Briere
2014-10-27 20:49 ` Charles Briere [this message]
2014-10-27 20:58 ` [lttng-dev] Fixes for Android Karim Yaghmour

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1414442926-14381-22-git-send-email-c.briere@samsung.com \
    --to=c.briere@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox