[prev in list] [next in list] [prev in thread] [next in thread]
List: busybox
Subject: Re: [PATCH 2/5] Bionic lacks mempcpy; enable existing workaround
From: Matt Whitlock <busybox () mattwhitlock ! name>
Date: 2015-04-29 2:45:43
Message-ID: 2648854.8JUrURcGVK () crushinator
[Download RAW message or body]
(The attached patch subsumes the previous "Bionic lacks mempcpy; enable existing \
workaround".)
Bionic has been growing new features over the years, so platform.h should test the \
__ANDROID_API__ macro to determine which functions to polyfill.
Specifically:
* Bionic has supported fdprintf() since API level 8. This is a direct replacement for \
dprintf(). (The Bionic header chides Glibc for choosing the name \
"dprintf".)
* Bionic has supported ttyname_r(), getline(), and stpcpy() since API level 21.
["0001-conditionally-undefine-feature-macros-depending-on-A.patch" (0001-conditionally-undefine-feature-macros-depending-on-A.patch)]
From 3c0effb4ccab30fb59d70d5837ad46b50a196ef0 Mon Sep 17 00:00:00 2001
From: Matt Whitlock <busybox@mattwhitlock.name>
Date: Tue, 28 Apr 2015 22:37:42 -0400
Subject: [PATCH] conditionally undefine feature macros depending on Android
API level
Also, undefine HAVE_MEMPCPY on Android, as Bionic lacks this function in all released \
versions (but upstream master does have it, so support is coming).
---
include/platform.h | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/include/platform.h b/include/platform.h
index d5ab7bc..1706b18 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -480,10 +480,17 @@ typedef unsigned smalluint;
#endif
#if defined(ANDROID) || defined(__ANDROID__)
-# undef HAVE_DPRINTF
-# undef HAVE_TTYNAME_R
-# undef HAVE_GETLINE
-# undef HAVE_STPCPY
+# if __ANDROID_API__ < 8
+# undef HAVE_DPRINTF
+# else
+# define dprintf fdprintf
+# endif
+# if __ANDROID_API__ < 21
+# undef HAVE_TTYNAME_R
+# undef HAVE_GETLINE
+# undef HAVE_STPCPY
+# endif
+# undef HAVE_MEMPCPY
# undef HAVE_STRCHRNUL
# undef HAVE_STRVERSCMP
# undef HAVE_UNLOCKED_LINE_OPS
--
2.3.6
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic