v8: cherry-pick uclibc build patch from upstream
authorBen Noordhuis <info@bnoordhuis.nl>
Tue, 14 Apr 2015 07:54:30 +0000 (00:54 -0700)
committerBen Noordhuis <info@bnoordhuis.nl>
Sun, 14 Jun 2015 21:34:08 +0000 (23:34 +0200)
Original commit log follows:

    Restore V8_LIBC_UCLIBC as a libc option.

    As uClibc defines __GLIBC__ in an attempt to look like glibc,
    V8_LIBC_GLIBC was true for uClibc as well. Checking for uClibc
    before glibc fixes this and restores the correct behavior.

    Review URL: https://codereview.chromium.org/1066573005

Fixes: https://github.com/nodejs/io.js/issues/1432
PR-URL: https://github.com/nodejs/io.js/pull/1974
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Rod Vagg <rod@vagg.org>
deps/v8/include/v8config.h

index f9c3ffd..ca806cb 100644 (file)
 //  V8_LIBC_BIONIC  - Bionic libc
 //  V8_LIBC_BSD     - BSD libc derivate
 //  V8_LIBC_GLIBC   - GNU C library
+//  V8_LIBC_UCLIBC  - uClibc
 //
 // Note that testing for libc must be done using #if not #ifdef. For example,
 // to test for the GNU C library, use:
 #elif defined(__BIONIC__)
 # define V8_LIBC_BIONIC 1
 # define V8_LIBC_BSD 1
+#elif defined(__UCLIBC__)
+// Must test for UCLIBC before GLIBC, as UCLIBC pretends to be GLIBC.
+# define V8_LIBC_UCLIBC 1
 #elif defined(__GLIBC__) || defined(__GNU_LIBRARY__)
 # define V8_LIBC_GLIBC 1
 #else