[Mesa-dev] [PATCH 19/29] glsl: Don't use strtod_l in Mesa on Android.

Emil Velikov emil.l.velikov at gmail.com
Tue Jul 29 15:54:31 PDT 2014


From: "Myles C. Maxfield" <mymax at amazon.com>

Android includes a fix to asm/posix_types.h inside
/ndk/toolchains/x86-4.7/prebuilt/linux-x86_64/lib/gcc/
i686-linux-android/4.7/include-fixed/asm/posix_types.h. That
file #include_next's the real asm/posix_types.h, but then fixes
(redefines) the __FD_ZERO macro. However, it also #includes
features.h, which unconditionally defines _GNU_SOURCE.
src/glsl/strtod.c assumes that if the _GNU_SOURCE macro is defined,
that it can use locale_t, which isn't available on Android.

Review URL: https://chromiumcodereview.appspot.com/18594002

Patch pulled from the chromium project
https://android.googlesource.com/platform/external/chromium_org/third_party/mesa/src/+/2a3406721cd61852bebd502c7a907cf07b7be731%5E%21

Cc: "10.1 10.2" <mesa-stable at lists.freedesktop.org>
---
 src/glsl/strtod.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/glsl/strtod.c b/src/glsl/strtod.c
index 5d4346b..ddc5564 100644
--- a/src/glsl/strtod.c
+++ b/src/glsl/strtod.c
@@ -45,7 +45,7 @@ double
 glsl_strtod(const char *s, char **end)
 {
 #if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && \
-   !defined(__HAIKU__) && !defined(__UCLIBC__)
+   !defined(__HAIKU__) && !defined(__UCLIBC__) && !defined(ANDROID)
    static locale_t loc = NULL;
    if (!loc) {
       loc = newlocale(LC_CTYPE_MASK, "C", NULL);
-- 
2.0.2



More information about the mesa-dev mailing list