| Index: runtime/bin/socket_android.cc
 | 
| diff --git a/runtime/bin/socket_linux.cc b/runtime/bin/socket_android.cc
 | 
| similarity index 95%
 | 
| copy from runtime/bin/socket_linux.cc
 | 
| copy to runtime/bin/socket_android.cc
 | 
| index b126f5ddcc989c4238d737c0a250235ad92d9025..8a57d014c7ccfc227d507274a55de4385e0fcc7e 100644
 | 
| --- a/runtime/bin/socket_linux.cc
 | 
| +++ b/runtime/bin/socket_android.cc
 | 
| @@ -13,7 +13,7 @@
 | 
|  
 | 
|  
 | 
|  bool Socket::Initialize() {
 | 
| -  // Nothing to do on Linux.
 | 
| +  // Nothing to do on Android.
 | 
|    return true;
 | 
|  }
 | 
|  
 | 
| @@ -123,13 +123,14 @@ bool Socket::GetRemotePeer(intptr_t fd, char *host, intptr_t *port) {
 | 
|  
 | 
|  
 | 
|  void Socket::GetError(intptr_t fd, OSError* os_error) {
 | 
| -  int len = sizeof(errno);
 | 
| +  int errorNumber;
 | 
| +  socklen_t len = sizeof(errorNumber);
 | 
|    getsockopt(fd,
 | 
|               SOL_SOCKET,
 | 
|               SO_ERROR,
 | 
| -             &errno,
 | 
| -             reinterpret_cast<socklen_t*>(&len));
 | 
| -  os_error->SetCodeAndMessage(OSError::kSystem, errno);
 | 
| +             reinterpret_cast<void*>(&errorNumber),
 | 
| +             &len);
 | 
| +  os_error->SetCodeAndMessage(OSError::kSystem, errorNumber);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -211,7 +212,7 @@ intptr_t ServerSocket::CreateBindListen(const char* host,
 | 
|  
 | 
|  
 | 
|  static bool IsTemporaryAcceptError(int error) {
 | 
| -  // On Linux a number of protocol errors should be treated as EAGAIN.
 | 
| +  // On Android a number of protocol errors should be treated as EAGAIN.
 | 
|    // These are the ones for TCP/IP.
 | 
|    return (error == EAGAIN) || (error == ENETDOWN) || (error == EPROTO) ||
 | 
|        (error == ENOPROTOOPT) || (error == EHOSTDOWN) || (error == ENONET) ||
 | 
| 
 |