From 20dbe893a8f2fb77bf8fc7f067c602d273181362 Mon Sep 17 00:00:00 2001 From: Zhuowei Zhang Date: Wed, 6 Jan 2016 20:33:47 -0500 Subject: [PATCH] android: Use Android bionic's arc4random_uniform (which isn't in headers but is available on all versions so far) --- stdlib/public/stubs/LibcShims.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/stdlib/public/stubs/LibcShims.cpp b/stdlib/public/stubs/LibcShims.cpp index 98ff12d157a87..b816f91451194 100644 --- a/stdlib/public/stubs/LibcShims.cpp +++ b/stdlib/public/stubs/LibcShims.cpp @@ -30,6 +30,8 @@ static_assert(std::is_same::value, #ifdef __ANDROID__ extern "C" { extern size_t dlmalloc_usable_size(void*); +// arc4random_random is missing in headers but does exist +extern unsigned int arc4random_uniform(unsigned int upper_bound); } #endif @@ -73,21 +75,12 @@ size_t _swift_stdlib_malloc_size(const void *ptr) { #error No malloc_size analog known for this platform/libc. #endif -#ifndef __ANDROID__ __swift_uint32_t _swift_stdlib_arc4random(void) { return arc4random(); } __swift_uint32_t _swift_stdlib_arc4random_uniform(__swift_uint32_t upper_bound) { return arc4random_uniform(upper_bound); } -#else -// FIXME: Android: chosen by fair dice roll -__swift_uint32_t _swift_stdlib_arc4random(void) { return 4; } -__swift_uint32_t -_swift_stdlib_arc4random_uniform(__swift_uint32_t upper_bound) { - return 0; -} -#endif } // namespace swift