Add missing aliases for off64_t functions in 64-bit land.

See the comment in SYSCALLS.TXT for an explanation.

Change-Id: I33d4056e84160c3cca74b7b588e9924a569753ed
This commit is contained in:
Elliott Hughes 2013-10-17 16:56:40 -07:00
parent 5b19160437
commit a6519d6306
4 changed files with 27 additions and 10 deletions

View File

@ -104,9 +104,6 @@ ssize_t pwrite64(int, void*, size_t, off64_t) all
int __open:open(const char*, int, mode_t) all
int __openat:openat(int, const char*, int, mode_t) all
int close(int) all
off_t lseek(int, off_t, int) arm,x86,mips
off_t lseek|lseek64(int, off_t, int) x86_64
int __llseek:_llseek(int, unsigned long, unsigned long, off64_t*, int) arm,x86,mips
pid_t getpid() all
void* mmap(void*, size_t, int, int, int, long) x86_64
void* __mmap2:mmap2(void*, size_t, int, int, int, long) arm,x86,mips
@ -133,8 +130,6 @@ int pipe2(int*, int) all
int dup2(int, int) all
int select:_newselect(int, struct fd_set*, struct fd_set*, struct fd_set*, struct timeval*) arm,x86,mips
int select(int, struct fd_set*, struct fd_set*, struct fd_set*, struct timeval*) x86_64
int ftruncate(int, off_t) all
int ftruncate64(int, off64_t) arm,x86,mips
int getdents:getdents64(unsigned int, struct dirent*, unsigned int) all
int fsync(int) all
int fdatasync(int) all
@ -144,8 +139,6 @@ void sync(void) all
int __fcntl64:fcntl64(int, int, void*) arm,x86,mips
int __fstatfs64:fstatfs64(int, size_t, struct statfs*) arm,x86,mips
int fstatfs(int, struct statfs*) x86_64
ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count) all
ssize_t sendfile64(int out_fd, int in_fd, off64_t* offset, size_t count) arm,x86,mips
int fstatat:fstatat64(int dirfd, const char* path, struct stat* buf, int flags) arm,x86,mips
int mkdirat(int dirfd, const char* pathname, mode_t mode) all
int fchownat(int dirfd, const char* path, uid_t owner, gid_t group, int flags) all
@ -156,6 +149,23 @@ ssize_t fgetxattr(int, const char*, void*, size_t) all
ssize_t flistxattr(int, char*, size_t) all
int fremovexattr(int, const char*) all
# Paired off_t/off64_t system calls. On 64-bit systems,
# sizeof(off_t) == sizeof(off64_t), so there we emit two symbols that are
# aliases. On 32-bit systems, we have two different system calls.
# That means that every system call in this section should take three lines.
off_t lseek(int, off_t, int) arm,mips,x86
int __llseek:_llseek(int, unsigned long, unsigned long, off64_t*, int) arm,mips,x86
off_t lseek|lseek64(int, off_t, int) x86_64
int ftruncate(int, off_t) arm,mips,x86
int ftruncate64(int, off64_t) arm,mips,x86
int ftruncate|ftruncate64(int, off_t) x86_64
ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count) arm,mips,x86
ssize_t sendfile64(int out_fd, int in_fd, off64_t* offset, size_t count) arm,mips,x86
ssize_t sendfile|sendfile64(int out_fd, int in_fd, off_t* offset, size_t count) x86_64
int truncate(const char*, off_t) arm,mips,x86
int truncate64(const char*, off64_t) arm,mips,x86
int truncate|truncate64(const char*, off_t) x86_64
# file system
int link(const char*, const char*) all
int unlink(const char*) all
@ -184,8 +194,6 @@ int access(const char*, int) all
int faccessat(int, const char*, int, int) all
int symlink(const char*, const char*) all
int fchdir(int) all
int truncate(const char*, off_t) all
int truncate64(const char*, off64_t) arm,x86,mips
int setxattr(const char*, const char*, const void*, size_t, int) all
int lsetxattr(const char*, const char*, const void*, size_t, int) all
ssize_t getxattr(const char*, const char*, void*, size_t) all
@ -311,7 +319,7 @@ int poll(struct pollfd*, unsigned int, long) all
int eventfd:eventfd2(unsigned int, int) all
# ARM-specific ARM_NR_BASE == 0x0f0000 == 983040
# ARM-specific
int __set_tls:__ARM_NR_set_tls(void*) arm
int cacheflush:__ARM_NR_cacheflush(long start, long end, long flags) arm

View File

@ -16,3 +16,6 @@ ENTRY(ftruncate)
1:
ret
END(ftruncate)
.globl _C_LABEL(ftruncate64)
.equ _C_LABEL(ftruncate64), _C_LABEL(ftruncate)

View File

@ -17,3 +17,6 @@ ENTRY(sendfile)
1:
ret
END(sendfile)
.globl _C_LABEL(sendfile64)
.equ _C_LABEL(sendfile64), _C_LABEL(sendfile)

View File

@ -16,3 +16,6 @@ ENTRY(truncate)
1:
ret
END(truncate)
.globl _C_LABEL(truncate64)
.equ _C_LABEL(truncate64), _C_LABEL(truncate)