endif # arm
+ifeq ($(TARGET_ARCH), arm64)
+#TODO: Replace C stubs with optimised assembly
+libc_common_src_files += \
+ bionic/memchr.c \
+ bionic/memcmp.c \
+ bionic/memcpy.c \
+ bionic/memmove.c \
+ bionic/memrchr.c \
+ bionic/memset.c \
+ bionic/strchr.cpp \
+ bionic/strnlen.c \
+ string/bcopy.c \
+ string/index.c \
+ string/memcmp16.c \
+ string/strcat.c \
+ string/strcmp.c \
+ string/strcpy.c \
+ string/strlcat.c \
+ string/strlcpy.c \
+ string/strlen.c \
+ string/strncat.c \
+ string/strncmp.c \
+ string/strncpy.c \
+ string/strrchr.c \
+ upstream-freebsd/lib/libc/string/wcscat.c \
+ upstream-freebsd/lib/libc/string/wcschr.c \
+ upstream-freebsd/lib/libc/string/wcscmp.c \
+ upstream-freebsd/lib/libc/string/wcscpy.c \
+ upstream-freebsd/lib/libc/string/wcslen.c \
+ upstream-freebsd/lib/libc/string/wcsrchr.c \
+ upstream-freebsd/lib/libc/string/wmemcmp.c \
+
+endif # arm64
+
ifeq ($(TARGET_ARCH),mips)
libc_common_src_files += \
bionic/memchr.c \
endif # x86_64
-ifeq ($(TARGET_ARCH), aarch64)
-#TODO: Replace C stubs with optimised assembly
-libc_common_src_files += \
- bionic/memchr.c \
- bionic/memcmp.c \
- bionic/memcpy.c \
- bionic/memmove.c \
- bionic/memrchr.c \
- bionic/memset.c \
- bionic/strchr.cpp \
- bionic/strnlen.c \
- string/bcopy.c \
- string/index.c \
- string/memcmp16.c \
- string/strcat.c \
- string/strcmp.c \
- string/strcpy.c \
- string/strlcat.c \
- string/strlcpy.c \
- string/strlen.c \
- string/strncat.c \
- string/strncmp.c \
- string/strncpy.c \
- string/strrchr.c \
- upstream-freebsd/lib/libc/string/wcscat.c \
- upstream-freebsd/lib/libc/string/wcschr.c \
- upstream-freebsd/lib/libc/string/wcscmp.c \
- upstream-freebsd/lib/libc/string/wcscpy.c \
- upstream-freebsd/lib/libc/string/wcslen.c \
- upstream-freebsd/lib/libc/string/wcsrchr.c \
- upstream-freebsd/lib/libc/string/wmemcmp.c \
-
-endif # aarch64
-
ifeq ($(TARGET_ARCH),arm)
ifeq ($(strip $(TARGET_CPU_VARIANT)),)
$(warning TARGET_ARCH is arm, but TARGET_CPU_VARIANT is not defined)
# which are needed to build all other objects (shared/static libs and
# executables)
# ==========================================================================
-# AArch64, ARM, MIPS, and x86 all need crtbegin_so/crtend_so.
+# ARM, Arm64, MIPS, and x86 all need crtbegin_so/crtend_so.
#
# For x86, the .init section must point to a function that calls all
# entries in the .ctors section. (on ARM this is done through the
libc_crt_target_crtbegin_file := $(LOCAL_PATH)/arch-common/bionic/crtbegin.c
libc_crt_target_crtbegin_so_file := $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c
-ifeq ($(TARGET_ARCH),aarch64)
+ifeq ($(TARGET_ARCH),arm)
libc_crt_target_so_cflags :=
- libc_crt_target_crtbegin_file := $(LOCAL_PATH)/arch-$(TARGET_ARCH)/bionic/crtbegin.c
endif
-ifeq ($(TARGET_ARCH),arm)
+ifeq ($(TARGET_ARCH),arm64)
libc_crt_target_so_cflags :=
+ libc_crt_target_crtbegin_file := $(LOCAL_PATH)/arch-$(TARGET_ARCH)/bionic/crtbegin.c
endif
ifeq ($(TARGET_ARCH),mips)
libc_crt_target_so_cflags := -fPIC
#
# where:
# arch_list ::= "all" | arch+
-# arch ::= "aarch64" | "arm" | "mips" | "x86" | "x86_64"
+# arch ::= "arm" | "arm64" | "mips" | "x86" | "x86_64"
#
# Note:
# - syscall_name corresponds to the name of the syscall, which may differ from
int execve(const char*, char* const*, char* const*) all
uid_t getuid:getuid32() arm,x86
-uid_t getuid:getuid() aarch64,mips,x86_64
+uid_t getuid:getuid() arm64,mips,x86_64
gid_t getgid:getgid32() arm,x86
-gid_t getgid:getgid() aarch64,mips,x86_64
+gid_t getgid:getgid() arm64,mips,x86_64
uid_t geteuid:geteuid32() arm,x86
-uid_t geteuid:geteuid() aarch64,mips,x86_64
+uid_t geteuid:geteuid() arm64,mips,x86_64
gid_t getegid:getegid32() arm,x86
-gid_t getegid:getegid() aarch64,mips,x86_64
+gid_t getegid:getegid() arm64,mips,x86_64
uid_t getresuid:getresuid32(uid_t* ruid, uid_t* euid, uid_t* suid) arm,x86
-uid_t getresuid:getresuid(uid_t* ruid, uid_t* euid, uid_t* suid) aarch64,mips,x86_64
+uid_t getresuid:getresuid(uid_t* ruid, uid_t* euid, uid_t* suid) arm64,mips,x86_64
gid_t getresgid:getresgid32(gid_t* rgid, gid_t* egid, gid_t* sgid) arm,x86
-gid_t getresgid:getresgid(gid_t* rgid, gid_t* egid, gid_t* sgid) aarch64,mips,x86_64
+gid_t getresgid:getresgid(gid_t* rgid, gid_t* egid, gid_t* sgid) arm64,mips,x86_64
pid_t gettid() all
ssize_t readahead(int, off64_t, size_t) all
int getgroups:getgroups32(int, gid_t*) arm,x86
-int getgroups:getgroups(int, gid_t*) aarch64,mips,x86_64
+int getgroups:getgroups(int, gid_t*) arm64,mips,x86_64
pid_t getpgid(pid_t) all
pid_t getppid() all
pid_t getsid(pid_t) all
pid_t setsid() all
int setgid:setgid32(gid_t) arm,x86
-int setgid:setgid(gid_t) aarch64,mips,x86_64
+int setgid:setgid(gid_t) arm64,mips,x86_64
int setuid:setuid32(uid_t) arm,x86
-int setuid:setuid(uid_t) aarch64,mips,x86_64
+int setuid:setuid(uid_t) arm64,mips,x86_64
int setreuid:setreuid32(uid_t, uid_t) arm,x86
-int setreuid:setreuid(uid_t, uid_t) aarch64,mips,x86_64
+int setreuid:setreuid(uid_t, uid_t) arm64,mips,x86_64
int setresuid:setresuid32(uid_t, uid_t, uid_t) arm,x86
-int setresuid:setresuid(uid_t, uid_t, uid_t) aarch64,mips,x86_64
+int setresuid:setresuid(uid_t, uid_t, uid_t) arm64,mips,x86_64
int setresgid:setresgid32(gid_t, gid_t, gid_t) arm,x86
-int setresgid:setresgid(gid_t, gid_t, gid_t) aarch64,mips,x86_64
+int setresgid:setresgid(gid_t, gid_t, gid_t) arm64,mips,x86_64
void* __brk:brk(void*) all
int kill(pid_t, int) all
int tkill(pid_t tid, int sig) all
# On 32-bit systems we use prlimit64 to implement the rlimit64 functions.
int getrlimit:ugetrlimit(int, struct rlimit*) arm,x86
int getrlimit(int, struct rlimit*) mips
-int getrlimit|getrlimit64(int, struct rlimit*) aarch64,x86_64
+int getrlimit|getrlimit64(int, struct rlimit*) arm64,x86_64
int setrlimit(int, const struct rlimit*) arm,mips,x86
-int setrlimit|setrlimit64(int, const struct rlimit*) aarch64,x86_64
-int prlimit64|prlimit(pid_t, int, struct rlimit64*, const struct rlimit64*) aarch64,x86_64
+int setrlimit|setrlimit64(int, const struct rlimit*) arm64,x86_64
+int prlimit64|prlimit(pid_t, int, struct rlimit64*, const struct rlimit64*) arm64,x86_64
int prlimit64(pid_t, int, struct rlimit64*, const struct rlimit64*) arm,mips,x86
int setgroups:setgroups32(int, const gid_t*) arm,x86
-int setgroups:setgroups(int, const gid_t*) aarch64,mips,x86_64
+int setgroups:setgroups(int, const gid_t*) arm64,mips,x86_64
int setpgid(pid_t, pid_t) all
pid_t vfork(void) arm
int setregid:setregid32(gid_t, gid_t) arm,x86
-int setregid:setregid(gid_t, gid_t) aarch64,mips,x86_64
+int setregid:setregid(gid_t, gid_t) arm64,mips,x86_64
int chroot(const char*) all
# IMPORTANT: Even though <sys/prctl.h> declares prctl(int, ...), the syscall stub must take 6 arguments
# to match the kernel implementation.
ssize_t read(int, void*, size_t) all
ssize_t write(int, const void*, size_t) all
ssize_t pread64(int, void*, size_t, off64_t) arm,mips,x86
-ssize_t pread64|pread(int, void*, size_t, off_t) aarch64,x86_64
+ssize_t pread64|pread(int, void*, size_t, off_t) arm64,x86_64
ssize_t pwrite64(int, void*, size_t, off64_t) arm,mips,x86
-ssize_t pwrite64|pwrite(int, void*, size_t, off_t) aarch64,x86_64
+ssize_t pwrite64|pwrite(int, void*, size_t, off_t) arm64,x86_64
int close(int) all
pid_t getpid() all
int munmap(void*, size_t) all
int readv(int, const struct iovec*, int) all
int writev(int, const struct iovec*, int) all
int __fcntl64:fcntl64(int, int, void*) arm,mips,x86
-int fcntl(int, int, void*) aarch64,x86_64
+int fcntl(int, int, void*) arm64,x86_64
int flock(int, int) all
int fchmod(int, mode_t) all
int dup(int) all
int fsync(int) all
int fdatasync(int) all
int fchown:fchown32(int, uid_t, gid_t) arm,x86
-int fchown:fchown(int, uid_t, gid_t) aarch64,mips,x86_64
+int fchown:fchown(int, uid_t, gid_t) arm64,mips,x86_64
void sync(void) all
int __fstatfs64:fstatfs64(int, size_t, struct statfs*) arm,mips,x86
-int fstatfs(int, struct statfs*) aarch64,x86_64
+int fstatfs(int, struct statfs*) arm64,x86_64
int fsetxattr(int, const char*, const void*, size_t, int) all
ssize_t fgetxattr(int, const char*, void*, size_t) all
ssize_t flistxattr(int, char*, size_t) all
int fchmodat(int, const char*, mode_t, int) all
int fchownat(int, const char*, uid_t, gid_t, int) all
int fstatat:fstatat64(int, const char*, struct stat*, int) arm,mips,x86
-int fstatat:newfstatat(int, const char*, struct stat*, int) aarch64,x86_64
+int fstatat:newfstatat(int, const char*, struct stat*, int) arm64,x86_64
int linkat(int, const char*, int, const char*, int) all
int mkdirat(int, const char*, mode_t) all
int mknodat(int, const char*, mode_t, dev_t) all
# 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) aarch64,x86_64
+off_t lseek|lseek64(int, off_t, int) arm64,x86_64
int ftruncate(int, off_t) arm,mips,x86
int ftruncate64(int, off64_t) arm,mips,x86
-int ftruncate|ftruncate64(int, off_t) aarch64,x86_64
+int ftruncate|ftruncate64(int, off_t) arm64,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) aarch64,x86_64
+ssize_t sendfile|sendfile64(int out_fd, int in_fd, off_t* offset, size_t count) arm64,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) aarch64,x86_64
+int truncate|truncate64(const char*, off_t) arm64,x86_64
# (mmap only gets two lines because we only used the 64-bit variant on 32-bit systems.)
void* __mmap2:mmap2(void*, size_t, int, int, int, long) arm,mips,x86
-void* mmap|mmap64(void*, size_t, int, int, int, off_t) aarch64,x86_64
+void* mmap|mmap64(void*, size_t, int, int, int, off_t) arm64,x86_64
# file system
int chdir(const char*) all
int mount(const char*, const char*, const char*, unsigned long, const void*) all
int umount2(const char*, int) all
int fstat:fstat64(int, struct stat*) arm,mips,x86
-int fstat(int, struct stat*) aarch64,x86_64
+int fstat(int, struct stat*) arm64,x86_64
int __getcwd:getcwd(char* buf, size_t size) all
int fchdir(int) all
int setxattr(const char*, const char*, const void*, size_t, int) all
int removexattr(const char*, const char*) all
int lremovexattr(const char*, const char*) all
int __statfs64:statfs64(const char*, size_t, struct statfs*) arm,mips,x86
-int statfs(const char*, struct statfs*) aarch64,x86_64
+int statfs(const char*, struct statfs*) arm64,x86_64
int swapon(const char*, int) all
int swapoff(const char*) all
int signalfd4(int, const sigset_t*, size_t, int) all
# sockets
-int socket(int, int, int) aarch64,arm,mips,x86_64
-int socketpair(int, int, int, int*) aarch64,arm,mips,x86_64
-int bind(int, struct sockaddr*, int) aarch64,arm,mips,x86_64
-int connect(int, struct sockaddr*, socklen_t) aarch64,arm,mips,x86_64
-int listen(int, int) aarch64,arm,mips,x86_64
-int accept(int, struct sockaddr*, socklen_t*) aarch64,arm,mips,x86_64
-int getsockname(int, struct sockaddr*, socklen_t*) aarch64,arm,mips,x86_64
-int getpeername(int, struct sockaddr*, socklen_t*) aarch64,arm,mips,x86_64
-int sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t) aarch64,arm,mips,x86_64
-int recvfrom(int, void*, size_t, unsigned int, struct sockaddr*, socklen_t*) aarch64,arm,mips,x86_64
-int shutdown(int, int) aarch64,arm,mips,x86_64
-int setsockopt(int, int, int, const void*, socklen_t) aarch64,arm,mips,x86_64
-int getsockopt(int, int, int, void*, socklen_t*) aarch64,arm,mips,x86_64
-int sendmsg(int, const struct msghdr*, unsigned int) aarch64,arm,mips,x86_64
-int recvmsg(int, struct msghdr*, unsigned int) aarch64,arm,mips,x86_64
+int socket(int, int, int) arm,arm64,mips,x86_64
+int socketpair(int, int, int, int*) arm,arm64,mips,x86_64
+int bind(int, struct sockaddr*, int) arm,arm64,mips,x86_64
+int connect(int, struct sockaddr*, socklen_t) arm,arm64,mips,x86_64
+int listen(int, int) arm,arm64,mips,x86_64
+int accept(int, struct sockaddr*, socklen_t*) arm,arm64,mips,x86_64
+int getsockname(int, struct sockaddr*, socklen_t*) arm,arm64,mips,x86_64
+int getpeername(int, struct sockaddr*, socklen_t*) arm,arm64,mips,x86_64
+int sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t) arm,arm64,mips,x86_64
+int recvfrom(int, void*, size_t, unsigned int, struct sockaddr*, socklen_t*) arm,arm64,mips,x86_64
+int shutdown(int, int) arm,arm64,mips,x86_64
+int setsockopt(int, int, int, const void*, socklen_t) arm,arm64,mips,x86_64
+int getsockopt(int, int, int, void*, socklen_t*) arm,arm64,mips,x86_64
+int sendmsg(int, const struct msghdr*, unsigned int) arm,arm64,mips,x86_64
+int recvmsg(int, struct msghdr*, unsigned int) arm,arm64,mips,x86_64
# sockets for x86. These are done as an "indexed" call to socketcall syscall.
int socket:socketcall:1(int, int, int) x86
+++ /dev/null
-_LIBC_ARCH_COMMON_SRC_FILES := \
- arch-aarch64/bionic/__bionic_clone.S \
- arch-aarch64/bionic/bzero_aarch64.c \
- arch-aarch64/bionic/cacheflush_aarch64.c \
- arch-aarch64/bionic/_exit_with_stack_teardown.S \
- arch-aarch64/bionic/futex_aarch64.S \
- arch-aarch64/bionic/__get_sp.S \
- arch-aarch64/bionic/__rt_sigreturn.S \
- arch-aarch64/bionic/_setjmp.S \
- arch-aarch64/bionic/setjmp.S \
- arch-aarch64/bionic/__set_tls.c \
- arch-aarch64/bionic/sigsetjmp.S \
- arch-aarch64/bionic/syscall.S \
- arch-aarch64/bionic/vfork.S \
-
-_LIBC_ARCH_STATIC_SRC_FILES := \
- bionic/dl_iterate_phdr_static.c \
-
-_LIBC_ARCH_DYNAMIC_SRC_FILES :=
+++ /dev/null
-# Generated by gensyscalls.py. Do not edit.
-syscall_src :=
-syscall_src += arch-aarch64/syscalls/__brk.S
-syscall_src += arch-aarch64/syscalls/__epoll_pwait.S
-syscall_src += arch-aarch64/syscalls/__exit.S
-syscall_src += arch-aarch64/syscalls/__getcpu.S
-syscall_src += arch-aarch64/syscalls/__getcwd.S
-syscall_src += arch-aarch64/syscalls/__getpriority.S
-syscall_src += arch-aarch64/syscalls/__ioctl.S
-syscall_src += arch-aarch64/syscalls/__openat.S
-syscall_src += arch-aarch64/syscalls/__ppoll.S
-syscall_src += arch-aarch64/syscalls/__pselect6.S
-syscall_src += arch-aarch64/syscalls/__ptrace.S
-syscall_src += arch-aarch64/syscalls/__reboot.S
-syscall_src += arch-aarch64/syscalls/__rt_sigaction.S
-syscall_src += arch-aarch64/syscalls/__rt_sigpending.S
-syscall_src += arch-aarch64/syscalls/__rt_sigprocmask.S
-syscall_src += arch-aarch64/syscalls/__rt_sigsuspend.S
-syscall_src += arch-aarch64/syscalls/__rt_sigtimedwait.S
-syscall_src += arch-aarch64/syscalls/__sched_getaffinity.S
-syscall_src += arch-aarch64/syscalls/__set_tid_address.S
-syscall_src += arch-aarch64/syscalls/__syslog.S
-syscall_src += arch-aarch64/syscalls/__timer_create.S
-syscall_src += arch-aarch64/syscalls/__timer_delete.S
-syscall_src += arch-aarch64/syscalls/__timer_getoverrun.S
-syscall_src += arch-aarch64/syscalls/__timer_gettime.S
-syscall_src += arch-aarch64/syscalls/__timer_settime.S
-syscall_src += arch-aarch64/syscalls/__waitid.S
-syscall_src += arch-aarch64/syscalls/_exit.S
-syscall_src += arch-aarch64/syscalls/accept.S
-syscall_src += arch-aarch64/syscalls/acct.S
-syscall_src += arch-aarch64/syscalls/bind.S
-syscall_src += arch-aarch64/syscalls/capget.S
-syscall_src += arch-aarch64/syscalls/capset.S
-syscall_src += arch-aarch64/syscalls/chdir.S
-syscall_src += arch-aarch64/syscalls/chroot.S
-syscall_src += arch-aarch64/syscalls/clock_getres.S
-syscall_src += arch-aarch64/syscalls/clock_gettime.S
-syscall_src += arch-aarch64/syscalls/clock_nanosleep.S
-syscall_src += arch-aarch64/syscalls/clock_settime.S
-syscall_src += arch-aarch64/syscalls/close.S
-syscall_src += arch-aarch64/syscalls/connect.S
-syscall_src += arch-aarch64/syscalls/delete_module.S
-syscall_src += arch-aarch64/syscalls/dup.S
-syscall_src += arch-aarch64/syscalls/dup3.S
-syscall_src += arch-aarch64/syscalls/epoll_create1.S
-syscall_src += arch-aarch64/syscalls/epoll_ctl.S
-syscall_src += arch-aarch64/syscalls/eventfd.S
-syscall_src += arch-aarch64/syscalls/execve.S
-syscall_src += arch-aarch64/syscalls/faccessat.S
-syscall_src += arch-aarch64/syscalls/fchdir.S
-syscall_src += arch-aarch64/syscalls/fchmod.S
-syscall_src += arch-aarch64/syscalls/fchmodat.S
-syscall_src += arch-aarch64/syscalls/fchown.S
-syscall_src += arch-aarch64/syscalls/fchownat.S
-syscall_src += arch-aarch64/syscalls/fcntl.S
-syscall_src += arch-aarch64/syscalls/fdatasync.S
-syscall_src += arch-aarch64/syscalls/fgetxattr.S
-syscall_src += arch-aarch64/syscalls/flistxattr.S
-syscall_src += arch-aarch64/syscalls/flock.S
-syscall_src += arch-aarch64/syscalls/fremovexattr.S
-syscall_src += arch-aarch64/syscalls/fsetxattr.S
-syscall_src += arch-aarch64/syscalls/fstat.S
-syscall_src += arch-aarch64/syscalls/fstatat.S
-syscall_src += arch-aarch64/syscalls/fstatfs.S
-syscall_src += arch-aarch64/syscalls/fsync.S
-syscall_src += arch-aarch64/syscalls/ftruncate.S
-syscall_src += arch-aarch64/syscalls/futex.S
-syscall_src += arch-aarch64/syscalls/getdents.S
-syscall_src += arch-aarch64/syscalls/getegid.S
-syscall_src += arch-aarch64/syscalls/geteuid.S
-syscall_src += arch-aarch64/syscalls/getgid.S
-syscall_src += arch-aarch64/syscalls/getgroups.S
-syscall_src += arch-aarch64/syscalls/getitimer.S
-syscall_src += arch-aarch64/syscalls/getpeername.S
-syscall_src += arch-aarch64/syscalls/getpgid.S
-syscall_src += arch-aarch64/syscalls/getpid.S
-syscall_src += arch-aarch64/syscalls/getppid.S
-syscall_src += arch-aarch64/syscalls/getresgid.S
-syscall_src += arch-aarch64/syscalls/getresuid.S
-syscall_src += arch-aarch64/syscalls/getrlimit.S
-syscall_src += arch-aarch64/syscalls/getrusage.S
-syscall_src += arch-aarch64/syscalls/getsid.S
-syscall_src += arch-aarch64/syscalls/getsockname.S
-syscall_src += arch-aarch64/syscalls/getsockopt.S
-syscall_src += arch-aarch64/syscalls/gettid.S
-syscall_src += arch-aarch64/syscalls/gettimeofday.S
-syscall_src += arch-aarch64/syscalls/getuid.S
-syscall_src += arch-aarch64/syscalls/getxattr.S
-syscall_src += arch-aarch64/syscalls/init_module.S
-syscall_src += arch-aarch64/syscalls/inotify_add_watch.S
-syscall_src += arch-aarch64/syscalls/inotify_init1.S
-syscall_src += arch-aarch64/syscalls/inotify_rm_watch.S
-syscall_src += arch-aarch64/syscalls/ioprio_get.S
-syscall_src += arch-aarch64/syscalls/ioprio_set.S
-syscall_src += arch-aarch64/syscalls/kill.S
-syscall_src += arch-aarch64/syscalls/klogctl.S
-syscall_src += arch-aarch64/syscalls/lgetxattr.S
-syscall_src += arch-aarch64/syscalls/linkat.S
-syscall_src += arch-aarch64/syscalls/listen.S
-syscall_src += arch-aarch64/syscalls/listxattr.S
-syscall_src += arch-aarch64/syscalls/llistxattr.S
-syscall_src += arch-aarch64/syscalls/lremovexattr.S
-syscall_src += arch-aarch64/syscalls/lseek.S
-syscall_src += arch-aarch64/syscalls/lsetxattr.S
-syscall_src += arch-aarch64/syscalls/madvise.S
-syscall_src += arch-aarch64/syscalls/mincore.S
-syscall_src += arch-aarch64/syscalls/mkdirat.S
-syscall_src += arch-aarch64/syscalls/mknodat.S
-syscall_src += arch-aarch64/syscalls/mlock.S
-syscall_src += arch-aarch64/syscalls/mlockall.S
-syscall_src += arch-aarch64/syscalls/mmap.S
-syscall_src += arch-aarch64/syscalls/mount.S
-syscall_src += arch-aarch64/syscalls/mprotect.S
-syscall_src += arch-aarch64/syscalls/mremap.S
-syscall_src += arch-aarch64/syscalls/msync.S
-syscall_src += arch-aarch64/syscalls/munlock.S
-syscall_src += arch-aarch64/syscalls/munlockall.S
-syscall_src += arch-aarch64/syscalls/munmap.S
-syscall_src += arch-aarch64/syscalls/nanosleep.S
-syscall_src += arch-aarch64/syscalls/perf_event_open.S
-syscall_src += arch-aarch64/syscalls/personality.S
-syscall_src += arch-aarch64/syscalls/pipe2.S
-syscall_src += arch-aarch64/syscalls/prctl.S
-syscall_src += arch-aarch64/syscalls/pread64.S
-syscall_src += arch-aarch64/syscalls/prlimit64.S
-syscall_src += arch-aarch64/syscalls/pwrite64.S
-syscall_src += arch-aarch64/syscalls/read.S
-syscall_src += arch-aarch64/syscalls/readahead.S
-syscall_src += arch-aarch64/syscalls/readlinkat.S
-syscall_src += arch-aarch64/syscalls/readv.S
-syscall_src += arch-aarch64/syscalls/recvfrom.S
-syscall_src += arch-aarch64/syscalls/recvmsg.S
-syscall_src += arch-aarch64/syscalls/removexattr.S
-syscall_src += arch-aarch64/syscalls/renameat.S
-syscall_src += arch-aarch64/syscalls/sched_get_priority_max.S
-syscall_src += arch-aarch64/syscalls/sched_get_priority_min.S
-syscall_src += arch-aarch64/syscalls/sched_getparam.S
-syscall_src += arch-aarch64/syscalls/sched_getscheduler.S
-syscall_src += arch-aarch64/syscalls/sched_rr_get_interval.S
-syscall_src += arch-aarch64/syscalls/sched_setaffinity.S
-syscall_src += arch-aarch64/syscalls/sched_setparam.S
-syscall_src += arch-aarch64/syscalls/sched_setscheduler.S
-syscall_src += arch-aarch64/syscalls/sched_yield.S
-syscall_src += arch-aarch64/syscalls/sendfile.S
-syscall_src += arch-aarch64/syscalls/sendmsg.S
-syscall_src += arch-aarch64/syscalls/sendto.S
-syscall_src += arch-aarch64/syscalls/setgid.S
-syscall_src += arch-aarch64/syscalls/setgroups.S
-syscall_src += arch-aarch64/syscalls/setitimer.S
-syscall_src += arch-aarch64/syscalls/setns.S
-syscall_src += arch-aarch64/syscalls/setpgid.S
-syscall_src += arch-aarch64/syscalls/setpriority.S
-syscall_src += arch-aarch64/syscalls/setregid.S
-syscall_src += arch-aarch64/syscalls/setresgid.S
-syscall_src += arch-aarch64/syscalls/setresuid.S
-syscall_src += arch-aarch64/syscalls/setreuid.S
-syscall_src += arch-aarch64/syscalls/setrlimit.S
-syscall_src += arch-aarch64/syscalls/setsid.S
-syscall_src += arch-aarch64/syscalls/setsockopt.S
-syscall_src += arch-aarch64/syscalls/settimeofday.S
-syscall_src += arch-aarch64/syscalls/setuid.S
-syscall_src += arch-aarch64/syscalls/setxattr.S
-syscall_src += arch-aarch64/syscalls/shutdown.S
-syscall_src += arch-aarch64/syscalls/sigaltstack.S
-syscall_src += arch-aarch64/syscalls/signalfd4.S
-syscall_src += arch-aarch64/syscalls/socket.S
-syscall_src += arch-aarch64/syscalls/socketpair.S
-syscall_src += arch-aarch64/syscalls/statfs.S
-syscall_src += arch-aarch64/syscalls/swapoff.S
-syscall_src += arch-aarch64/syscalls/swapon.S
-syscall_src += arch-aarch64/syscalls/symlinkat.S
-syscall_src += arch-aarch64/syscalls/sync.S
-syscall_src += arch-aarch64/syscalls/sysinfo.S
-syscall_src += arch-aarch64/syscalls/tgkill.S
-syscall_src += arch-aarch64/syscalls/timerfd_create.S
-syscall_src += arch-aarch64/syscalls/timerfd_gettime.S
-syscall_src += arch-aarch64/syscalls/timerfd_settime.S
-syscall_src += arch-aarch64/syscalls/times.S
-syscall_src += arch-aarch64/syscalls/tkill.S
-syscall_src += arch-aarch64/syscalls/truncate.S
-syscall_src += arch-aarch64/syscalls/umask.S
-syscall_src += arch-aarch64/syscalls/umount2.S
-syscall_src += arch-aarch64/syscalls/uname.S
-syscall_src += arch-aarch64/syscalls/unlinkat.S
-syscall_src += arch-aarch64/syscalls/unshare.S
-syscall_src += arch-aarch64/syscalls/utimensat.S
-syscall_src += arch-aarch64/syscalls/wait4.S
-syscall_src += arch-aarch64/syscalls/write.S
-syscall_src += arch-aarch64/syscalls/writev.S
--- /dev/null
+_LIBC_ARCH_COMMON_SRC_FILES := \
+ arch-arm64/bionic/__bionic_clone.S \
+ arch-arm64/bionic/bzero_arm64.c \
+ arch-arm64/bionic/cacheflush_arm64.c \
+ arch-arm64/bionic/_exit_with_stack_teardown.S \
+ arch-arm64/bionic/futex_arm64.S \
+ arch-arm64/bionic/__get_sp.S \
+ arch-arm64/bionic/__rt_sigreturn.S \
+ arch-arm64/bionic/_setjmp.S \
+ arch-arm64/bionic/setjmp.S \
+ arch-arm64/bionic/__set_tls.c \
+ arch-arm64/bionic/sigsetjmp.S \
+ arch-arm64/bionic/syscall.S \
+ arch-arm64/bionic/vfork.S \
+
+_LIBC_ARCH_STATIC_SRC_FILES := \
+ bionic/dl_iterate_phdr_static.c \
+
+_LIBC_ARCH_DYNAMIC_SRC_FILES :=
void (*__FINI_ARRAY__)(void) = (void (*)(void)) -1;
-__LIBC_HIDDEN__ void do_aarch64_start(void* raw_args) {
+__LIBC_HIDDEN__ void do_arm64_start(void* raw_args) {
structors_array_t array;
array.preinit_array = &__PREINIT_ARRAY__;
array.init_array = &__INIT_ARRAY__;
}
/*
- * Put the value of sp in x0 and call do_aarch64_init(). The latter will then
+ * Put the value of sp in x0 and call do_arm64_init(). The latter will then
* then be able to access the stack as prepared by the kernel's execve system
* call (via the first argument).
*/
" .type _start, %function \n"
"_start: \n"
" add x0, sp, xzr \n"
-" b do_aarch64_start \n"
+" b do_arm64_start \n"
" .size _start, .-_start \n"
);
--- /dev/null
+# Generated by gensyscalls.py. Do not edit.
+syscall_src :=
+syscall_src += arch-arm64/syscalls/__brk.S
+syscall_src += arch-arm64/syscalls/__epoll_pwait.S
+syscall_src += arch-arm64/syscalls/__exit.S
+syscall_src += arch-arm64/syscalls/__getcpu.S
+syscall_src += arch-arm64/syscalls/__getcwd.S
+syscall_src += arch-arm64/syscalls/__getpriority.S
+syscall_src += arch-arm64/syscalls/__ioctl.S
+syscall_src += arch-arm64/syscalls/__openat.S
+syscall_src += arch-arm64/syscalls/__ppoll.S
+syscall_src += arch-arm64/syscalls/__pselect6.S
+syscall_src += arch-arm64/syscalls/__ptrace.S
+syscall_src += arch-arm64/syscalls/__reboot.S
+syscall_src += arch-arm64/syscalls/__rt_sigaction.S
+syscall_src += arch-arm64/syscalls/__rt_sigpending.S
+syscall_src += arch-arm64/syscalls/__rt_sigprocmask.S
+syscall_src += arch-arm64/syscalls/__rt_sigsuspend.S
+syscall_src += arch-arm64/syscalls/__rt_sigtimedwait.S
+syscall_src += arch-arm64/syscalls/__sched_getaffinity.S
+syscall_src += arch-arm64/syscalls/__set_tid_address.S
+syscall_src += arch-arm64/syscalls/__syslog.S
+syscall_src += arch-arm64/syscalls/__timer_create.S
+syscall_src += arch-arm64/syscalls/__timer_delete.S
+syscall_src += arch-arm64/syscalls/__timer_getoverrun.S
+syscall_src += arch-arm64/syscalls/__timer_gettime.S
+syscall_src += arch-arm64/syscalls/__timer_settime.S
+syscall_src += arch-arm64/syscalls/__waitid.S
+syscall_src += arch-arm64/syscalls/_exit.S
+syscall_src += arch-arm64/syscalls/accept.S
+syscall_src += arch-arm64/syscalls/acct.S
+syscall_src += arch-arm64/syscalls/bind.S
+syscall_src += arch-arm64/syscalls/capget.S
+syscall_src += arch-arm64/syscalls/capset.S
+syscall_src += arch-arm64/syscalls/chdir.S
+syscall_src += arch-arm64/syscalls/chroot.S
+syscall_src += arch-arm64/syscalls/clock_getres.S
+syscall_src += arch-arm64/syscalls/clock_gettime.S
+syscall_src += arch-arm64/syscalls/clock_nanosleep.S
+syscall_src += arch-arm64/syscalls/clock_settime.S
+syscall_src += arch-arm64/syscalls/close.S
+syscall_src += arch-arm64/syscalls/connect.S
+syscall_src += arch-arm64/syscalls/delete_module.S
+syscall_src += arch-arm64/syscalls/dup.S
+syscall_src += arch-arm64/syscalls/dup3.S
+syscall_src += arch-arm64/syscalls/epoll_create1.S
+syscall_src += arch-arm64/syscalls/epoll_ctl.S
+syscall_src += arch-arm64/syscalls/eventfd.S
+syscall_src += arch-arm64/syscalls/execve.S
+syscall_src += arch-arm64/syscalls/faccessat.S
+syscall_src += arch-arm64/syscalls/fchdir.S
+syscall_src += arch-arm64/syscalls/fchmod.S
+syscall_src += arch-arm64/syscalls/fchmodat.S
+syscall_src += arch-arm64/syscalls/fchown.S
+syscall_src += arch-arm64/syscalls/fchownat.S
+syscall_src += arch-arm64/syscalls/fcntl.S
+syscall_src += arch-arm64/syscalls/fdatasync.S
+syscall_src += arch-arm64/syscalls/fgetxattr.S
+syscall_src += arch-arm64/syscalls/flistxattr.S
+syscall_src += arch-arm64/syscalls/flock.S
+syscall_src += arch-arm64/syscalls/fremovexattr.S
+syscall_src += arch-arm64/syscalls/fsetxattr.S
+syscall_src += arch-arm64/syscalls/fstat.S
+syscall_src += arch-arm64/syscalls/fstatat.S
+syscall_src += arch-arm64/syscalls/fstatfs.S
+syscall_src += arch-arm64/syscalls/fsync.S
+syscall_src += arch-arm64/syscalls/ftruncate.S
+syscall_src += arch-arm64/syscalls/futex.S
+syscall_src += arch-arm64/syscalls/getdents.S
+syscall_src += arch-arm64/syscalls/getegid.S
+syscall_src += arch-arm64/syscalls/geteuid.S
+syscall_src += arch-arm64/syscalls/getgid.S
+syscall_src += arch-arm64/syscalls/getgroups.S
+syscall_src += arch-arm64/syscalls/getitimer.S
+syscall_src += arch-arm64/syscalls/getpeername.S
+syscall_src += arch-arm64/syscalls/getpgid.S
+syscall_src += arch-arm64/syscalls/getpid.S
+syscall_src += arch-arm64/syscalls/getppid.S
+syscall_src += arch-arm64/syscalls/getresgid.S
+syscall_src += arch-arm64/syscalls/getresuid.S
+syscall_src += arch-arm64/syscalls/getrlimit.S
+syscall_src += arch-arm64/syscalls/getrusage.S
+syscall_src += arch-arm64/syscalls/getsid.S
+syscall_src += arch-arm64/syscalls/getsockname.S
+syscall_src += arch-arm64/syscalls/getsockopt.S
+syscall_src += arch-arm64/syscalls/gettid.S
+syscall_src += arch-arm64/syscalls/gettimeofday.S
+syscall_src += arch-arm64/syscalls/getuid.S
+syscall_src += arch-arm64/syscalls/getxattr.S
+syscall_src += arch-arm64/syscalls/init_module.S
+syscall_src += arch-arm64/syscalls/inotify_add_watch.S
+syscall_src += arch-arm64/syscalls/inotify_init1.S
+syscall_src += arch-arm64/syscalls/inotify_rm_watch.S
+syscall_src += arch-arm64/syscalls/ioprio_get.S
+syscall_src += arch-arm64/syscalls/ioprio_set.S
+syscall_src += arch-arm64/syscalls/kill.S
+syscall_src += arch-arm64/syscalls/klogctl.S
+syscall_src += arch-arm64/syscalls/lgetxattr.S
+syscall_src += arch-arm64/syscalls/linkat.S
+syscall_src += arch-arm64/syscalls/listen.S
+syscall_src += arch-arm64/syscalls/listxattr.S
+syscall_src += arch-arm64/syscalls/llistxattr.S
+syscall_src += arch-arm64/syscalls/lremovexattr.S
+syscall_src += arch-arm64/syscalls/lseek.S
+syscall_src += arch-arm64/syscalls/lsetxattr.S
+syscall_src += arch-arm64/syscalls/madvise.S
+syscall_src += arch-arm64/syscalls/mincore.S
+syscall_src += arch-arm64/syscalls/mkdirat.S
+syscall_src += arch-arm64/syscalls/mknodat.S
+syscall_src += arch-arm64/syscalls/mlock.S
+syscall_src += arch-arm64/syscalls/mlockall.S
+syscall_src += arch-arm64/syscalls/mmap.S
+syscall_src += arch-arm64/syscalls/mount.S
+syscall_src += arch-arm64/syscalls/mprotect.S
+syscall_src += arch-arm64/syscalls/mremap.S
+syscall_src += arch-arm64/syscalls/msync.S
+syscall_src += arch-arm64/syscalls/munlock.S
+syscall_src += arch-arm64/syscalls/munlockall.S
+syscall_src += arch-arm64/syscalls/munmap.S
+syscall_src += arch-arm64/syscalls/nanosleep.S
+syscall_src += arch-arm64/syscalls/perf_event_open.S
+syscall_src += arch-arm64/syscalls/personality.S
+syscall_src += arch-arm64/syscalls/pipe2.S
+syscall_src += arch-arm64/syscalls/prctl.S
+syscall_src += arch-arm64/syscalls/pread64.S
+syscall_src += arch-arm64/syscalls/prlimit64.S
+syscall_src += arch-arm64/syscalls/pwrite64.S
+syscall_src += arch-arm64/syscalls/read.S
+syscall_src += arch-arm64/syscalls/readahead.S
+syscall_src += arch-arm64/syscalls/readlinkat.S
+syscall_src += arch-arm64/syscalls/readv.S
+syscall_src += arch-arm64/syscalls/recvfrom.S
+syscall_src += arch-arm64/syscalls/recvmsg.S
+syscall_src += arch-arm64/syscalls/removexattr.S
+syscall_src += arch-arm64/syscalls/renameat.S
+syscall_src += arch-arm64/syscalls/sched_get_priority_max.S
+syscall_src += arch-arm64/syscalls/sched_get_priority_min.S
+syscall_src += arch-arm64/syscalls/sched_getparam.S
+syscall_src += arch-arm64/syscalls/sched_getscheduler.S
+syscall_src += arch-arm64/syscalls/sched_rr_get_interval.S
+syscall_src += arch-arm64/syscalls/sched_setaffinity.S
+syscall_src += arch-arm64/syscalls/sched_setparam.S
+syscall_src += arch-arm64/syscalls/sched_setscheduler.S
+syscall_src += arch-arm64/syscalls/sched_yield.S
+syscall_src += arch-arm64/syscalls/sendfile.S
+syscall_src += arch-arm64/syscalls/sendmsg.S
+syscall_src += arch-arm64/syscalls/sendto.S
+syscall_src += arch-arm64/syscalls/setgid.S
+syscall_src += arch-arm64/syscalls/setgroups.S
+syscall_src += arch-arm64/syscalls/setitimer.S
+syscall_src += arch-arm64/syscalls/setns.S
+syscall_src += arch-arm64/syscalls/setpgid.S
+syscall_src += arch-arm64/syscalls/setpriority.S
+syscall_src += arch-arm64/syscalls/setregid.S
+syscall_src += arch-arm64/syscalls/setresgid.S
+syscall_src += arch-arm64/syscalls/setresuid.S
+syscall_src += arch-arm64/syscalls/setreuid.S
+syscall_src += arch-arm64/syscalls/setrlimit.S
+syscall_src += arch-arm64/syscalls/setsid.S
+syscall_src += arch-arm64/syscalls/setsockopt.S
+syscall_src += arch-arm64/syscalls/settimeofday.S
+syscall_src += arch-arm64/syscalls/setuid.S
+syscall_src += arch-arm64/syscalls/setxattr.S
+syscall_src += arch-arm64/syscalls/shutdown.S
+syscall_src += arch-arm64/syscalls/sigaltstack.S
+syscall_src += arch-arm64/syscalls/signalfd4.S
+syscall_src += arch-arm64/syscalls/socket.S
+syscall_src += arch-arm64/syscalls/socketpair.S
+syscall_src += arch-arm64/syscalls/statfs.S
+syscall_src += arch-arm64/syscalls/swapoff.S
+syscall_src += arch-arm64/syscalls/swapon.S
+syscall_src += arch-arm64/syscalls/symlinkat.S
+syscall_src += arch-arm64/syscalls/sync.S
+syscall_src += arch-arm64/syscalls/sysinfo.S
+syscall_src += arch-arm64/syscalls/tgkill.S
+syscall_src += arch-arm64/syscalls/timerfd_create.S
+syscall_src += arch-arm64/syscalls/timerfd_gettime.S
+syscall_src += arch-arm64/syscalls/timerfd_settime.S
+syscall_src += arch-arm64/syscalls/times.S
+syscall_src += arch-arm64/syscalls/tkill.S
+syscall_src += arch-arm64/syscalls/truncate.S
+syscall_src += arch-arm64/syscalls/umask.S
+syscall_src += arch-arm64/syscalls/umount2.S
+syscall_src += arch-arm64/syscalls/uname.S
+syscall_src += arch-arm64/syscalls/unlinkat.S
+syscall_src += arch-arm64/syscalls/unshare.S
+syscall_src += arch-arm64/syscalls/utimensat.S
+syscall_src += arch-arm64/syscalls/wait4.S
+syscall_src += arch-arm64/syscalls/write.S
+syscall_src += arch-arm64/syscalls/writev.S
# the list of supported architectures
#
-kernel_archs = [ 'aarch64', 'arm', 'mips', 'x86' ]
+kernel_archs = [ 'arm', 'arm64', 'mips', 'x86' ]
# the list of include directories that belong to the kernel
# tree. used when looking for sources...
# maps an architecture to a set of default macros that would be provided by
# toolchain preprocessor
kernel_default_arch_macros = {
- "aarch64": {},
"arm": {},
+ "arm64": {},
"mips": {"CONFIG_32BIT":"1"},
"x86": {},
}
kernel_arch_token_replacements = {
- "aarch64": {},
"arm": {},
+ "arm64": {},
"mips": {"off_t":"__kernel_off_t"},
"x86": {},
}
# this is the set of known static inline functions that we want to keep
# in the final ARM headers. this is only used to keep optimized byteswapping
# static functions and stuff like that.
-kernel_known_aarch64_statics = set(
- [
+kernel_known_arm_statics = set(
+ [ "___arch__swab32", # asm-arm/byteorder.h
]
)
-kernel_known_arm_statics = set(
- [ "___arch__swab32", # asm-arm/byteorder.h
+kernel_known_arm64_statics = set(
+ [
]
)
# we want to keep in the final headers
#
kernel_known_statics = {
- "aarch64" : kernel_known_aarch64_statics,
"arm" : kernel_known_arm_statics,
+ "arm64" : kernel_known_arm64_statics,
"mips" : kernel_known_mips_statics,
"x86" : kernel_known_x86_statics,
}
"${ANDROID_KERNEL_DIR}/uapi"
for arch in "${ARCH_LIST[@]}"; do
- if [[ "$arch" == "arm64" ]]; then
- # The Android headers use aarch64 as the name of the 64 bit arm headers.
- tgt_arch="asm-aarch64"
- else
- tgt_arch="asm-${arch}"
- fi
# Copy arch headers.
copy_hdrs "${KERNEL_DIR}/common/arch/${arch}/include/uapi" \
- "${ANDROID_KERNEL_DIR}/uapi/${tgt_arch}"
+ "${ANDROID_KERNEL_DIR}/uapi/asm-${arch}"
# Copy the generated arch headers.
copy_hdrs "${KERNEL_DIR}/common/arch/${arch}/include/generated/uapi" \
- "${ANDROID_KERNEL_DIR}/uapi/${tgt_arch}"
+ "${ANDROID_KERNEL_DIR}/uapi/asm-${arch}"
# Special copy of generated header files from arch/<ARCH>/generated/asm that
# also exist in uapi/asm-generic.
copy_if_exists "${KERNEL_DIR}/common/include/uapi/asm-generic" \
"${KERNEL_DIR}/common/arch/${arch}/include/generated/asm" \
- "${ANDROID_KERNEL_DIR}/uapi/${tgt_arch}/asm"
+ "${ANDROID_KERNEL_DIR}/uapi/asm-${arch}/asm"
done
*/
#define __ATOMIC_INLINE__ static __inline__ __attribute__((always_inline))
-#if defined(__aarch64__)
-# include "bionic_atomic_aarch64.h"
-#elif defined(__arm__)
+#if defined(__arm__)
# include "bionic_atomic_arm.h"
+#elif defined(__aarch64__)
+# include "bionic_atomic_arm64.h"
#elif defined(__i386__)
# include "bionic_atomic_x86.h"
#elif defined(__mips__)
import sys, os, commands, string
-all_arches = [ "aarch64", "arm", "mips", "x86", "x86_64" ]
+all_arches = [ "arm", "arm64", "mips", "x86", "x86_64" ]
# basic debugging trace support
# call D_setlevel to set the verbosity level
#
-# AArch64 assembler templates for each syscall stub
-#
-
-aarch64_call = syscall_stub_header + """\
- stp x29, x30, [sp, #-16]!
- mov x29, sp
- str x8, [sp, #-16]!
-
- mov x8, %(__NR_name)s
- svc #0
-
- ldr x8, [sp], #16
- ldp x29, x30, [sp], #16
-
- cmn x0, #(MAX_ERRNO + 1)
- cneg x0, x0, hi
- b.hi __set_errno
-
- ret
-END(%(func)s)
-"""
-
-#
# ARM assembler templates for each syscall stub
#
#
+# Arm64 assembler templates for each syscall stub
+#
+
+arm64_call = syscall_stub_header + """\
+ stp x29, x30, [sp, #-16]!
+ mov x29, sp
+ str x8, [sp, #-16]!
+
+ mov x8, %(__NR_name)s
+ svc #0
+
+ ldr x8, [sp], #16
+ ldp x29, x30, [sp], #16
+
+ cmn x0, #(MAX_ERRNO + 1)
+ cneg x0, x0, hi
+ b.hi __set_errno
+
+ ret
+END(%(func)s)
+"""
+
+
+#
# MIPS assembler templates for each syscall stub
#
return stub
-def aarch64_genstub(syscall):
- return aarch64_call % syscall
-
-
def arm_eabi_genstub(syscall):
num_regs = count_arm_param_registers(syscall["params"])
if num_regs > 4:
return arm_eabi_call_default % syscall
+def arm64_genstub(syscall):
+ return arm64_call % syscall
+
+
def mips_genstub(syscall):
return mips_call % syscall
for syscall in self.syscalls:
syscall["__NR_name"] = make__NR_name(syscall["name"])
- if syscall.has_key("aarch64"):
- syscall["asm-aarch64"] = add_footer(64, aarch64_genstub(syscall), syscall)
-
if syscall.has_key("arm"):
syscall["asm-arm"] = add_footer(32, arm_eabi_genstub(syscall), syscall)
+ if syscall.has_key("arm64"):
+ syscall["asm-arm64"] = add_footer(64, arm64_genstub(syscall), syscall)
+
if syscall.has_key("x86"):
if syscall["socketcall_id"] >= 0:
syscall["asm-x86"] = add_footer(32, x86_genstub_socketcall(syscall), syscall)
libm_common_includes := $(LOCAL_PATH)/upstream-freebsd/lib/msun/src/
-libm_aarch64_includes := $(LOCAL_PATH)/aarch64
-libm_aarch64_src_files := aarch64/fenv.c
-
libm_arm_includes := $(LOCAL_PATH)/arm
libm_arm_src_files := arm/fenv.c
+libm_arm64_includes := $(LOCAL_PATH)/arm64
+libm_arm64_src_files := arm64/fenv.c
+
libm_x86_includes := $(LOCAL_PATH)/i386 $(LOCAL_PATH)/i387
libm_x86_src_files := i387/fenv.c
# define ANDROID_LIBDL_STRTAB \
"dlopen\0dlclose\0dlsym\0dlerror\0dladdr\0android_update_LD_LIBRARY_PATH\0android_get_LD_LIBRARY_PATH\0dl_iterate_phdr\0"
#else
-# error Unsupported architecture. Only aarch64, arm, mips, x86, and x86_64 are presently supported.
+# error Unsupported architecture. Only arm, arm64, mips, x86, and x86_64 are presently supported.
#endif
static Elf_Sym gLibDlSymtab[] = {
-Werror \
-fno-builtin \
-ifeq ($(TARGET_ARCH),aarch64)
+ifeq ($(TARGET_ARCH),arm64)
$(info TODO: $(LOCAL_PATH)/Android.mk -fstack-protector not yet available for the AArch64 toolchain)
test_c_flags += -fno-stack-protector
-endif # aarch64
+endif # arm64
test_src_files = \
buffer_tests.cpp \