| Index: native_client_sdk/src/libraries/nacl_io/kernel_wrap_glibc.cc
|
| diff --git a/native_client_sdk/src/libraries/nacl_io/kernel_wrap_glibc.cc b/native_client_sdk/src/libraries/nacl_io/kernel_wrap_glibc.cc
|
| index 990b8236b94792887ec7489bf92108ed8f6844d3..5e43c6c41737d0fb00f0a5ab4677a5679a5ac819 100644
|
| --- a/native_client_sdk/src/libraries/nacl_io/kernel_wrap_glibc.cc
|
| +++ b/native_client_sdk/src/libraries/nacl_io/kernel_wrap_glibc.cc
|
| @@ -26,7 +26,6 @@
|
| #include "nacl_io/log.h"
|
| #include "nacl_io/osmman.h"
|
|
|
| -
|
| namespace {
|
|
|
| void stat_to_nacl_stat(const struct stat* buf, nacl_abi_stat* nacl_buf) {
|
| @@ -55,7 +54,7 @@ void nacl_stat_to_stat(const nacl_abi_stat* nacl_buf, struct stat* buf) {
|
| buf->st_uid = nacl_buf->nacl_abi_st_uid;
|
| buf->st_gid = nacl_buf->nacl_abi_st_gid;
|
| buf->st_rdev = nacl_buf->nacl_abi_st_rdev;
|
| - buf->st_size = nacl_buf->nacl_abi_st_size ;
|
| + buf->st_size = nacl_buf->nacl_abi_st_size;
|
| buf->st_blksize = nacl_buf->nacl_abi_st_blksize;
|
| buf->st_blocks = nacl_buf->nacl_abi_st_blocks;
|
| buf->st_atime = nacl_buf->nacl_abi_st_atime;
|
| @@ -107,60 +106,57 @@ EXTERN_C_BEGIN
|
| #define WRAP(name) __nacl_irt_##name##_wrap
|
|
|
| // Declare REAL function pointer.
|
| -#define DECLARE_REAL_PTR(name) \
|
| - typeof(__nacl_irt_##name) REAL(name);
|
| +#define DECLARE_REAL_PTR(name) typeof(__nacl_irt_##name) REAL(name);
|
|
|
| // Assign the REAL function pointer.
|
| -#define ASSIGN_REAL_PTR(name) \
|
| +#define ASSIGN_REAL_PTR(name) \
|
| assert(__nacl_irt_##name != NULL); \
|
| REAL(name) = __nacl_irt_##name;
|
|
|
| // Switch IRT's pointer to the REAL pointer
|
| -#define USE_REAL(name) \
|
| - __nacl_irt_##name = (typeof(__nacl_irt_##name)) REAL(name)
|
| +#define USE_REAL(name) __nacl_irt_##name = (typeof(__nacl_irt_##name))REAL(name)
|
|
|
| // Switch IRT's pointer to the WRAP function
|
| -#define USE_WRAP(name) \
|
| - __nacl_irt_##name = (typeof(__nacl_irt_##name)) WRAP(name)
|
| +#define USE_WRAP(name) __nacl_irt_##name = (typeof(__nacl_irt_##name))WRAP(name)
|
|
|
| #define EXPAND_SYMBOL_LIST_OPERATION(OP) \
|
| - OP(chdir); \
|
| - OP(close); \
|
| - OP(dup); \
|
| - OP(dup2); \
|
| - OP(exit); \
|
| - OP(fstat); \
|
| - OP(getcwd); \
|
| - OP(getdents); \
|
| - OP(mkdir); \
|
| - OP(open); \
|
| - OP(poll);\
|
| - OP(read); \
|
| - OP(rmdir); \
|
| - OP(seek); \
|
| - OP(stat); \
|
| - OP(select); \
|
| - OP(write); \
|
| - OP(mmap); \
|
| - OP(munmap); \
|
| - OP(open_resource); \
|
| - \
|
| - OP(socket); \
|
| - OP(accept); \
|
| - OP(bind); \
|
| - OP(listen); \
|
| - OP(connect); \
|
| - OP(send); \
|
| - OP(sendmsg); \
|
| - OP(sendto); \
|
| - OP(recv); \
|
| - OP(recvmsg); \
|
| - OP(recvfrom); \
|
| - OP(getpeername); \
|
| - OP(getsockname); \
|
| - OP(getsockopt); \
|
| - OP(setsockopt); \
|
| - OP(socketpair); \
|
| + OP(chdir); \
|
| + OP(close); \
|
| + OP(dup); \
|
| + OP(dup2); \
|
| + OP(exit); \
|
| + OP(fstat); \
|
| + OP(getcwd); \
|
| + OP(getdents); \
|
| + OP(mkdir); \
|
| + OP(open); \
|
| + OP(poll); \
|
| + OP(read); \
|
| + OP(rmdir); \
|
| + OP(seek); \
|
| + OP(stat); \
|
| + OP(select); \
|
| + OP(write); \
|
| + OP(mmap); \
|
| + OP(munmap); \
|
| + OP(open_resource); \
|
| + \
|
| + OP(socket); \
|
| + OP(accept); \
|
| + OP(bind); \
|
| + OP(listen); \
|
| + OP(connect); \
|
| + OP(send); \
|
| + OP(sendmsg); \
|
| + OP(sendto); \
|
| + OP(recv); \
|
| + OP(recvmsg); \
|
| + OP(recvfrom); \
|
| + OP(getpeername); \
|
| + OP(getsockname); \
|
| + OP(getsockopt); \
|
| + OP(setsockopt); \
|
| + OP(socketpair); \
|
| OP(shutdown);
|
|
|
| // TODO(bradnelson): Add these as well.
|
| @@ -199,7 +195,7 @@ void WRAP(exit)(int status) {
|
| ki_exit(status);
|
| }
|
|
|
| -int WRAP(fstat)(int fd, struct nacl_abi_stat *nacl_buf) {
|
| +int WRAP(fstat)(int fd, struct nacl_abi_stat* nacl_buf) {
|
| struct stat buf;
|
| memset(&buf, 0, sizeof(struct stat));
|
| int res = ki_fstat(fd, &buf);
|
| @@ -213,7 +209,7 @@ int WRAP(getcwd)(char* buf, size_t size) {
|
| return 0;
|
| }
|
|
|
| -int WRAP(getdents)(int fd, dirent* nacl_buf, size_t nacl_count, size_t *nread) {
|
| +int WRAP(getdents)(int fd, dirent* nacl_buf, size_t nacl_count, size_t* nread) {
|
| int nacl_offset = 0;
|
| // "buf" contains dirent(s); "nacl_buf" contains nacl_abi_dirent(s).
|
| // nacl_abi_dirent(s) are smaller than dirent(s), so nacl_count bytes buffer
|
| @@ -247,7 +243,11 @@ int WRAP(mkdir)(const char* pathname, mode_t mode) {
|
| return 0;
|
| }
|
|
|
| -int WRAP(mmap)(void** addr, size_t length, int prot, int flags, int fd,
|
| +int WRAP(mmap)(void** addr,
|
| + size_t length,
|
| + int prot,
|
| + int flags,
|
| + int fd,
|
| off_t offset) {
|
| if (flags & MAP_ANONYMOUS)
|
| return REAL(mmap)(addr, length, prot, flags, fd, offset);
|
| @@ -276,13 +276,13 @@ int WRAP(open_resource)(const char* file, int* fd) {
|
| return 0;
|
| }
|
|
|
| -int WRAP(poll)(struct pollfd *fds, nfds_t nfds, int timeout, int* count) {
|
| +int WRAP(poll)(struct pollfd* fds, nfds_t nfds, int timeout, int* count) {
|
| *count = ki_poll(fds, nfds, timeout);
|
| RTN_ERRNO_IF(*count < 0);
|
| return 0;
|
| }
|
|
|
| -int WRAP(read)(int fd, void *buf, size_t count, size_t *nread) {
|
| +int WRAP(read)(int fd, void* buf, size_t count, size_t* nread) {
|
| ssize_t signed_nread = ki_read(fd, buf, count);
|
| *nread = static_cast<size_t>(signed_nread);
|
| RTN_ERRNO_IF(signed_nread < 0);
|
| @@ -300,14 +300,18 @@ int WRAP(seek)(int fd, off_t offset, int whence, off_t* new_offset) {
|
| return 0;
|
| }
|
|
|
| -int WRAP(select)(int nfds, fd_set* readfds, fd_set* writefds,
|
| - fd_set* exceptfds, struct timeval* timeout, int* count) {
|
| +int WRAP(select)(int nfds,
|
| + fd_set* readfds,
|
| + fd_set* writefds,
|
| + fd_set* exceptfds,
|
| + struct timeval* timeout,
|
| + int* count) {
|
| *count = ki_select(nfds, readfds, writefds, exceptfds, timeout);
|
| RTN_ERRNO_IF(*count < 0);
|
| return 0;
|
| }
|
|
|
| -int WRAP(stat)(const char *pathname, struct nacl_abi_stat *nacl_buf) {
|
| +int WRAP(stat)(const char* pathname, struct nacl_abi_stat* nacl_buf) {
|
| struct stat buf;
|
| memset(&buf, 0, sizeof(struct stat));
|
| int res = ki_stat(pathname, &buf);
|
| @@ -323,8 +327,10 @@ int WRAP(write)(int fd, const void* buf, size_t count, size_t* nwrote) {
|
| return 0;
|
| }
|
|
|
| -int WRAP(accept)(int sockfd, struct sockaddr* addr,
|
| - socklen_t* addrlen, int *sd) {
|
| +int WRAP(accept)(int sockfd,
|
| + struct sockaddr* addr,
|
| + socklen_t* addrlen,
|
| + int* sd) {
|
| *sd = ki_accept(sockfd, addr, addrlen);
|
| RTN_ERRNO_IF(*sd < 0);
|
| return 0;
|
| @@ -350,13 +356,19 @@ int WRAP(getsockname)(int sockfd, struct sockaddr* addr, socklen_t* addrlen) {
|
| return 0;
|
| }
|
|
|
| -int WRAP(getsockopt)(int sockfd, int level, int optname, void* optval,
|
| +int WRAP(getsockopt)(int sockfd,
|
| + int level,
|
| + int optname,
|
| + void* optval,
|
| socklen_t* optlen) {
|
| RTN_ERRNO_IF(ki_getsockopt(sockfd, level, optname, optval, optlen) < 0);
|
| return 0;
|
| }
|
|
|
| -int WRAP(setsockopt)(int sockfd, int level, int optname, const void* optval,
|
| +int WRAP(setsockopt)(int sockfd,
|
| + int level,
|
| + int optname,
|
| + const void* optval,
|
| socklen_t optlen) {
|
| RTN_ERRNO_IF(ki_setsockopt(sockfd, level, optname, optval, optlen) < 0);
|
| return 0;
|
| @@ -374,15 +386,20 @@ int WRAP(recv)(int sockfd, void* buf, size_t len, int flags, int* count) {
|
| return 0;
|
| }
|
|
|
| -int WRAP(recvfrom)(int sockfd, void* buf, size_t len, int flags,
|
| - struct sockaddr* addr, socklen_t* addrlen, int* count) {
|
| +int WRAP(recvfrom)(int sockfd,
|
| + void* buf,
|
| + size_t len,
|
| + int flags,
|
| + struct sockaddr* addr,
|
| + socklen_t* addrlen,
|
| + int* count) {
|
| ssize_t signed_nread = ki_recvfrom(sockfd, buf, len, flags, addr, addrlen);
|
| *count = static_cast<int>(signed_nread);
|
| RTN_ERRNO_IF(signed_nread < 0);
|
| return 0;
|
| }
|
|
|
| -int WRAP(recvmsg)(int sockfd, struct msghdr* msg, int flags, int *count) {
|
| +int WRAP(recvmsg)(int sockfd, struct msghdr* msg, int flags, int* count) {
|
| ssize_t signed_nread = ki_recvmsg(sockfd, msg, flags);
|
| *count = static_cast<int>(signed_nread);
|
| RTN_ERRNO_IF(signed_nread < 0);
|
| @@ -397,8 +414,12 @@ ssize_t WRAP(send)(int sockfd, const void* buf, size_t len, int flags,
|
| return 0;
|
| }
|
|
|
| -ssize_t WRAP(sendto)(int sockfd, const void* buf, size_t len, int flags,
|
| - const struct sockaddr* addr, socklen_t addrlen,
|
| +ssize_t WRAP(sendto)(int sockfd,
|
| + const void* buf,
|
| + size_t len,
|
| + int flags,
|
| + const struct sockaddr* addr,
|
| + socklen_t addrlen,
|
| int* count) {
|
| ssize_t signed_nread = ki_sendto(sockfd, buf, len, flags, addr, addrlen);
|
| *count = static_cast<int>(signed_nread);
|
| @@ -406,7 +427,9 @@ ssize_t WRAP(sendto)(int sockfd, const void* buf, size_t len, int flags,
|
| return 0;
|
| }
|
|
|
| -ssize_t WRAP(sendmsg)(int sockfd, const struct msghdr* msg, int flags,
|
| +ssize_t WRAP(sendmsg)(int sockfd,
|
| + const struct msghdr* msg,
|
| + int flags,
|
| int* count) {
|
| ssize_t signed_nread = ki_sendmsg(sockfd, msg, flags);
|
| *count = static_cast<int>(signed_nread);
|
| @@ -439,7 +462,7 @@ static void assign_real_pointers() {
|
| }
|
|
|
| #define CHECK_REAL(func) \
|
| - if (!REAL(func)) \
|
| + if (!REAL(func)) \
|
| assign_real_pointers();
|
|
|
| // "real" functions, i.e. the unwrapped original functions.
|
| @@ -485,8 +508,8 @@ int _real_getdents(int fd, void* buf, size_t count, size_t* nread) {
|
| d->d_ino = nacl_d->nacl_abi_d_ino;
|
| d->d_off = nacl_d->nacl_abi_d_off;
|
| d->d_reclen = nacl_d->nacl_abi_d_reclen + d_name_shift;
|
| - size_t d_name_len = nacl_d->nacl_abi_d_reclen -
|
| - offsetof(nacl_abi_dirent, nacl_abi_d_name);
|
| + size_t d_name_len =
|
| + nacl_d->nacl_abi_d_reclen - offsetof(nacl_abi_dirent, nacl_abi_d_name);
|
| memcpy(d->d_name, nacl_d->nacl_abi_d_name, d_name_len);
|
|
|
| offset += d->d_reclen;
|
| @@ -507,7 +530,11 @@ int _real_mkdir(const char* pathname, mode_t mode) {
|
| return REAL(mkdir)(pathname, mode);
|
| }
|
|
|
| -int _real_mmap(void** addr, size_t length, int prot, int flags, int fd,
|
| +int _real_mmap(void** addr,
|
| + size_t length,
|
| + int prot,
|
| + int flags,
|
| + int fd,
|
| off_t offset) {
|
| CHECK_REAL(mmap);
|
| return REAL(mmap)(addr, length, prot, flags, fd, offset);
|
| @@ -528,7 +555,7 @@ int _real_open_resource(const char* file, int* fd) {
|
| return REAL(open_resource)(file, fd);
|
| }
|
|
|
| -int _real_read(int fd, void *buf, size_t count, size_t *nread) {
|
| +int _real_read(int fd, void* buf, size_t count, size_t* nread) {
|
| CHECK_REAL(read);
|
| return REAL(read)(fd, buf, count, nread);
|
| }
|
| @@ -538,7 +565,7 @@ int _real_rmdir(const char* pathname) {
|
| return REAL(rmdir)(pathname);
|
| }
|
|
|
| -int _real_write(int fd, const void *buf, size_t count, size_t *nwrote) {
|
| +int _real_write(int fd, const void* buf, size_t count, size_t* nwrote) {
|
| CHECK_REAL(write);
|
| return REAL(write)(fd, buf, count, nwrote);
|
| }
|
|
|