Chromium Code Reviews| Index: ports/libxcb/nacl.patch |
| diff --git a/ports/libxcb/nacl.patch b/ports/libxcb/nacl.patch |
| index 5d72c02fcb0b530b32e0c483947f6c6f72a24c20..60958756f16e412ba73d3134459ce284c994b986 100644 |
| --- a/ports/libxcb/nacl.patch |
| +++ b/ports/libxcb/nacl.patch |
| @@ -1,7 +1,36 @@ |
| diff --git a/configure b/configure |
| --- a/configure |
| +++ b/configure |
|
Sam Clegg
2015/07/29 23:58:49
Sorry, can you remove this configure patch that is
zhitingzhu
2015/07/31 01:06:41
Done.
|
| -@@ -13123,7 +13123,9 @@ else |
| +@@ -6048,7 +6048,8 @@ irix5* | irix6* | nonstopux*) |
| + ;; |
| + |
| + # This must be glibc/ELF. |
| +-linux* | k*bsd*-gnu | kopensolaris*-gnu) |
| ++# Patched by naclports using patch_configure.py |
| ++linux* | k*bsd*-gnu | kopensolaris*-gnu | nacl*) |
| + lt_cv_deplibs_check_method=pass_all |
| + ;; |
| + |
| +@@ -11523,6 +11524,18 @@ uts4*) |
| + shlibpath_var=LD_LIBRARY_PATH |
| + ;; |
| + |
| ++nacl) |
| ++ # Patched by naclports using patch_configure.py |
| ++ if libc_so=`$CC -print-file-name=libc.so` && [ "$libc_so" != libc.so ]; then |
| ++ dynamic_linker="GNU/NaCl ld.so" |
| ++ version_type=linux |
| ++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' |
| ++ soname_spec='${libname}${release}${shared_ext}$major' |
| ++ else |
| ++ dynamic_linker=no |
| ++ fi |
| ++ ;; |
| ++ |
| + *) |
| + dynamic_linker=no |
| + ;; |
| +@@ -13123,7 +13136,9 @@ else |
| $as_echo "yes" >&6; } |
| fi |
| @@ -42,41 +71,3 @@ diff --git a/src/xcb_conn.c b/src/xcb_conn.c |
| static int set_fd_flags(const int fd) |
| { |
| /* Win32 doesn't have file descriptors and the fcntl function. This block sets the socket in non-blocking mode */ |
| -@@ -179,7 +199,8 @@ static int write_vec(xcb_connection_t *c, struct iovec **vector, int *count) |
| - int n; |
| - assert(!c->out.queue_len); |
| - |
| --#ifdef _WIN32 |
| -+ /* Using writev emulation for nacl newlib. */ |
| -+#if defined(_WIN32) || (defined(__native_client__) && defined(_NEWLIB_VERSION)) |
| - int i = 0; |
| - int ret = 0,err = 0; |
| - struct iovec *vec; |
| -@@ -190,11 +211,26 @@ static int write_vec(xcb_connection_t *c, struct iovec **vector, int *count) |
| - vec = *vector; |
| - while(i < *count) |
| - { |
| -- ret = send(c->fd,vec->iov_base,vec->iov_len,0); |
| -+ /* |
| -+ * TODO(bradnelson): Drop if nacl_io supports zero length sends. |
| -+ * https://code.google.com/p/naclports/issues/detail?id=228 |
| -+ */ |
| -+ if (vec->iov_len != 0) { |
| -+ ret = send(c->fd,vec->iov_base,vec->iov_len,0); |
| -+ } else { |
| -+ ret = 0; |
| -+ } |
| -+ /* Generalize to posix so this can be used with nacl newlib. */ |
| -+#if defined(__native_client__) && defined(_NEWLIB_VERSION) |
| -+ if(ret < 0) |
| -+ { |
| -+ if(errno == EWOULDBLOCK) |
| -+#else |
| - if(ret == SOCKET_ERROR) |
| - { |
| - err = WSAGetLastError(); |
| - if(err == WSAEWOULDBLOCK) |
| -+#endif |
| - { |
| - return 1; |
| - } |