diff --git a/ndk/platforms/android-3/arch-arm/symbols/libc.so.txt b/ndk/platforms/android-3/arch-arm/symbols/libc.so.txt new file mode 100644 index 000000000..1d13c7280 --- /dev/null +++ b/ndk/platforms/android-3/arch-arm/symbols/libc.so.txt @@ -0,0 +1,1050 @@ + +.ARM.extab +.bss +.data +.data.rel.ro +.rodata +.text +MD5_Final +MD5_Init +MD5_Update +SHA1Final +SHA1Init +SHA1Transform +SHA1Update +_C_ctype_ +_C_tolower_ +_C_toupper_ +_Unwind_Backtrace +_Unwind_Complete +_Unwind_DeleteException +_Unwind_ForcedUnwind +_Unwind_GetCFA +_Unwind_GetDataRelBase +_Unwind_GetLanguageSpecificData +_Unwind_GetRegionStart +_Unwind_GetTextRelBase +_Unwind_RaiseException +_Unwind_Resume +_Unwind_Resume_or_Rethrow +_Unwind_VRS_Get +_Unwind_VRS_Pop +_Unwind_VRS_Set +___Unwind_Backtrace +___Unwind_ForcedUnwind +___Unwind_RaiseException +___Unwind_Resume +___Unwind_Resume_or_Rethrow +__adddf3 +__aeabi_atexit +__aeabi_cdcmpeq +__aeabi_cdcmple +__aeabi_cdrcmple +__aeabi_d2f +__aeabi_d2iz +__aeabi_dadd +__aeabi_dcmpeq +__aeabi_dcmpge +__aeabi_dcmpgt +__aeabi_dcmple +__aeabi_dcmplt +__aeabi_ddiv +__aeabi_dmul +__aeabi_drsub +__aeabi_dsub +__aeabi_f2d +__aeabi_i2d +__aeabi_idiv +__aeabi_idiv0 +__aeabi_idivmod +__aeabi_l2d +__aeabi_ldiv0 +__aeabi_ldivmod +__aeabi_lmul +__aeabi_memclr +__aeabi_memclr4 +__aeabi_memclr8 +__aeabi_memcpy +__aeabi_memcpy4 +__aeabi_memcpy8 +__aeabi_memmove +__aeabi_memmove4 +__aeabi_memmove8 +__aeabi_memset +__aeabi_memset4 +__aeabi_memset8 +__aeabi_ui2d +__aeabi_uidiv +__aeabi_uidivmod +__aeabi_ul2d +__aeabi_uldivmod +__aeabi_unwind_cpp_pr0 +__aeabi_unwind_cpp_pr1 +__aeabi_unwind_cpp_pr2 +__arc4_getbyte +__assert +__assert2 +__atexit +__atexit_invalid +__atexit_register_cleanup +__atomic_cmpxchg +__atomic_dec +__atomic_inc +__atomic_swap +__b64_ntop +__b64_pton +__bionic_brk +__brk +__bss_end__ +__bss_start +__bss_start__ +__clone +__clz_tab +__cmpdf2 +__cxa_atexit +__cxa_begin_cleanup +__cxa_call_unexpected +__cxa_finalize +__cxa_type_match +__data_start +__div0 +__divdf3 +__divdi3 +__divsi3 +__dn_comp +__dn_count_labels +__dn_skipname +__dorand48 +__dso_handle +__dtoa +__end__ +__eqdf2 +__errno +__evAddTime +__evCmpTime +__evConsIovec +__evConsTime +__evNowTime +__evOptMonoTime +__evSubTime +__evTimeSpec +__evTimeVal +__evUTCTime +__exidx_end +__exidx_start +__extendsfdf2 +__fcntl +__fcntl64 +__findenv +__fixdfsi +__floatdidf +__floatsidf +__floatundidf +__floatunsidf +__fork +__fp_nquery +__fp_query +__fremovelock +__futex_wait +__futex_wake +__gedf2 +__get_h_errno +__get_pc +__get_res_cache +__get_sp +__get_stack_base +__get_thread +__getcwd +__getpriority +__gnu_Unwind_Backtrace +__gnu_Unwind_Find_exidx +__gnu_Unwind_ForcedUnwind +__gnu_Unwind_RaiseException +__gnu_Unwind_Restore_VFP +__gnu_Unwind_Resume +__gnu_Unwind_Resume_or_Rethrow +__gnu_Unwind_Save_VFP +__gnu_ldivmod_helper +__gnu_uldivmod_helper +__gnu_unwind_execute +__gnu_unwind_frame +__gtdf2 +__hostalias +__init_tls +__ioctl +__isthreaded +__ledf2 +__libc_android_log_assert +__libc_android_log_print +__libc_init +__libc_init_common +__llseek +__loc_aton +__loc_ntoa +__ltdf2 +__memcmp16 +__mmap2 +__muldf3 +__muldi3 +__nedf2 +__ns_format_ttl +__ns_get16 +__ns_get32 +__ns_initparse +__ns_makecanon +__ns_msg_getflag +__ns_name_compress +__ns_name_ntol +__ns_name_ntop +__ns_name_pack +__ns_name_pton +__ns_name_rollback +__ns_name_skip +__ns_name_uncompress +__ns_name_unpack +__ns_parserr +__ns_put16 +__ns_put32 +__ns_samename +__ns_skiprr +__ns_sprintrr +__ns_sprintrrf +__open +__openat +__p_cdname +__p_cdnname +__p_cert_syms +__p_class +__p_class_syms +__p_default_section_syms +__p_fqname +__p_fqnname +__p_key_syms +__p_option +__p_query +__p_rcode +__p_rcode_syms +__p_secstodate +__p_section +__p_sockun +__p_time +__p_type +__p_type_syms +__p_update_section_syms +__page_shift +__page_size +__pread64 +__progname +__pthread_cleanup_pop +__pthread_cleanup_push +__pthread_clone +__pthread_cond_timedwait +__pthread_cond_timedwait_relative +__ptrace +__putlong +__putshort +__pwrite64 +__rand48_add +__rand48_mult +__rand48_seed +__reboot +__res_close +__res_dnok +__res_get_nibblesuffix +__res_get_nibblesuffix2 +__res_get_state +__res_get_static +__res_getservers +__res_hnok +__res_hostalias +__res_isourserver +__res_mailok +__res_nameinquery +__res_nametoclass +__res_nametotype +__res_nclose +__res_ndestroy +__res_ninit +__res_nmkquery +__res_nopt +__res_nquery +__res_nquerydomain +__res_nsearch +__res_nsend +__res_opt +__res_ourserver_p +__res_ownok +__res_pquery +__res_put_state +__res_queriesmatch +__res_querydomain +__res_randomid +__res_send +__res_send_setqhook +__res_send_setrhook +__res_setservers +__res_vinit +__restore_core_regs +__rt_sigaction +__rt_sigprocmask +__rt_sigtimedwait +__sF +__sFext +__sclose +__sdidinit +__set_errno +__set_syscall_errno +__set_tls +__sflags +__sflush +__sfp +__sfvwrite +__sglue +__sigsuspend +__sinit +__slbexpand +__smakebuf +__sread +__srefill +__srget +__sseek +__stack_chk_fail +__stack_chk_guard +__statfs64 +__subdf3 +__swbuf +__swhatbuf +__swrite +__swsetup +__sym_ntop +__sym_ntos +__sym_ston +__syslog +__system_properties_init +__system_property_area__ +__system_property_find +__system_property_find_nth +__system_property_get +__system_property_read +__system_property_wait +__thread_entry +__timer_create +__timer_delete +__timer_getoverrun +__timer_gettime +__timer_settime +__timer_table_start_stop +__truncdfsf2 +__udivdi3 +__udivsi3 +__wait4 +_bss_end__ +_cleanup +_ctype_ +_dns_gethtbyaddr +_dns_gethtbyname +_dorand48 +_edata +_end +_endhtent +_exit +_exit_thread +_exit_with_stack_teardown +_fwalk +_gethtbyaddr +_gethtbyname +_gethtbyname2 +_gethtent +_getlong +_getshort +_init_thread +_longjmp +_mktemp +_nres +_ns_flagdata +_rand48_add +_rand48_mult +_rand48_seed +_res_opcodes +_resolv_cache_add +_resolv_cache_create +_resolv_cache_lookup +_resolv_cache_reset +_sethtent +_setjmp +_stack +_thread_atexit_lock +_thread_atexit_unlock +_thread_created_hook +_tolower_tab_ +_toupper_tab_ +abort +accept +access +acct +alarm +alphasort +arc4random +arc4random_addrandom +arc4random_buf +arc4random_stir +arc4random_uniform +asctime +asctime64 +asctime64_r +asctime_r +asprintf +atexit +atoi +atol +atoll +basename +basename_r +bcopy +bind +bindresvport +brk +bsd_signal +bsearch +btowc +bzero +cacheflush +calloc +capget +capset +chdir +chmod +chown +chroot +clearerr +clock +clock_getres +clock_gettime +clock_nanosleep +clock_settime +close +closedir +closelog +closelog_r +connect +copy_TM_to_tm +copy_tm_to_TM +creat +ctime +ctime64 +ctime64_r +ctime_r +daemon +delete_module +difftime +dirfd +dirname +dirname_r +div +dlindependent_calloc +dlindependent_comalloc +dlmallinfo +dlmalloc_footprint +dlmalloc_max_footprint +dlmalloc_stats +dlmalloc_trim +dlmalloc_usable_size +dlmalloc_walk_free_pages +dlmalloc_walk_heap +dlmallopt +dlpvalloc +dlvalloc +dn_expand +dns_change_prop +dns_last_change_counter +drand48 +dup +dup2 +endpwent +endservent +endutent +environ +epoll_create +epoll_ctl +epoll_wait +erand48 +execl +execle +execlp +execv +execve +execvp +exit +fake_gmtime_r +fake_localtime_r +fchdir +fchmod +fchmodat +fchown +fchownat +fclose +fcntl +fdopen +fdopendir +feof +ferror +fflush +ffs +fgetc +fgetln +fgetpos +fgets +fgetwc +fgetws +fileno +flock +flockfile +fnmatch +fopen +fork +fpathconf +fprintf +fpurge +fputc +fputs +fputwc +fputws +fread +free +free_malloc_leak_info +freeaddrinfo +freedtoa +freopen +fscanf +fseek +fseeko +fsetpos +fstat +fstatat +fstatfs +fsync +ftell +ftello +ftime +ftok +ftruncate +ftrylockfile +funlockfile +funopen +futex +fwide +fwprintf +fwrite +fwscanf +gMallocLeakZygoteChild +gai_strerror +get_malloc_leak_info +getaddrinfo +getc +getc_unlocked +getchar +getchar_unlocked +getcwd +getdents +getdtablesize +getegid +getenv +geteuid +getgid +getgrgid +getgrnam +getgrouplist +getgroups +gethostbyaddr +gethostbyname +gethostbyname2 +gethostbyname_r +gethostent +gethostname +getitimer +getlogin +getmntent +getnameinfo +getnetbyaddr +getnetbyname +getopt +getopt_long +getopt_long_only +getpeername +getpgid +getpgrp +getpid +getppid +getpriority +getprotobyname +getprotobynumber +getpt +getpwnam +getpwuid +getresgid +getresuid +getrlimit +getrusage +gets +getservbyname +getservbyport +getservent +getservent_r +getsockname +getsockopt +gettid +gettimeofday +getuid +getutent +getwc +getwchar +gmtime +gmtime64 +gmtime64_r +gmtime_r +h_errlist +h_nerr +herror +hstrerror +if_indextoname +if_nametoindex +index +inet_addr +inet_aton +inet_nsap_addr +inet_nsap_ntoa +inet_ntoa +inet_ntop +inet_pton +init_module +initgroups +inotify_add_watch +inotify_init +inotify_rm_watch +ioctl +isalnum +isalpha +isascii +isatty +isblank +iscntrl +isdigit +isgraph +islower +isprint +ispunct +issetugid +isspace +isupper +iswalnum +iswalpha +iswcntrl +iswctype +iswdigit +iswgraph +iswlower +iswprint +iswpunct +iswspace +iswupper +iswxdigit +isxdigit +jrand48 +kill +klogctl +lchown +ldexp +ldiv +link +listen +lldiv +localtime +localtime64 +localtime64_r +localtime_r +longjmp +longjmperror +lrand48 +lseek +lseek64 +lstat +madvise +mallinfo +malloc +malloc_debug_init +mbrlen +mbrtowc +mbsinit +mbsrtowcs +memalign +memccpy +memchr +memcmp +memcpy +memmem +memmove +memrchr +memset +memswap +mincore +mkdir +mkdirat +mkdtemp +mknod +mkstemp +mkstemps +mktemp +mktime +mktime64 +mlock +mmap +mount +mprotect +mrand48 +mremap +msync +munlock +munmap +nanosleep +nice +nrand48 +nsdispatch +open +openat +opendir +openlog +openlog_r +optarg +opterr +optind +optopt +optreset +pathconf +pause +pclose +perror +pipe +poll +popen +prctl +pread +printf +pselect +pthread_attr_destroy +pthread_attr_getdetachstate +pthread_attr_getguardsize +pthread_attr_getschedparam +pthread_attr_getschedpolicy +pthread_attr_getscope +pthread_attr_getstack +pthread_attr_getstackaddr +pthread_attr_getstacksize +pthread_attr_init +pthread_attr_setdetachstate +pthread_attr_setguardsize +pthread_attr_setschedparam +pthread_attr_setschedpolicy +pthread_attr_setscope +pthread_attr_setstack +pthread_attr_setstackaddr +pthread_attr_setstacksize +pthread_cond_broadcast +pthread_cond_destroy +pthread_cond_init +pthread_cond_signal +pthread_cond_timedwait +pthread_cond_timedwait_monotonic +pthread_cond_timeout_np +pthread_cond_wait +pthread_create +pthread_detach +pthread_equal +pthread_exit +pthread_getattr_np +pthread_getcpuclockid +pthread_getschedparam +pthread_getspecific +pthread_join +pthread_key_create +pthread_key_delete +pthread_kill +pthread_mutex_destroy +pthread_mutex_init +pthread_mutex_lock +pthread_mutex_trylock +pthread_mutex_unlock +pthread_mutexattr_destroy +pthread_mutexattr_getpshared +pthread_mutexattr_gettype +pthread_mutexattr_init +pthread_mutexattr_setpshared +pthread_mutexattr_settype +pthread_once +pthread_self +pthread_setschedparam +pthread_setspecific +pthread_sigmask +ptrace +ptsname +ptsname_r +putc +putc_unlocked +putchar +putchar_unlocked +putenv +puts +pututline +putw +putwc +putwchar +pwrite +qsort +raise +read +readdir +readdir_r +readlink +readv +realloc +realpath +reboot +recv +recvfrom +recvmsg +remove +rename +renameat +res_get_dns_changed +res_init +res_mkquery +res_need_init +res_query +res_search +restore_core_regs +rewind +rewinddir +rmdir +sbrk +scandir +scanf +sched_get_priority_max +sched_get_priority_min +sched_getparam +sched_getscheduler +sched_rr_get_interval +sched_setparam +sched_setscheduler +sched_yield +seed48 +select +sem_close +sem_destroy +sem_getvalue +sem_init +sem_open +sem_post +sem_timedwait +sem_trywait +sem_unlink +sem_wait +send +sendfile +sendmsg +sendto +setbuf +setbuffer +setegid +setenv +seteuid +setgid +setgroups +setitimer +setjmp +setlinebuf +setlocale +setlogmask +setlogmask_r +setpgid +setpgrp +setpriority +setregid +setresgid +setresuid +setreuid +setrlimit +setservent +setsid +setsockopt +settimeofday +setuid +setutent +setvbuf +shutdown +sigaction +sigblock +siginterrupt +siglongjmp +sigpending +sigprocmask +sigsetjmp +sigsetmask +sigsuspend +sigwait +sleep +snprintf +socket +socketpair +sprintf +srand48 +sscanf +stat +statfs +strcasecmp +strcasestr +strcat +strchr +strcmp +strcoll +strcpy +strcspn +strdup +strerror +strerror_r +strftime +strlcat +strlcpy +strlen +strncasecmp +strncat +strncmp +strncpy +strndup +strnlen +strntoimax +strntoumax +strpbrk +strptime +strrchr +strsep +strsignal +strspn +strstr +strtod +strtoimax +strtok +strtok_r +strtol +strtoll +strtotimeval +strtoul +strtoull +strtoumax +strxfrm +swprintf +swscanf +symlink +sync +sys_siglist +syscall +sysconf +syslog +syslog_r +system +sysv_signal +tcgetpgrp +tcsetpgrp +tempnam +the_key +the_once +time +timegm64 +timelocal64 +timer_create +timer_delete +timer_getoverrun +timer_gettime +timer_settime +times +tkill +tmpfile +tmpnam +toascii +tolower +toupper +towlower +towupper +truncate +ttyname +tzname +tzset +umask +umount +umount2 +uname +ungetc +ungetwc +unlink +unlinkat +unlockpt +unsetenv +usleep +utime +utimes +utmpname +valid_tm_mon +valid_tm_wday +valloc +vasprintf +vfork +vfprintf +vfscanf +vfwprintf +vprintf +vscanf +vsnprintf +vsprintf +vsscanf +vswprintf +vsyslog +vsyslog_r +vwprintf +wait +wait3 +waitid +waitpid +wcrtomb +wcscat +wcschr +wcscmp +wcscoll +wcscpy +wcscspn +wcsftime +wcslen +wcsncat +wcsncmp +wcsncpy +wcspbrk +wcsrchr +wcsrtombs +wcsspn +wcsstr +wcstod +wcstok +wcstol +wcstoul +wcswcs +wcswidth +wcsxfrm +wctob +wctype +wcwidth +wmemchr +wmemcmp +wmemcpy +wmemmove +wmemset +wprintf +write +writev +wscanf diff --git a/ndk/platforms/android-3/include/fcntl.h b/ndk/platforms/android-3/include/fcntl.h index 59e7135cd..7219dd744 100644 --- a/ndk/platforms/android-3/include/fcntl.h +++ b/ndk/platforms/android-3/include/fcntl.h @@ -39,6 +39,10 @@ __BEGIN_DECLS #define O_ASYNC FASYNC #endif +#ifndef O_CLOEXEC +#define O_CLOEXEC 02000000 +#endif + extern int open(const char* path, int mode, ...); extern int openat(int fd, const char* path, int mode, ...); extern int unlinkat(int dirfd, const char *pathname, int flags); diff --git a/ndk/platforms/android-3/include/getopt.h b/ndk/platforms/android-3/include/getopt.h index 6b4954b50..ba3c4c91e 100644 --- a/ndk/platforms/android-3/include/getopt.h +++ b/ndk/platforms/android-3/include/getopt.h @@ -71,15 +71,20 @@ int getopt_long_only(int, char * const *, const char *, #ifndef _GETOPT_DEFINED_ #define _GETOPT_DEFINED_ int getopt(int, char * const *, const char *); -int getsubopt(char **, char * const *, char **); + extern char *optarg; /* getopt(3) external variables */ extern int opterr; extern int optind; extern int optopt; extern int optreset; -extern char *suboptarg; /* getsubopt(3) external variable */ + +#if 0 /* MISSING FROM BIONIC */ +int getsubopt(char **, char * const *, char **); +extern char *suboptarg; /* getsubopt(3) external variable */ +#endif /* MISSING */ + #endif __END_DECLS - + #endif /* !_GETOPT_H_ */ diff --git a/ndk/platforms/android-3/include/grp.h b/ndk/platforms/android-3/include/grp.h index 86d99f357..4442eb738 100644 --- a/ndk/platforms/android-3/include/grp.h +++ b/ndk/platforms/android-3/include/grp.h @@ -56,6 +56,8 @@ struct group { __BEGIN_DECLS struct group *getgrgid(gid_t); + +#if 0 /* MISSING FROM BIONIC */ struct group *getgrnam(const char *); #if __BSD_VISIBLE || __POSIX_VISIBLE >= 200112 || __XPG_VISIBLE struct group *getgrent(void); @@ -71,6 +73,7 @@ void setgrfile(const char *); int setgroupent(int); char *group_from_gid(gid_t, int); #endif +#endif /* MISSING */ int getgrouplist (const char *user, gid_t group, gid_t *groups, int *ngroups); diff --git a/ndk/platforms/android-3/include/limits.h b/ndk/platforms/android-3/include/limits.h index c204e4dfd..1de8ea611 100644 --- a/ndk/platforms/android-3/include/limits.h +++ b/ndk/platforms/android-3/include/limits.h @@ -86,7 +86,7 @@ #include #if __POSIX_VISIBLE -#include +#include #endif #ifndef PAGESIZE diff --git a/ndk/platforms/android-3/include/locale.h b/ndk/platforms/android-3/include/locale.h index 65b5c7dbe..df4292172 100644 --- a/ndk/platforms/android-3/include/locale.h +++ b/ndk/platforms/android-3/include/locale.h @@ -53,7 +53,9 @@ extern char *setlocale(int category, const char *locale); /* Make libstdc++-v3 happy. */ struct lconv { }; +#if 0 /* MISSING FROM BIONIC */ struct lconv *localeconv(void); +#endif /* MISSING */ __END_DECLS diff --git a/ndk/platforms/android-3/include/netdb.h b/ndk/platforms/android-3/include/netdb.h index c2e08ea87..8d3996aa2 100644 --- a/ndk/platforms/android-3/include/netdb.h +++ b/ndk/platforms/android-3/include/netdb.h @@ -203,51 +203,54 @@ __BEGIN_DECLS #define h_errno (*__get_h_errno()) int* __get_h_errno(void); /* BIONIC-END */ -void endhostent(void); -void endnetent(void); -void endnetgrent(void); -void endprotoent(void); void endservent(void); -void freehostent(struct hostent *); struct hostent *gethostbyaddr(const char *, int, int); -int gethostbyaddr_r(const char *, int, int, struct hostent *, char *, size_t, struct hostent **, int *); struct hostent *gethostbyname(const char *); int gethostbyname_r(const char *, struct hostent *, char *, size_t, struct hostent **, int *); struct hostent *gethostbyname2(const char *, int); -int gethostbyname2_r(const char *, int, struct hostent *, char *, size_t, struct hostent **, int *); struct hostent *gethostent(void); -int gethostent_r(struct hostent *, char *, size_t, struct hostent **, int *); -struct hostent *getipnodebyaddr(const void *, size_t, int, int *); -struct hostent *getipnodebyname(const char *, int, int, int *); struct netent *getnetbyaddr(uint32_t, int); -int getnetbyaddr_r(uint32_t, int, struct netent *, char *, size_t, struct netent**, int *); struct netent *getnetbyname(const char *); -int getnetbyname_r(const char *, struct netent *, char *, size_t, struct netent **, int *); -struct netent *getnetent(void); -int getnetent_r(struct netent *, char *, size_t, struct netent **, int *); -int getnetgrent(char **, char **, char **); struct protoent *getprotobyname(const char *); -int getprotobyname_r(const char *, struct protoent *, char *, size_t, struct protoent **); struct protoent *getprotobynumber(int); -int getprotobynumber_r(int, struct protoent *, char *, size_t, struct protoent **); -struct protoent *getprotoent(void); -int getprotoent_r(struct protoent *, char *, size_t, struct protoent **); struct servent *getservbyname(const char *, const char *); struct servent *getservbyport(int, const char *); struct servent *getservent(void); void herror(const char *); const char *hstrerror(int); -int innetgr(const char *, const char *, const char *, const char *); -void sethostent(int); -void setnetent(int); -void setprotoent(int); int getaddrinfo(const char *, const char *, const struct addrinfo *, struct addrinfo **); int getnameinfo(const struct sockaddr *, socklen_t, char *, size_t, char *, size_t, int); void freeaddrinfo(struct addrinfo *); const char *gai_strerror(int); -void setnetgrent(const char *); void setservent(int); +#if 0 /* MISSING FROM BIONIC */ +void endhostent(void); +void endnetent(void); +void endnetgrent(void); +void endprotoent(void); +void freehostent(struct hostent *); +int gethostbyaddr_r(const char *, int, int, struct hostent *, char *, size_t, struct hostent **, int *); +int gethostbyname2_r(const char *, int, struct hostent *, char *, size_t, struct hostent **, int *); +int gethostent_r(struct hostent *, char *, size_t, struct hostent **, int *); +struct hostent *getipnodebyaddr(const void *, size_t, int, int *); +struct hostent *getipnodebyname(const char *, int, int, int *); +int getnetbyaddr_r(uint32_t, int, struct netent *, char *, size_t, struct netent**, int *); +int getnetbyname_r(const char *, struct netent *, char *, size_t, struct netent **, int *); +int getnetent_r(struct netent *, char *, size_t, struct netent **, int *); +int getnetgrent(char **, char **, char **); +int getprotobyname_r(const char *, struct protoent *, char *, size_t, struct protoent **); +int getprotobynumber_r(int, struct protoent *, char *, size_t, struct protoent **); +struct protoent *getprotoent(void); +int getprotoent_r(struct protoent *, char *, size_t, struct protoent **); +int innetgr(const char *, const char *, const char *, const char *); +void sethostent(int); +void setnetent(int); +void setprotoent(int); +struct netent *getnetent(void); +void setnetgrent(const char *); +#endif /* MISSING */ + __END_DECLS #endif /* !_NETDB_H_ */ diff --git a/ndk/platforms/android-3/include/nsswitch.h b/ndk/platforms/android-3/include/nsswitch.h index d19d0555b..0ddc74e1e 100644 --- a/ndk/platforms/android-3/include/nsswitch.h +++ b/ndk/platforms/android-3/include/nsswitch.h @@ -54,7 +54,7 @@ /* * Layout of: * uint32_t ns_src.flags - */ + */ /* nsswitch.conf status codes and nsdispatch(3) return values */ #define NS_SUCCESS (1<<0) /* entry was found */ #define NS_UNAVAIL (1<<1) /* source not responding, or corrupt */ @@ -125,7 +125,7 @@ typedef struct { */ #define NS_FILES_CB(F,C) { NSSRC_FILES, F, __UNCONST(C) }, #define NS_COMPAT_CB(F,C) { NSSRC_COMPAT, F, __UNCONST(C) }, - + #ifdef HESIOD # define NS_DNS_CB(F,C) { NSSRC_DNS, F, __UNCONST(C) }, #else @@ -153,6 +153,7 @@ typedef struct { * Default sourcelists (if nsswitch.conf is missing, corrupt, * or the requested database doesn't have an entry) */ +#if 0 /* MISSING FROM BIONIC */ extern const ns_src __nsdefaultsrc[]; extern const ns_src __nsdefaultcompat[]; extern const ns_src __nsdefaultcompat_forceall[]; @@ -160,7 +161,7 @@ extern const ns_src __nsdefaultfiles[]; extern const ns_src __nsdefaultfiles_forceall[]; extern const ns_src __nsdefaultnis[]; extern const ns_src __nsdefaultnis_forceall[]; - +#endif /* MISSING */ /* * ns_mtab - `nsswitch method table' diff --git a/ndk/platforms/android-3/include/pathconf.h b/ndk/platforms/android-3/include/pathconf.h index 4677f7b07..94f978789 100644 --- a/ndk/platforms/android-3/include/pathconf.h +++ b/ndk/platforms/android-3/include/pathconf.h @@ -28,6 +28,10 @@ #ifndef _PATHCONF_H_ #define _PATHCONF_H_ +#include + +__BEGIN_DECLS + /* constants to be used for the 'name' paremeter of pathconf/fpathconf */ #define _PC_FILESIZEBITS 0x0000 @@ -54,5 +58,7 @@ extern long fpathconf(int fildes, int name); extern long pathconf(const char *path, int name); +__END_DECLS + #endif /* _PATHCONF_H_ */ diff --git a/ndk/platforms/android-3/include/pwd.h b/ndk/platforms/android-3/include/pwd.h index 6f3fad594..1e85efdf3 100644 --- a/ndk/platforms/android-3/include/pwd.h +++ b/ndk/platforms/android-3/include/pwd.h @@ -113,12 +113,14 @@ __BEGIN_DECLS struct passwd* getpwnam(const char*); struct passwd* getpwuid(uid_t); +void endpwent(void); + +#if 0 /* MISSING FROM BIONIC */ int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**); int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**); - -void endpwent(void); struct passwd* getpwent(void); int setpwent(void); +#endif /* MISSING */ __END_DECLS diff --git a/ndk/platforms/android-3/include/sgtty.h b/ndk/platforms/android-3/include/sgtty.h index 1ac310069..d43326651 100644 --- a/ndk/platforms/android-3/include/sgtty.h +++ b/ndk/platforms/android-3/include/sgtty.h @@ -41,8 +41,10 @@ #include __BEGIN_DECLS +#if 0 /* MISSING FROM BIONIC */ int gtty(int, struct sgttyb *); int stty(int, struct sgttyb *); +#endif /* MISSING */ __END_DECLS #endif /* _SGTTY_H_ */ diff --git a/ndk/platforms/android-3/include/stdio.h b/ndk/platforms/android-3/include/stdio.h index 791b26083..273f63030 100644 --- a/ndk/platforms/android-3/include/stdio.h +++ b/ndk/platforms/android-3/include/stdio.h @@ -300,12 +300,14 @@ __END_DECLS #define L_cuserid 9 /* size for cuserid(); UT_NAMESIZE + 1 */ __BEGIN_DECLS +#if 0 /* MISSING FROM BIONIC */ char *ctermid(char *); char *cuserid(char *); +#endif /* MISSING */ FILE *fdopen(int, const char *); int fileno(FILE *); -#if (__POSIX_VISIBLE >= 199209) || 1 /* ANDROID: Bionic does include this */ +#if (__POSIX_VISIBLE >= 199209) int pclose(FILE *); FILE *popen(const char *, const char *); #endif diff --git a/ndk/platforms/android-3/include/stdlib.h b/ndk/platforms/android-3/include/stdlib.h index acfe69424..424adb481 100644 --- a/ndk/platforms/android-3/include/stdlib.h +++ b/ndk/platforms/android-3/include/stdlib.h @@ -50,13 +50,11 @@ __BEGIN_DECLS extern __noreturn void exit(int); extern __noreturn void abort(void); extern int atexit(void (*)(void)); -extern int on_exit(void (*)(int, void *), void *); extern char *getenv(const char *); extern int putenv(const char *); extern int setenv(const char *, const char *, int); extern int unsetenv(const char *); -extern int clearenv(void); extern char *mktemp (char *); extern int mkstemp (char *); @@ -107,6 +105,8 @@ extern long mrand48(void); extern long nrand48(unsigned short *); extern long lrand48(void); extern unsigned short *seed48(unsigned short*); +extern double erand48(unsigned short xsubi[3]); +extern double drand48(void); extern void srand48(long); extern unsigned int arc4random(void); extern void arc4random_stir(void); @@ -162,6 +162,7 @@ typedef struct { extern lldiv_t lldiv(long long, long long); +#if 1 /* MISSING FROM BIONIC - ENABLED FOR STLPort and libstdc++-v3 */ /* make STLPort happy */ extern int mblen(const char *, size_t); extern size_t mbstowcs(wchar_t *, const char *, size_t); @@ -170,8 +171,15 @@ extern int mbtowc(wchar_t *, const char *, size_t); /* Likewise, make libstdc++-v3 happy. */ extern int wctomb(char *, wchar_t); extern size_t wcstombs(char *, const wchar_t *, size_t); +#endif /* MISSING */ + #define MB_CUR_MAX 1 +#if 0 /* MISSING FROM BIONIC */ +extern int on_exit(void (*)(int, void *), void *); +extern int clearenv(void); +#endif /* MISSING */ + __END_DECLS #endif /* _STDLIB_H_ */ diff --git a/ndk/platforms/android-3/include/strings.h b/ndk/platforms/android-3/include/strings.h index fee7dc4f7..7f5b328b5 100644 --- a/ndk/platforms/android-3/include/strings.h +++ b/ndk/platforms/android-3/include/strings.h @@ -43,14 +43,16 @@ #include __BEGIN_DECLS -int bcmp(const void *, const void *, size_t); void bcopy(const void *, void *, size_t); void bzero(void *, size_t); int ffs(int); char *index(const char *, int); -char *rindex(const char *, int); int strcasecmp(const char *, const char *); int strncasecmp(const char *, const char *, size_t); +#if 0 /* MISSING FROM BIONIC */ +int bcmp(const void *, const void *, size_t); +char *rindex(const char *, int); +#endif /* MISSING */ __END_DECLS #endif /* !defined(_STRINGS_H_) */ diff --git a/ndk/platforms/android-3/include/sys/cdefs.h b/ndk/platforms/android-3/include/sys/cdefs.h index fe7033dba..238943718 100644 --- a/ndk/platforms/android-3/include/sys/cdefs.h +++ b/ndk/platforms/android-3/include/sys/cdefs.h @@ -62,11 +62,6 @@ #define __GNUC_PREREQ__(x, y) 0 #endif -//XXX #include - -/* BIONIC: simpler definition */ -#define __BSD_VISIBLE 1 - #include #if defined(__cplusplus) @@ -371,6 +366,142 @@ #define __link_set_entry(set, idx) (__link_set_begin(set)[idx]) +/* + * Some of the recend FreeBSD sources used in Bionic need this. + * Originally, this is used to embed the rcs versions of each source file + * in the generated binary. We certainly don't want this in Bionic. + */ +#define __FBSDID(s) struct __hack + +/*- + * The following definitions are an extension of the behavior originally + * implemented in , but with a different level of granularity. + * POSIX.1 requires that the macros we test be defined before any standard + * header file is included. + * + * Here's a quick run-down of the versions: + * defined(_POSIX_SOURCE) 1003.1-1988 + * _POSIX_C_SOURCE == 1 1003.1-1990 + * _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option + * _POSIX_C_SOURCE == 199309 1003.1b-1993 + * _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995, + * and the omnibus ISO/IEC 9945-1: 1996 + * _POSIX_C_SOURCE == 200112 1003.1-2001 + * _POSIX_C_SOURCE == 200809 1003.1-2008 + * + * In addition, the X/Open Portability Guide, which is now the Single UNIX + * Specification, defines a feature-test macro which indicates the version of + * that specification, and which subsumes _POSIX_C_SOURCE. + * + * Our macros begin with two underscores to avoid namespace screwage. + */ + +/* Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1. */ +#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 1 +#undef _POSIX_C_SOURCE /* Probably illegal, but beyond caring now. */ +#define _POSIX_C_SOURCE 199009 +#endif + +/* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2. */ +#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 2 +#undef _POSIX_C_SOURCE +#define _POSIX_C_SOURCE 199209 +#endif + +/* Deal with various X/Open Portability Guides and Single UNIX Spec. */ +#ifdef _XOPEN_SOURCE +#if _XOPEN_SOURCE - 0 >= 700 +#define __XSI_VISIBLE 700 +#undef _POSIX_C_SOURCE +#define _POSIX_C_SOURCE 200809 +#elif _XOPEN_SOURCE - 0 >= 600 +#define __XSI_VISIBLE 600 +#undef _POSIX_C_SOURCE +#define _POSIX_C_SOURCE 200112 +#elif _XOPEN_SOURCE - 0 >= 500 +#define __XSI_VISIBLE 500 +#undef _POSIX_C_SOURCE +#define _POSIX_C_SOURCE 199506 +#endif +#endif + +/* + * Deal with all versions of POSIX. The ordering relative to the tests above is + * important. + */ +#if defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) +#define _POSIX_C_SOURCE 198808 +#endif +#ifdef _POSIX_C_SOURCE +#if _POSIX_C_SOURCE >= 200809 +#define __POSIX_VISIBLE 200809 +#define __ISO_C_VISIBLE 1999 +#elif _POSIX_C_SOURCE >= 200112 +#define __POSIX_VISIBLE 200112 +#define __ISO_C_VISIBLE 1999 +#elif _POSIX_C_SOURCE >= 199506 +#define __POSIX_VISIBLE 199506 +#define __ISO_C_VISIBLE 1990 +#elif _POSIX_C_SOURCE >= 199309 +#define __POSIX_VISIBLE 199309 +#define __ISO_C_VISIBLE 1990 +#elif _POSIX_C_SOURCE >= 199209 +#define __POSIX_VISIBLE 199209 +#define __ISO_C_VISIBLE 1990 +#elif _POSIX_C_SOURCE >= 199009 +#define __POSIX_VISIBLE 199009 +#define __ISO_C_VISIBLE 1990 +#else +#define __POSIX_VISIBLE 198808 +#define __ISO_C_VISIBLE 0 +#endif /* _POSIX_C_SOURCE */ +#else +/*- + * Deal with _ANSI_SOURCE: + * If it is defined, and no other compilation environment is explicitly + * requested, then define our internal feature-test macros to zero. This + * makes no difference to the preprocessor (undefined symbols in preprocessing + * expressions are defined to have value zero), but makes it more convenient for + * a test program to print out the values. + * + * If a program mistakenly defines _ANSI_SOURCE and some other macro such as + * _POSIX_C_SOURCE, we will assume that it wants the broader compilation + * environment (and in fact we will never get here). + */ +#if defined(_ANSI_SOURCE) /* Hide almost everything. */ +#define __POSIX_VISIBLE 0 +#define __XSI_VISIBLE 0 +#define __BSD_VISIBLE 0 +#define __ISO_C_VISIBLE 1990 +#elif defined(_C99_SOURCE) /* Localism to specify strict C99 env. */ +#define __POSIX_VISIBLE 0 +#define __XSI_VISIBLE 0 +#define __BSD_VISIBLE 0 +#define __ISO_C_VISIBLE 1999 +#else /* Default environment: show everything. */ +#define __POSIX_VISIBLE 200809 +#define __XSI_VISIBLE 700 +#define __BSD_VISIBLE 1 +#define __ISO_C_VISIBLE 1999 +#endif +#endif + +/* + * Default values. + */ +#ifndef __XPG_VISIBLE +# define __XPG_VISIBLE 700 +#endif +#ifndef __POSIX_VISIBLE +# define __POSIX_VISIBLE 200809 +#endif +#ifndef __ISO_C_VISIBLE +# define __ISO_C_VISIBLE 1999 +#endif +#ifndef __BSD_VISIBLE +# define __BSD_VISIBLE 1 +#endif + #define __BIONIC__ 1 #endif /* !_SYS_CDEFS_H_ */ diff --git a/ndk/platforms/android-3/include/sys/file.h b/ndk/platforms/android-3/include/sys/file.h index 06937ffaa..cf2f4b142 100644 --- a/ndk/platforms/android-3/include/sys/file.h +++ b/ndk/platforms/android-3/include/sys/file.h @@ -31,7 +31,7 @@ #include #include -// ANDROID: needed for flock() +/* ANDROID: needed for flock() */ #include #include diff --git a/ndk/platforms/android-3/include/sys/fsuid.h b/ndk/platforms/android-3/include/sys/fsuid.h index 3257bc0be..bc47e3d95 100644 --- a/ndk/platforms/android-3/include/sys/fsuid.h +++ b/ndk/platforms/android-3/include/sys/fsuid.h @@ -33,8 +33,10 @@ __BEGIN_DECLS +#if 0 /* MISSING FROM BIONIC */ extern int setfsuid(uid_t); extern int setfsgid(gid_t); +#endif /* MISSING */ __END_DECLS diff --git a/ndk/platforms/android-3/include/sys/ioctl_compat.h b/ndk/platforms/android-3/include/sys/ioctl_compat.h index d79b67adb..cab5c80a5 100644 --- a/ndk/platforms/android-3/include/sys/ioctl_compat.h +++ b/ndk/platforms/android-3/include/sys/ioctl_compat.h @@ -39,8 +39,8 @@ #ifndef _SYS_IOCTL_COMPAT_H_ #define _SYS_IOCTL_COMPAT_H_ -//#include -//#include +/*#include */ +/*#include */ struct tchars { char t_intrc; /* interrupt */ diff --git a/ndk/platforms/android-3/include/sys/mount.h b/ndk/platforms/android-3/include/sys/mount.h index 62c4ee284..ba8844752 100644 --- a/ndk/platforms/android-3/include/sys/mount.h +++ b/ndk/platforms/android-3/include/sys/mount.h @@ -92,7 +92,10 @@ extern int mount(const char *, const char *, const void *); extern int umount(const char *); extern int umount2(const char *, int); + +#if 0 /* MISSING FROM BIONIC */ extern int pivot_root(const char *, const char *); +#endif /* MISSING */ __END_DECLS diff --git a/ndk/platforms/android-3/include/sys/ptrace.h b/ndk/platforms/android-3/include/sys/ptrace.h index 78a057a0b..848416b64 100644 --- a/ndk/platforms/android-3/include/sys/ptrace.h +++ b/ndk/platforms/android-3/include/sys/ptrace.h @@ -30,7 +30,7 @@ #include #include -// For all of the defines +/* For all of the defines */ #include __BEGIN_DECLS diff --git a/ndk/platforms/android-3/include/sys/sysinfo.h b/ndk/platforms/android-3/include/sys/sysinfo.h index c7e46e6bf..d5d1c6e78 100644 --- a/ndk/platforms/android-3/include/sys/sysinfo.h +++ b/ndk/platforms/android-3/include/sys/sysinfo.h @@ -33,7 +33,9 @@ __BEGIN_DECLS +#if 0 /* MISSING FROM BIONIC */ extern int sysinfo (struct sysinfo *info); +#endif /* MISSING */ __END_DECLS diff --git a/ndk/platforms/android-3/include/sys/types.h b/ndk/platforms/android-3/include/sys/types.h index b071ee912..33fe30e55 100644 --- a/ndk/platforms/android-3/include/sys/types.h +++ b/ndk/platforms/android-3/include/sys/types.h @@ -62,8 +62,10 @@ typedef __kernel_ino_t ino_t; typedef __kernel_key_t key_t; typedef __kernel_mode_t mode_t; typedef __kernel_nlink_t nlink_t; +#ifndef _OFF_T_DEFINED_ #define _OFF_T_DEFINED_ typedef __kernel_off_t off_t; +#endif typedef __kernel_loff_t loff_t; typedef loff_t off64_t; /* GLibc-specific */ diff --git a/ndk/platforms/android-3/include/time.h b/ndk/platforms/android-3/include/time.h index 6163c6d5f..b5227d7c0 100644 --- a/ndk/platforms/android-3/include/time.h +++ b/ndk/platforms/android-3/include/time.h @@ -86,8 +86,10 @@ extern void tzset(void); /* global includes */ extern char* tzname[]; +#if 0 /* MISSING FROM BIONIC */ extern int daylight; extern long int timezone; +#endif /* MISSING */ #define CLOCKS_PER_SEC 1000000 diff --git a/ndk/platforms/android-3/include/unistd.h b/ndk/platforms/android-3/include/unistd.h index 205b8ddd6..6d0515a04 100644 --- a/ndk/platforms/android-3/include/unistd.h +++ b/ndk/platforms/android-3/include/unistd.h @@ -61,16 +61,13 @@ extern pid_t getppid(void); extern pid_t getpgrp(void); extern int setpgrp(void); extern pid_t setsid(void); -extern pid_t getsid(pid_t); extern int execv(const char *, char * const *); extern int execvp(const char *, char * const *); extern int execve(const char *, char * const *, char * const *); -extern int execvpe(const char *, char * const *, char * const *); extern int execl(const char *, const char *, ...); extern int execlp(const char *, const char *, ...); extern int execle(const char *, const char *, ...); -extern int execlpe(const char *, const char *, ...); extern int capget(cap_user_header_t hdrp, cap_user_data_t datap); extern int capset(cap_user_header_t hdrp, const cap_user_data_t datap); extern int prctl(int option, unsigned long arg2, unsigned long arg3, @@ -94,11 +91,8 @@ extern int setresuid(uid_t, uid_t, uid_t); extern int setresgid(gid_t, gid_t, gid_t); extern int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); extern int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); -extern int getfsuid(uid_t); -extern int setfsuid(uid_t); extern int issetugid(void); extern char* getlogin(void); -extern int getlogin_r(char* name, size_t namesize); /* Macros for access() */ @@ -140,7 +134,6 @@ extern int fcntl(int, int, ...); extern int ioctl(int, int, ...); extern int flock(int, int); extern int fsync(int); -extern int fdatasync(int); extern int ftruncate(int, off_t); extern int pause(void); @@ -149,9 +142,6 @@ extern unsigned int sleep(unsigned int); extern void usleep(unsigned long); extern int gethostname(char *, size_t); -extern int sethostname(const char *, size_t); -extern int getdomainname(char *, size_t); -extern int setdomainname(const char *, size_t); extern int getdtablesize(void); @@ -164,6 +154,7 @@ extern char *optarg; extern int optind, opterr, optopt; extern int isatty(int); +extern char* ttyname(int); extern int acct(const char* filepath); @@ -186,6 +177,31 @@ extern int cacheflush(long start, long end, long flags); extern pid_t tcgetpgrp(int fd); extern int tcsetpgrp(int fd, pid_t _pid); +#if 0 /* MISSING FROM BIONIC */ +extern pid_t getsid(pid_t); +extern int execvpe(const char *, char * const *, char * const *); +extern int execlpe(const char *, const char *, ...); +extern int getfsuid(uid_t); +extern int setfsuid(uid_t); +extern int fdatasync(int); +extern int getlogin_r(char* name, size_t namesize); +extern char* getusershell(void); +extern void setusershell(void); +extern void endusershell(void); +extern int sethostname(const char *, size_t); +extern int getdomainname(char *, size_t); +extern int setdomainname(const char *, size_t); +extern int ttyname_r(int, char*, size_t); +#endif /* MISSING */ + +/* Used to retry syscalls that can return EINTR. */ +#define TEMP_FAILURE_RETRY(exp) ({ \ + typeof (exp) _rc; \ + do { \ + _rc = (exp); \ + } while (_rc == -1 && errno == EINTR); \ + _rc; }) + __END_DECLS #endif /* _UNISTD_H_ */ diff --git a/ndk/platforms/android-3/include/utmp.h b/ndk/platforms/android-3/include/utmp.h index e362b4021..ffd3c925a 100644 --- a/ndk/platforms/android-3/include/utmp.h +++ b/ndk/platforms/android-3/include/utmp.h @@ -87,4 +87,4 @@ struct utmp* getutent(); __END_DECLS -#endif // _UTMP_H_ +#endif /* _UTMP_H_ */ diff --git a/ndk/platforms/android-5/arch-arm/symbols/libc.so.txt b/ndk/platforms/android-5/arch-arm/symbols/libc.so.txt new file mode 100644 index 000000000..47e9383be --- /dev/null +++ b/ndk/platforms/android-5/arch-arm/symbols/libc.so.txt @@ -0,0 +1,1085 @@ + +.data.rel.ro +.text +MD5_Final +MD5_Init +MD5_Update +SHA1Final +SHA1Init +SHA1Transform +SHA1Update +_C_ctype_ +_C_tolower_ +_C_toupper_ +_Unwind_Backtrace +_Unwind_Complete +_Unwind_DeleteException +_Unwind_ForcedUnwind +_Unwind_GetCFA +_Unwind_GetDataRelBase +_Unwind_GetLanguageSpecificData +_Unwind_GetRegionStart +_Unwind_GetTextRelBase +_Unwind_RaiseException +_Unwind_Resume +_Unwind_Resume_or_Rethrow +_Unwind_VRS_Get +_Unwind_VRS_Pop +_Unwind_VRS_Set +___Unwind_Backtrace +___Unwind_ForcedUnwind +___Unwind_RaiseException +___Unwind_Resume +___Unwind_Resume_or_Rethrow +__adddf3 +__addsf3 +__aeabi_atexit +__aeabi_cdcmpeq +__aeabi_cdcmple +__aeabi_cdrcmple +__aeabi_d2f +__aeabi_d2iz +__aeabi_dadd +__aeabi_dcmpeq +__aeabi_dcmpge +__aeabi_dcmpgt +__aeabi_dcmple +__aeabi_dcmplt +__aeabi_dcmpun +__aeabi_ddiv +__aeabi_dmul +__aeabi_drsub +__aeabi_dsub +__aeabi_f2d +__aeabi_f2iz +__aeabi_fadd +__aeabi_fcmpun +__aeabi_fdiv +__aeabi_fmul +__aeabi_frsub +__aeabi_fsub +__aeabi_i2d +__aeabi_i2f +__aeabi_idiv +__aeabi_idiv0 +__aeabi_idivmod +__aeabi_l2d +__aeabi_l2f +__aeabi_ldiv0 +__aeabi_ldivmod +__aeabi_lmul +__aeabi_memclr +__aeabi_memclr4 +__aeabi_memclr8 +__aeabi_memcpy +__aeabi_memcpy4 +__aeabi_memcpy8 +__aeabi_memmove +__aeabi_memmove4 +__aeabi_memmove8 +__aeabi_memset +__aeabi_memset4 +__aeabi_memset8 +__aeabi_ui2d +__aeabi_ui2f +__aeabi_uidiv +__aeabi_uidivmod +__aeabi_ul2d +__aeabi_ul2f +__aeabi_uldivmod +__aeabi_unwind_cpp_pr0 +__aeabi_unwind_cpp_pr1 +__aeabi_unwind_cpp_pr2 +__arc4_getbyte +__assert +__assert2 +__atexit +__atexit_invalid +__atexit_register_cleanup +__atomic_cmpxchg +__atomic_dec +__atomic_inc +__atomic_swap +__b64_ntop +__b64_pton +__bionic_brk +__bionic_libgcc_compat_hooks +__brk +__bss_end__ +__bss_start +__bss_start__ +__clone +__cmpdf2 +__cxa_atexit +__cxa_begin_cleanup +__cxa_call_unexpected +__cxa_finalize +__cxa_type_match +__data_start +__div0 +__divdf3 +__divdi3 +__divsf3 +__divsi3 +__dn_comp +__dn_count_labels +__dn_skipname +__dorand48 +__dso_handle +__dtoa +__end__ +__eqdf2 +__errno +__evAddTime +__evCmpTime +__evConsIovec +__evConsTime +__evNowTime +__evOptMonoTime +__evSubTime +__evTimeSpec +__evTimeVal +__evUTCTime +__exidx_end +__exidx_start +__extendsfdf2 +__fcntl +__fcntl64 +__findenv +__fixdfsi +__fixsfsi +__floatdidf +__floatdisf +__floatsidf +__floatsisf +__floatundidf +__floatundisf +__floatunsidf +__floatunsisf +__fork +__fp_nquery +__fp_query +__fremovelock +__futex_wait +__futex_wake +__gedf2 +__get_h_errno +__get_pc +__get_res_cache +__get_sp +__get_stack_base +__get_thread +__getcwd +__getpriority +__gnu_Unwind_Backtrace +__gnu_Unwind_Find_exidx +__gnu_Unwind_ForcedUnwind +__gnu_Unwind_RaiseException +__gnu_Unwind_Restore_VFP +__gnu_Unwind_Restore_VFP_D +__gnu_Unwind_Restore_VFP_D_16_to_31 +__gnu_Unwind_Restore_WMMXC +__gnu_Unwind_Restore_WMMXD +__gnu_Unwind_Resume +__gnu_Unwind_Resume_or_Rethrow +__gnu_Unwind_Save_VFP +__gnu_Unwind_Save_VFP_D +__gnu_Unwind_Save_VFP_D_16_to_31 +__gnu_Unwind_Save_WMMXC +__gnu_Unwind_Save_WMMXD +__gnu_ldivmod_helper +__gnu_uldivmod_helper +__gnu_unwind_execute +__gnu_unwind_frame +__gtdf2 +__hostalias +__init_tls +__ioctl +__isthreaded +__ledf2 +__libc_android_abort +__libc_android_log_assert +__libc_android_log_print +__libc_android_log_vprint +__libc_init +__libc_init_common +__libc_prenit +__llseek +__loc_aton +__loc_ntoa +__ltdf2 +__memcmp16 +__mmap2 +__muldf3 +__muldi3 +__mulsf3 +__nedf2 +__ns_format_ttl +__ns_get16 +__ns_get32 +__ns_initparse +__ns_makecanon +__ns_msg_getflag +__ns_name_compress +__ns_name_ntol +__ns_name_ntop +__ns_name_pack +__ns_name_pton +__ns_name_rollback +__ns_name_skip +__ns_name_uncompress +__ns_name_unpack +__ns_parserr +__ns_put16 +__ns_put32 +__ns_samename +__ns_skiprr +__ns_sprintrr +__ns_sprintrrf +__open +__openat +__p_cdname +__p_cdnname +__p_cert_syms +__p_class +__p_class_syms +__p_default_section_syms +__p_fqname +__p_fqnname +__p_key_syms +__p_option +__p_query +__p_rcode +__p_rcode_syms +__p_secstodate +__p_section +__p_sockun +__p_time +__p_type +__p_type_syms +__p_update_section_syms +__page_shift +__page_size +__pread64 +__progname +__pthread_cleanup_pop +__pthread_cleanup_push +__pthread_clone +__pthread_cond_timedwait +__pthread_cond_timedwait_relative +__ptrace +__putlong +__putshort +__pwrite64 +__rand48_add +__rand48_mult +__rand48_seed +__reboot +__res_close +__res_dnok +__res_get_nibblesuffix +__res_get_nibblesuffix2 +__res_get_state +__res_get_static +__res_getservers +__res_hnok +__res_hostalias +__res_isourserver +__res_mailok +__res_nameinquery +__res_nametoclass +__res_nametotype +__res_nclose +__res_ndestroy +__res_ninit +__res_nmkquery +__res_nopt +__res_nquery +__res_nquerydomain +__res_nsearch +__res_nsend +__res_opt +__res_ourserver_p +__res_ownok +__res_pquery +__res_put_state +__res_queriesmatch +__res_querydomain +__res_randomid +__res_send +__res_send_setqhook +__res_send_setrhook +__res_setservers +__res_vinit +__restore_core_regs +__rt_sigaction +__rt_sigprocmask +__rt_sigtimedwait +__sF +__sFext +__sclose +__sdidinit +__set_errno +__set_syscall_errno +__set_tls +__sflags +__sflush +__sfp +__sfvwrite +__sglue +__sigsuspend +__sinit +__slbexpand +__smakebuf +__sread +__srefill +__srget +__sseek +__stack_chk_fail +__stack_chk_guard +__statfs64 +__subdf3 +__subsf3 +__swbuf +__swhatbuf +__swrite +__swsetup +__sym_ntop +__sym_ntos +__sym_ston +__syslog +__system_properties_init +__system_property_area__ +__system_property_find +__system_property_find_nth +__system_property_get +__system_property_read +__system_property_wait +__thread_entry +__timer_create +__timer_delete +__timer_getoverrun +__timer_gettime +__timer_settime +__timer_table_start_stop +__truncdfsf2 +__udivdi3 +__udivsi3 +__unorddf2 +__unordsf2 +__wait4 +_bss_end__ +_cleanup +_ctype_ +_dns_gethtbyaddr +_dns_gethtbyname +_dorand48 +_edata +_end +_endhtent +_exit +_exit_thread +_exit_with_stack_teardown +_fwalk +_gethtbyaddr +_gethtbyname +_gethtbyname2 +_gethtent +_getlong +_getshort +_init_thread +_longjmp +_mktemp +_nres +_ns_flagdata +_rand48_add +_rand48_mult +_rand48_seed +_res_opcodes +_resolv_cache_add +_resolv_cache_create +_resolv_cache_lookup +_resolv_cache_reset +_sethtent +_setjmp +_stack +_thread_atexit_lock +_thread_atexit_unlock +_thread_created_hook +_tolower_tab_ +_toupper_tab_ +abort +accept +access +acct +alarm +alphasort +arc4random +arc4random_addrandom +arc4random_buf +arc4random_stir +arc4random_uniform +asctime +asctime64 +asctime64_r +asctime_r +asprintf +atexit +atoi +atol +atoll +basename +basename_r +bcopy +bind +bindresvport +brk +bsd_signal +bsearch +btowc +bzero +cacheflush +calloc +capget +capset +chdir +chmod +chown +chroot +clearerr +clock +clock_getres +clock_gettime +clock_nanosleep +clock_settime +close +closedir +closelog +closelog_r +connect +copy_TM_to_tm +copy_tm_to_TM +creat +ctime +ctime64 +ctime64_r +ctime_r +daemon +delete_module +difftime +dirfd +dirname +dirname_r +div +dlindependent_calloc +dlindependent_comalloc +dlmallinfo +dlmalloc_footprint +dlmalloc_max_footprint +dlmalloc_stats +dlmalloc_trim +dlmalloc_usable_size +dlmalloc_walk_free_pages +dlmalloc_walk_heap +dlmallopt +dlpvalloc +dlvalloc +dn_expand +dns_change_prop +dns_last_change_counter +drand48 +dup +dup2 +endpwent +endservent +endutent +environ +epoll_create +epoll_ctl +epoll_wait +erand48 +execl +execle +execlp +execv +execve +execvp +exit +fake_gmtime_r +fake_localtime_r +fchdir +fchmod +fchmodat +fchown +fchownat +fclose +fcntl +fdopen +fdopendir +feof +ferror +fflush +ffs +fgetc +fgetln +fgetpos +fgets +fgetwc +fgetws +fileno +flock +flockfile +fnmatch +fopen +fork +fpathconf +fprintf +fpurge +fputc +fputs +fputwc +fputws +fread +free +free_malloc_leak_info +freeaddrinfo +freedtoa +freopen +fscanf +fseek +fseeko +fsetpos +fstat +fstatat +fstatfs +fsync +ftell +ftello +ftime +ftok +ftruncate +ftrylockfile +funlockfile +funopen +futex +fwide +fwprintf +fwrite +fwscanf +gMallocLeakZygoteChild +gai_strerror +get_malloc_leak_info +getaddrinfo +getc +getc_unlocked +getchar +getchar_unlocked +getcwd +getdents +getdtablesize +getegid +getenv +geteuid +getgid +getgrgid +getgrnam +getgrouplist +getgroups +gethostbyaddr +gethostbyname +gethostbyname2 +gethostbyname_r +gethostent +gethostname +getitimer +getlogin +getmntent +getnameinfo +getnetbyaddr +getnetbyname +getopt +getopt_long +getopt_long_only +getpeername +getpgid +getpgrp +getpid +getppid +getpriority +getprotobyname +getprotobynumber +getpt +getpwnam +getpwuid +getresgid +getresuid +getrlimit +getrusage +gets +getservbyname +getservbyport +getservent +getservent_r +getsockname +getsockopt +gettid +gettimeofday +getuid +getutent +getwc +getwchar +gmtime +gmtime64 +gmtime64_r +gmtime_r +h_errlist +h_nerr +herror +hstrerror +if_indextoname +if_nametoindex +index +inet_addr +inet_aton +inet_nsap_addr +inet_nsap_ntoa +inet_ntoa +inet_ntop +inet_pton +init_module +initgroups +inotify_add_watch +inotify_init +inotify_rm_watch +ioctl +isalnum +isalpha +isascii +isatty +isblank +iscntrl +isdigit +isgraph +islower +isprint +ispunct +issetugid +isspace +isupper +iswalnum +iswalpha +iswcntrl +iswctype +iswdigit +iswgraph +iswlower +iswprint +iswpunct +iswspace +iswupper +iswxdigit +isxdigit +jrand48 +kill +klogctl +lchown +ldexp +ldiv +link +listen +lldiv +load_domain_search_list +localtime +localtime64 +localtime64_r +localtime_r +longjmp +longjmperror +lrand48 +lseek +lseek64 +lstat +madvise +mallinfo +malloc +malloc_debug_init +mbrlen +mbrtowc +mbsinit +mbsrtowcs +memalign +memccpy +memchr +memcmp +memcpy +memmem +memmove +memrchr +memset +memswap +mincore +mkdir +mkdirat +mkdtemp +mknod +mkstemp +mkstemps +mktemp +mktime +mktime64 +mlock +mmap +mount +mprotect +mrand48 +mremap +msync +munlock +munmap +nanosleep +nice +nrand48 +nsdispatch +open +openat +opendir +openlog +openlog_r +optarg +opterr +optind +optopt +optreset +pathconf +pause +pclose +perror +pipe +poll +popen +prctl +pread +printf +pselect +pthread_attr_destroy +pthread_attr_getdetachstate +pthread_attr_getguardsize +pthread_attr_getschedparam +pthread_attr_getschedpolicy +pthread_attr_getscope +pthread_attr_getstack +pthread_attr_getstackaddr +pthread_attr_getstacksize +pthread_attr_init +pthread_attr_setdetachstate +pthread_attr_setguardsize +pthread_attr_setschedparam +pthread_attr_setschedpolicy +pthread_attr_setscope +pthread_attr_setstack +pthread_attr_setstackaddr +pthread_attr_setstacksize +pthread_cond_broadcast +pthread_cond_destroy +pthread_cond_init +pthread_cond_signal +pthread_cond_timedwait +pthread_cond_timedwait_monotonic +pthread_cond_timedwait_monotonic_np +pthread_cond_timedwait_relative_np +pthread_cond_timeout_np +pthread_cond_wait +pthread_create +pthread_detach +pthread_equal +pthread_exit +pthread_getattr_np +pthread_getcpuclockid +pthread_getschedparam +pthread_getspecific +pthread_join +pthread_key_create +pthread_key_delete +pthread_kill +pthread_mutex_destroy +pthread_mutex_init +pthread_mutex_lock +pthread_mutex_lock_timeout_np +pthread_mutex_trylock +pthread_mutex_unlock +pthread_mutexattr_destroy +pthread_mutexattr_getpshared +pthread_mutexattr_gettype +pthread_mutexattr_init +pthread_mutexattr_setpshared +pthread_mutexattr_settype +pthread_once +pthread_self +pthread_setschedparam +pthread_setspecific +pthread_sigmask +ptrace +ptsname +ptsname_r +putc +putc_unlocked +putchar +putchar_unlocked +putenv +puts +pututline +putw +putwc +putwchar +pwrite +qsort +raise +read +readdir +readdir_r +readlink +readv +realloc +realpath +reboot +recv +recvfrom +recvmsg +remove +rename +renameat +res_get_dns_changed +res_init +res_mkquery +res_need_init +res_query +res_search +restore_core_regs +rewind +rewinddir +rmdir +sbrk +scandir +scanf +sched_get_priority_max +sched_get_priority_min +sched_getparam +sched_getscheduler +sched_rr_get_interval +sched_setparam +sched_setscheduler +sched_yield +seed48 +select +sem_close +sem_destroy +sem_getvalue +sem_init +sem_open +sem_post +sem_timedwait +sem_trywait +sem_unlink +sem_wait +send +sendfile +sendmsg +sendto +setbuf +setbuffer +setegid +setenv +seteuid +setgid +setgroups +setitimer +setjmp +setlinebuf +setlocale +setlogmask +setlogmask_r +setpgid +setpgrp +setpriority +setregid +setresgid +setresuid +setreuid +setrlimit +setservent +setsid +setsockopt +settimeofday +setuid +setutent +setvbuf +shutdown +sigaction +sigblock +siginterrupt +siglongjmp +sigpending +sigprocmask +sigsetjmp +sigsetmask +sigsuspend +sigwait +sleep +snprintf +socket +socketpair +sprintf +srand48 +sscanf +stat +statfs +strcasecmp +strcasestr +strcat +strchr +strcmp +strcoll +strcpy +strcspn +strdup +strerror +strerror_r +strftime +strftime_tz +strlcat +strlcpy +strlen +strncasecmp +strncat +strncmp +strncpy +strndup +strnlen +strntoimax +strntoumax +strpbrk +strptime +strrchr +strsep +strsignal +strspn +strstr +strtod +strtoimax +strtok +strtok_r +strtol +strtoll +strtotimeval +strtoul +strtoull +strtoumax +strxfrm +swprintf +swscanf +symlink +sync +sys_siglist +syscall +sysconf +syslog +syslog_r +system +sysv_signal +tcgetpgrp +tcsetpgrp +tempnam +the_key +the_once +time +timegm64 +timelocal64 +timer_create +timer_delete +timer_getoverrun +timer_gettime +timer_settime +times +tkill +tmpfile +tmpnam +toascii +tolower +toupper +towlower +towupper +truncate +ttyname +tzname +tzset +umask +umount +umount2 +uname +ungetc +ungetwc +unlink +unlinkat +unlockpt +unsetenv +usleep +utime +utimes +utmpname +valid_tm_mon +valid_tm_wday +valloc +vasprintf +vfork +vfprintf +vfscanf +vfwprintf +vprintf +vscanf +vsnprintf +vsprintf +vsscanf +vswprintf +vsyslog +vsyslog_r +vwprintf +wait +wait3 +waitid +waitpid +wcrtomb +wcscat +wcschr +wcscmp +wcscoll +wcscpy +wcscspn +wcsftime +wcslen +wcsncat +wcsncmp +wcsncpy +wcspbrk +wcsrchr +wcsrtombs +wcsspn +wcsstr +wcstod +wcstok +wcstol +wcstoul +wcswcs +wcswidth +wcsxfrm +wctob +wctype +wcwidth +wmemchr +wmemcmp +wmemcpy +wmemmove +wmemset +wprintf +write +writev +wscanf diff --git a/ndk/platforms/android-8/arch-arm/symbols/libc.so.txt b/ndk/platforms/android-8/arch-arm/symbols/libc.so.txt new file mode 100644 index 000000000..b26823365 --- /dev/null +++ b/ndk/platforms/android-8/arch-arm/symbols/libc.so.txt @@ -0,0 +1,1140 @@ + +.data.rel.ro +.text +MD5_Final +MD5_Init +MD5_Update +SHA1Final +SHA1Init +SHA1Transform +SHA1Update +_C_ctype_ +_C_tolower_ +_C_toupper_ +_Unwind_Backtrace +_Unwind_Complete +_Unwind_DeleteException +_Unwind_ForcedUnwind +_Unwind_GetCFA +_Unwind_GetDataRelBase +_Unwind_GetLanguageSpecificData +_Unwind_GetRegionStart +_Unwind_GetTextRelBase +_Unwind_RaiseException +_Unwind_Resume +_Unwind_Resume_or_Rethrow +_Unwind_VRS_Get +_Unwind_VRS_Pop +_Unwind_VRS_Set +___Unwind_Backtrace +___Unwind_ForcedUnwind +___Unwind_RaiseException +___Unwind_Resume +___Unwind_Resume_or_Rethrow +__adddf3 +__addsf3 +__aeabi_atexit +__aeabi_cdcmpeq +__aeabi_cdcmple +__aeabi_cdrcmple +__aeabi_d2f +__aeabi_d2iz +__aeabi_dadd +__aeabi_dcmpeq +__aeabi_dcmpge +__aeabi_dcmpgt +__aeabi_dcmple +__aeabi_dcmplt +__aeabi_dcmpun +__aeabi_ddiv +__aeabi_dmul +__aeabi_drsub +__aeabi_dsub +__aeabi_f2d +__aeabi_f2iz +__aeabi_fadd +__aeabi_fcmpun +__aeabi_fdiv +__aeabi_fmul +__aeabi_frsub +__aeabi_fsub +__aeabi_i2d +__aeabi_i2f +__aeabi_idiv +__aeabi_idiv0 +__aeabi_idivmod +__aeabi_l2d +__aeabi_l2f +__aeabi_ldiv0 +__aeabi_ldivmod +__aeabi_lmul +__aeabi_memclr +__aeabi_memclr4 +__aeabi_memclr8 +__aeabi_memcpy +__aeabi_memcpy4 +__aeabi_memcpy8 +__aeabi_memmove +__aeabi_memmove4 +__aeabi_memmove8 +__aeabi_memset +__aeabi_memset4 +__aeabi_memset8 +__aeabi_ui2d +__aeabi_ui2f +__aeabi_uidiv +__aeabi_uidivmod +__aeabi_ul2d +__aeabi_ul2f +__aeabi_uldivmod +__aeabi_unwind_cpp_pr0 +__aeabi_unwind_cpp_pr1 +__aeabi_unwind_cpp_pr2 +__arc4_getbyte +__assert +__assert2 +__atexit +__atexit_invalid +__atexit_register_cleanup +__atomic_cmpxchg +__atomic_dec +__atomic_inc +__atomic_swap +__b64_ntop +__b64_pton +__bionic_brk +__bionic_clone +__bionic_clone_entry +__bionic_libgcc_compat_hooks +__brk +__bss_end__ +__bss_start +__bss_start__ +__cmpdf2 +__cxa_atexit +__cxa_begin_cleanup +__cxa_call_unexpected +__cxa_finalize +__cxa_type_match +__data_start +__div0 +__divdf3 +__divdi3 +__divsf3 +__divsi3 +__dn_comp +__dn_count_labels +__dn_skipname +__dorand48 +__dso_handle +__dtoa +__end__ +__eqdf2 +__errno +__evAddTime +__evCmpTime +__evConsIovec +__evConsTime +__evNowTime +__evOptMonoTime +__evSubTime +__evTimeSpec +__evTimeVal +__evUTCTime +__exidx_end +__exidx_start +__extendsfdf2 +__fcntl +__fcntl64 +__findenv +__fixdfsi +__fixsfsi +__floatdidf +__floatdisf +__floatsidf +__floatsisf +__floatundidf +__floatundisf +__floatunsidf +__floatunsisf +__fork +__fp_nquery +__fp_query +__fremovelock +__futex_syscall3 +__futex_syscall4 +__futex_wait +__futex_wake +__gedf2 +__get_h_errno +__get_pc +__get_res_cache +__get_sp +__get_stack_base +__get_thread +__getcwd +__getpriority +__gnu_Unwind_Backtrace +__gnu_Unwind_Find_exidx +__gnu_Unwind_ForcedUnwind +__gnu_Unwind_RaiseException +__gnu_Unwind_Restore_VFP +__gnu_Unwind_Restore_VFP_D +__gnu_Unwind_Restore_VFP_D_16_to_31 +__gnu_Unwind_Restore_WMMXC +__gnu_Unwind_Restore_WMMXD +__gnu_Unwind_Resume +__gnu_Unwind_Resume_or_Rethrow +__gnu_Unwind_Save_VFP +__gnu_Unwind_Save_VFP_D +__gnu_Unwind_Save_VFP_D_16_to_31 +__gnu_Unwind_Save_WMMXC +__gnu_Unwind_Save_WMMXD +__gnu_ldivmod_helper +__gnu_uldivmod_helper +__gnu_unwind_execute +__gnu_unwind_frame +__gtdf2 +__hostalias +__init_tls +__ioctl +__isthreaded +__ledf2 +__libc_android_abort +__libc_android_log_assert +__libc_android_log_print +__libc_android_log_vprint +__libc_init +__libc_init_common +__libc_malloc_default_dispatch +__libc_malloc_dispatch +__libc_prenit +__llseek +__loc_aton +__loc_ntoa +__ltdf2 +__memcmp16 +__mmap2 +__muldf3 +__muldi3 +__mulsf3 +__nedf2 +__ns_format_ttl +__ns_get16 +__ns_get32 +__ns_initparse +__ns_makecanon +__ns_msg_getflag +__ns_name_compress +__ns_name_ntol +__ns_name_ntop +__ns_name_pack +__ns_name_pton +__ns_name_rollback +__ns_name_skip +__ns_name_uncompress +__ns_name_unpack +__ns_parserr +__ns_put16 +__ns_put32 +__ns_samename +__ns_skiprr +__ns_sprintrr +__ns_sprintrrf +__open +__openat +__p_cdname +__p_cdnname +__p_cert_syms +__p_class +__p_class_syms +__p_default_section_syms +__p_fqname +__p_fqnname +__p_key_syms +__p_option +__p_query +__p_rcode +__p_rcode_syms +__p_secstodate +__p_section +__p_sockun +__p_time +__p_type +__p_type_syms +__p_update_section_syms +__page_shift +__page_size +__pread64 +__progname +__pthread_cleanup_pop +__pthread_cleanup_push +__pthread_clone +__pthread_cond_timedwait +__pthread_cond_timedwait_relative +__ptrace +__putlong +__putshort +__pwrite64 +__rand48_add +__rand48_mult +__rand48_seed +__reboot +__res_close +__res_dnok +__res_get_nibblesuffix +__res_get_nibblesuffix2 +__res_get_state +__res_get_static +__res_getservers +__res_hnok +__res_hostalias +__res_isourserver +__res_mailok +__res_nameinquery +__res_nametoclass +__res_nametotype +__res_nclose +__res_ndestroy +__res_ninit +__res_nmkquery +__res_nopt +__res_nquery +__res_nquerydomain +__res_nsearch +__res_nsend +__res_opt +__res_ourserver_p +__res_ownok +__res_pquery +__res_put_state +__res_queriesmatch +__res_querydomain +__res_randomid +__res_send +__res_send_setqhook +__res_send_setrhook +__res_setservers +__res_vinit +__restore_core_regs +__rt_sigaction +__rt_sigprocmask +__rt_sigtimedwait +__sF +__sFext +__sclose +__sdidinit +__set_errno +__set_syscall_errno +__set_tls +__setresuid +__setreuid +__setuid +__sflags +__sflush +__sfp +__sfvwrite +__sglue +__sigsuspend +__sinit +__slbexpand +__smakebuf +__sread +__srefill +__srget +__sseek +__stack_chk_fail +__stack_chk_guard +__statfs64 +__subdf3 +__subsf3 +__swbuf +__swhatbuf +__swrite +__swsetup +__sym_ntop +__sym_ntos +__sym_ston +__sys_clone +__syslog +__system_properties_init +__system_property_area__ +__system_property_find +__system_property_find_nth +__system_property_get +__system_property_read +__system_property_wait +__thread_entry +__timer_create +__timer_delete +__timer_getoverrun +__timer_gettime +__timer_settime +__timer_table_start_stop +__truncdfsf2 +__udivdi3 +__udivsi3 +__unorddf2 +__unordsf2 +__wait4 +_bss_end__ +_cleanup +_ctype_ +_dns_gethtbyaddr +_dns_gethtbyname +_dorand48 +_edata +_end +_endhtent +_exit +_exit_thread +_exit_with_stack_teardown +_fwalk +_gethtbyaddr +_gethtbyname +_gethtbyname2 +_gethtent +_getlong +_getshort +_init_thread +_longjmp +_mktemp +_nres +_ns_flagdata +_rand48_add +_rand48_mult +_rand48_seed +_res_opcodes +_resolv_cache_add +_resolv_cache_create +_resolv_cache_lookup +_resolv_cache_reset +_sethtent +_setjmp +_stack +_thread_atexit_lock +_thread_atexit_unlock +_thread_created_hook +_tolower_tab_ +_toupper_tab_ +abort +accept +access +acct +alarm +alphasort +arc4random +arc4random_addrandom +arc4random_buf +arc4random_stir +arc4random_uniform +asctime +asctime64 +asctime64_r +asctime_r +asprintf +atexit +atoi +atol +atoll +basename +basename_r +bcopy +bind +bindresvport +brk +bsd_signal +bsearch +btowc +bzero +cacheflush +calloc +capget +capset +chdir +chmod +chown +chroot +clearenv +clearerr +clock +clock_getres +clock_gettime +clock_nanosleep +clock_settime +clone +close +closedir +closelog +closelog_r +connect +copy_TM_to_tm +copy_tm_to_TM +cpuacct_add +creat +ctime +ctime64 +ctime64_r +ctime_r +daemon +daylight +delete_module +difftime +dirfd +dirname +dirname_r +div +dlcalloc +dlfree +dlindependent_calloc +dlindependent_comalloc +dlmallinfo +dlmalloc +dlmalloc_footprint +dlmalloc_max_footprint +dlmalloc_stats +dlmalloc_trim +dlmalloc_usable_size +dlmalloc_walk_free_pages +dlmalloc_walk_heap +dlmallopt +dlmemalign +dlpvalloc +dlrealloc +dlvalloc +dn_expand +dns_change_prop +dns_last_change_counter +drand48 +dup +dup2 +endpwent +endservent +endusershell +endutent +environ +epoll_create +epoll_ctl +epoll_wait +erand48 +err +errx +execl +execle +execlp +execv +execve +execvp +exit +fake_gmtime_r +fake_localtime_r +fchdir +fchmod +fchmodat +fchown +fchownat +fclose +fcntl +fdopen +fdopendir +fdprintf +feof +ferror +fflush +ffs +fgetc +fgetln +fgetpos +fgets +fgetwc +fgetws +fileno +flock +flockfile +fnmatch +fopen +fork +fpathconf +fprintf +fpurge +fputc +fputs +fputwc +fputws +fread +free +free_malloc_leak_info +freeaddrinfo +freedtoa +freopen +fscanf +fseek +fseeko +fsetpos +fstat +fstatat +fstatfs +fsync +ftell +ftello +ftime +ftok +ftruncate +ftrylockfile +fts_children +fts_close +fts_open +fts_read +fts_set +funlockfile +funopen +futex +fwide +fwprintf +fwrite +fwscanf +gAllocationsMutex +gHashTable +gMallocLeakZygoteChild +gai_strerror +get_malloc_leak_info +getaddrinfo +getc +getc_unlocked +getchar +getchar_unlocked +getcwd +getdents +getdtablesize +getegid +getenv +geteuid +getgid +getgrgid +getgrnam +getgrouplist +getgroups +gethostbyaddr +gethostbyname +gethostbyname2 +gethostbyname_r +gethostent +gethostname +getitimer +getlogin +getmntent +getnameinfo +getnetbyaddr +getnetbyname +getopt +getopt_long +getopt_long_only +getpeername +getpgid +getpgrp +getpid +getppid +getpriority +getprotobyname +getprotobynumber +getpt +getpwnam +getpwuid +getresgid +getresuid +getrlimit +getrusage +gets +getservbyname +getservbyport +getservent +getservent_r +getsockname +getsockopt +gettid +gettimeofday +getuid +getusershell +getutent +getwc +getwchar +gmtime +gmtime64 +gmtime64_r +gmtime_r +h_errlist +h_nerr +herror +hstrerror +if_indextoname +if_nametoindex +index +inet_addr +inet_aton +inet_nsap_addr +inet_nsap_ntoa +inet_ntoa +inet_ntop +inet_pton +init_module +initgroups +inotify_add_watch +inotify_init +inotify_rm_watch +ioctl +ioprio_get +ioprio_set +isalnum +isalpha +isascii +isatty +isblank +iscntrl +isdigit +isgraph +islower +isprint +ispunct +issetugid +isspace +isupper +iswalnum +iswalpha +iswcntrl +iswctype +iswdigit +iswgraph +iswlower +iswprint +iswpunct +iswspace +iswupper +iswxdigit +isxdigit +jrand48 +kill +killpg +klogctl +lchown +ldexp +ldiv +link +listen +lldiv +load_domain_search_list +localtime +localtime64 +localtime64_r +localtime_r +longjmp +longjmperror +lrand48 +lseek +lseek64 +lstat +madvise +mallinfo +malloc +malloc_debug_init +mbrlen +mbrtowc +mbsinit +mbsrtowcs +mbstowcs +memalign +memccpy +memchr +memcmp +memcpy +memmem +memmove +memrchr +memset +memswap +mincore +mkdir +mkdirat +mkdtemp +mknod +mkstemp +mkstemps +mktemp +mktime +mktime64 +mlock +mmap +mount +mprotect +mrand48 +mremap +msync +munlock +munmap +nanosleep +nice +nrand48 +nsdispatch +open +openat +opendir +openlog +openlog_r +optarg +opterr +optind +optopt +optreset +pathconf +pause +pclose +perror +pipe +poll +popen +prctl +pread +printf +pselect +pthread_attr_destroy +pthread_attr_getdetachstate +pthread_attr_getguardsize +pthread_attr_getschedparam +pthread_attr_getschedpolicy +pthread_attr_getscope +pthread_attr_getstack +pthread_attr_getstackaddr +pthread_attr_getstacksize +pthread_attr_init +pthread_attr_setdetachstate +pthread_attr_setguardsize +pthread_attr_setschedparam +pthread_attr_setschedpolicy +pthread_attr_setscope +pthread_attr_setstack +pthread_attr_setstackaddr +pthread_attr_setstacksize +pthread_cond_broadcast +pthread_cond_destroy +pthread_cond_init +pthread_cond_signal +pthread_cond_timedwait +pthread_cond_timedwait_monotonic +pthread_cond_timedwait_monotonic_np +pthread_cond_timedwait_relative_np +pthread_cond_timeout_np +pthread_cond_wait +pthread_condattr_destroy +pthread_condattr_getpshared +pthread_condattr_init +pthread_condattr_setpshared +pthread_create +pthread_detach +pthread_equal +pthread_exit +pthread_getattr_np +pthread_getcpuclockid +pthread_getschedparam +pthread_getspecific +pthread_join +pthread_key_create +pthread_key_delete +pthread_kill +pthread_mutex_destroy +pthread_mutex_init +pthread_mutex_lock +pthread_mutex_lock_timeout_np +pthread_mutex_trylock +pthread_mutex_unlock +pthread_mutexattr_destroy +pthread_mutexattr_getpshared +pthread_mutexattr_gettype +pthread_mutexattr_init +pthread_mutexattr_setpshared +pthread_mutexattr_settype +pthread_once +pthread_self +pthread_setschedparam +pthread_setspecific +pthread_sigmask +ptrace +ptsname +ptsname_r +putc +putc_unlocked +putchar +putchar_unlocked +putenv +puts +pututline +putw +putwc +putwchar +pwrite +qsort +raise +read +readdir +readdir_r +readlink +readv +realloc +realpath +reboot +recv +recvfrom +recvmsg +regcomp +regerror +regexec +regfree +remove +rename +renameat +res_get_dns_changed +res_init +res_mkquery +res_need_init +res_query +res_search +restore_core_regs +rewind +rewinddir +rmdir +sbrk +scandir +scanf +sched_get_priority_max +sched_get_priority_min +sched_getparam +sched_getscheduler +sched_rr_get_interval +sched_setparam +sched_setscheduler +sched_yield +seed48 +select +sem_close +sem_destroy +sem_getvalue +sem_init +sem_open +sem_post +sem_timedwait +sem_trywait +sem_unlink +sem_wait +send +sendfile +sendmsg +sendto +setbuf +setbuffer +setegid +setenv +seteuid +setgid +setgroups +setitimer +setjmp +setlinebuf +setlocale +setlogmask +setlogmask_r +setpgid +setpgrp +setpriority +setregid +setresgid +setresuid +setreuid +setrlimit +setservent +setsid +setsockopt +settimeofday +setuid +setusershell +setutent +setvbuf +shutdown +sigaction +sigaltstack +sigblock +siginterrupt +siglongjmp +sigpending +sigprocmask +sigsetjmp +sigsetmask +sigsuspend +sigwait +sleep +snprintf +socket +socketpair +sprintf +srand48 +sscanf +stat +statfs +strcasecmp +strcasestr +strcat +strchr +strcmp +strcoll +strcpy +strcspn +strdup +strerror +strerror_r +strftime +strftime_tz +strlcat +strlcpy +strlen +strncasecmp +strncat +strncmp +strncpy +strndup +strnlen +strntoimax +strntoumax +strpbrk +strptime +strrchr +strsep +strsignal +strspn +strstr +strtod +strtoimax +strtok +strtok_r +strtol +strtoll +strtotimeval +strtoul +strtoull +strtoumax +strxfrm +swprintf +swscanf +symlink +sync +sys_siglist +sys_signame +syscall +sysconf +syslog +syslog_r +system +sysv_signal +tcgetpgrp +tcsetpgrp +tempnam +the_key +the_once +time +timegm64 +timelocal64 +timer_create +timer_delete +timer_getoverrun +timer_gettime +timer_settime +times +timezone +tkill +tmpfile +tmpnam +toascii +tolower +toupper +towlower +towupper +truncate +ttyname +ttyname_r +tzname +tzset +umask +umount +umount2 +uname +ungetc +ungetwc +unlink +unlinkat +unlockpt +unsetenv +usleep +utime +utimes +utmpname +valid_tm_mon +valid_tm_wday +valloc +vasprintf +verr +verrx +vfdprintf +vfork +vfprintf +vfscanf +vfwprintf +vprintf +vscanf +vsnprintf +vsprintf +vsscanf +vswprintf +vsyslog +vsyslog_r +vwarn +vwarnx +vwprintf +wait +wait3 +waitid +waitpid +warn +warnx +wcrtomb +wcscat +wcschr +wcscmp +wcscoll +wcscpy +wcscspn +wcsftime +wcslen +wcsncat +wcsncmp +wcsncpy +wcspbrk +wcsrchr +wcsrtombs +wcsspn +wcsstr +wcstod +wcstok +wcstol +wcstombs +wcstoul +wcswcs +wcswidth +wcsxfrm +wctob +wctype +wcwidth +wmemchr +wmemcmp +wmemcpy +wmemmove +wmemset +wprintf +write +writev +wscanf diff --git a/ndk/platforms/android-8/include/sched.h b/ndk/platforms/android-8/include/sched.h index 3211ecfec..2dba5b129 100644 --- a/ndk/platforms/android-8/include/sched.h +++ b/ndk/platforms/android-8/include/sched.h @@ -69,7 +69,9 @@ extern int sched_rr_get_interval(pid_t pid, struct timespec *tp); #define CLONE_CHILD_SETTID 0x01000000 #define CLONE_STOPPED 0x02000000 +#ifdef _GNU_SOURCE extern int clone(int (*fn)(void*), void *child_stack, int flags, void *arg); +#endif __END_DECLS diff --git a/ndk/platforms/android-8/include/signal.h b/ndk/platforms/android-8/include/signal.h index 7bc3145b7..440116443 100644 --- a/ndk/platforms/android-8/include/signal.h +++ b/ndk/platforms/android-8/include/signal.h @@ -120,6 +120,7 @@ extern int siginterrupt(int sig, int flag); extern int raise(int); extern int kill(pid_t, int); extern int killpg(int pgrp, int sig); +extern int sigaltstack(const stack_t *ss, stack_t *oss); __END_DECLS diff --git a/ndk/platforms/android-8/include/stdio.h b/ndk/platforms/android-8/include/stdio.h index f0e103e0f..ac475db81 100644 --- a/ndk/platforms/android-8/include/stdio.h +++ b/ndk/platforms/android-8/include/stdio.h @@ -300,8 +300,10 @@ __END_DECLS #define L_cuserid 9 /* size for cuserid(); UT_NAMESIZE + 1 */ __BEGIN_DECLS +#if 0 /* MISSING FROM BIONIC */ char *ctermid(char *); char *cuserid(char *); +#endif /* MISSING */ FILE *fdopen(int, const char *); int fileno(FILE *); diff --git a/ndk/platforms/android-8/include/stdlib.h b/ndk/platforms/android-8/include/stdlib.h new file mode 100644 index 000000000..ddaf32cda --- /dev/null +++ b/ndk/platforms/android-8/include/stdlib.h @@ -0,0 +1,185 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +#ifndef _STDLIB_H_ +#define _STDLIB_H_ + +#include + +/* wchar_t is required in stdlib.h according to POSIX. + * note that defining __need_wchar_t prevents stddef.h + * to define all other symbols it does normally */ +#define __need_wchar_t +#include + +#include +#include +#include +#include +#include + +__BEGIN_DECLS + +#define EXIT_FAILURE 1 +#define EXIT_SUCCESS 0 + +extern __noreturn void exit(int); +extern __noreturn void abort(void); +extern int atexit(void (*)(void)); + +extern char *getenv(const char *); +extern int putenv(const char *); +extern int setenv(const char *, const char *, int); +extern int unsetenv(const char *); +extern int clearenv(void); + +extern char *mktemp (char *); +extern int mkstemp (char *); + +extern long strtol(const char *, char **, int); +extern long long strtoll(const char *, char **, int); +extern unsigned long strtoul(const char *, char **, int); +extern unsigned long long strtoull(const char *, char **, int); +extern double strtod(const char *nptr, char **endptr); + +static __inline__ float strtof(const char *nptr, char **endptr) +{ + return (float)strtod(nptr, endptr); +} + +extern int atoi(const char *); +extern long atol(const char *); +extern long long atoll(const char *); + +static __inline__ double atof(const char *nptr) +{ + return (strtod(nptr, NULL)); +} + +static __inline__ int abs(int __n) { + return (__n < 0) ? -__n : __n; +} + +static __inline__ long labs(long __n) { + return (__n < 0L) ? -__n : __n; +} + +static __inline__ long long llabs(long long __n) { + return (__n < 0LL) ? -__n : __n; +} + +extern char * realpath(const char *path, char *resolved); +extern int system(const char * string); + +extern void * bsearch(const void *key, const void *base0, + size_t nmemb, size_t size, + int (*compar)(const void *, const void *)); + +extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); + +extern long jrand48(unsigned short *); +extern long mrand48(void); +extern long nrand48(unsigned short *); +extern long lrand48(void); +extern unsigned short *seed48(unsigned short*); +extern double erand48(unsigned short xsubi[3]); +extern double drand48(void); +extern void srand48(long); +extern unsigned int arc4random(void); +extern void arc4random_stir(void); +extern void arc4random_addrandom(unsigned char *, int); + +#define RAND_MAX 0x7fffffff +static __inline__ int rand(void) { + return (int)lrand48(); +} +static __inline__ void srand(unsigned int __s) { + srand48(__s); +} +static __inline__ long random(void) +{ + return lrand48(); +} +static __inline__ void srandom(unsigned int __s) +{ + srand48(__s); +} + +/* Basic PTY functions. These only work if devpts is mounted! */ + +extern int unlockpt(int); +extern char* ptsname(int); +extern char* ptsname_r(int, char*, size_t); +extern int getpt(void); + +static __inline__ int grantpt(int __fd) +{ + (void)__fd; + return 0; /* devpts does this all for us! */ +} + +typedef struct { + int quot; + int rem; +} div_t; + +extern div_t div(int, int); + +typedef struct { + long int quot; + long int rem; +} ldiv_t; + +extern ldiv_t ldiv(long, long); + +typedef struct { + long long int quot; + long long int rem; +} lldiv_t; + +extern lldiv_t lldiv(long long, long long); + +#if 1 /* MISSING FROM BIONIC - ENABLED FOR STLPort and libstdc++-v3 */ +/* make STLPort happy */ +extern int mblen(const char *, size_t); +extern size_t mbstowcs(wchar_t *, const char *, size_t); +extern int mbtowc(wchar_t *, const char *, size_t); + +/* Likewise, make libstdc++-v3 happy. */ +extern int wctomb(char *, wchar_t); +extern size_t wcstombs(char *, const wchar_t *, size_t); +#endif /* MISSING */ + +#define MB_CUR_MAX 1 + +#if 0 /* MISSING FROM BIONIC */ +extern int on_exit(void (*)(int, void *), void *); +#endif /* MISSING */ + +__END_DECLS + +#endif /* _STDLIB_H_ */ diff --git a/ndk/platforms/android-8/include/time.h b/ndk/platforms/android-8/include/time.h new file mode 100644 index 000000000..6163c6d5f --- /dev/null +++ b/ndk/platforms/android-8/include/time.h @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +#ifndef _TIME_H_ +#define _TIME_H_ + +#include +#include + +#define __ARCH_SI_UID_T __kernel_uid32_t +#include +#undef __ARCH_SI_UID_T + +__BEGIN_DECLS + +extern time_t time(time_t *); +extern int nanosleep(const struct timespec *, struct timespec *); + +extern char *strtotimeval(const char *str, struct timeval *tv); + +struct tm { + int tm_sec; /* seconds */ + int tm_min; /* minutes */ + int tm_hour; /* hours */ + int tm_mday; /* day of the month */ + int tm_mon; /* month */ + int tm_year; /* year */ + int tm_wday; /* day of the week */ + int tm_yday; /* day in the year */ + int tm_isdst; /* daylight saving time */ + + long int tm_gmtoff; /* Seconds east of UTC. */ + const char *tm_zone; /* Timezone abbreviation. */ + +}; + +/* defining TM_ZONE indicates that we have a "timezone abbreviation" field in + * struct tm, the value should be the field name + */ +#define TM_ZONE tm_zone + +extern char* asctime(const struct tm* a); +extern char* asctime_r(const struct tm* a, char* buf); + +/* Return the difference between TIME1 and TIME0. */ +extern double difftime (time_t __time1, time_t __time0); +extern time_t mktime (struct tm *a); + +extern struct tm* localtime(const time_t *t); +extern struct tm* localtime_r(const time_t *timep, struct tm *result); + +extern struct tm* gmtime(const time_t *timep); +extern struct tm* gmtime_r(const time_t *timep, struct tm *result); + +extern char* strptime(const char *buf, const char *fmt, struct tm *tm); +extern size_t strftime(char *s, size_t max, const char *format, const struct tm *tm); + +extern char *ctime(const time_t *timep); +extern char *ctime_r(const time_t *timep, char *buf); + +extern void tzset(void); + +/* global includes */ +extern char* tzname[]; +extern int daylight; +extern long int timezone; + +#define CLOCKS_PER_SEC 1000000 + +extern clock_t clock(void); + +/* BIONIC: extra linux clock goodies */ +extern int clock_getres(int, struct timespec *); +extern int clock_gettime(int, struct timespec *); + +#define CLOCK_REALTIME 0 +#define CLOCK_MONOTONIC 1 +#define CLOCK_PROCESS_CPUTIME_ID 2 +#define CLOCK_THREAD_CPUTIME_ID 3 +#define CLOCK_REALTIME_HR 4 +#define CLOCK_MONOTONIC_HR 5 + +extern int timer_create(int, struct sigevent*, timer_t*); +extern int timer_delete(timer_t); +extern int timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); +extern int timer_gettime(timer_t timerid, struct itimerspec *value); +extern int timer_getoverrun(timer_t timerid); + +__END_DECLS + +#endif /* _TIME_H_ */ diff --git a/ndk/platforms/android-8/include/unistd.h b/ndk/platforms/android-8/include/unistd.h index 75541980d..d64c971cd 100644 --- a/ndk/platforms/android-8/include/unistd.h +++ b/ndk/platforms/android-8/include/unistd.h @@ -61,16 +61,13 @@ extern pid_t getppid(void); extern pid_t getpgrp(void); extern int setpgrp(void); extern pid_t setsid(void); -extern pid_t getsid(pid_t); extern int execv(const char *, char * const *); extern int execvp(const char *, char * const *); extern int execve(const char *, char * const *, char * const *); -extern int execvpe(const char *, char * const *, char * const *); extern int execl(const char *, const char *, ...); extern int execlp(const char *, const char *, ...); extern int execle(const char *, const char *, ...); -extern int execlpe(const char *, const char *, ...); extern int capget(cap_user_header_t hdrp, cap_user_data_t datap); extern int capset(cap_user_header_t hdrp, const cap_user_data_t datap); extern int prctl(int option, unsigned long arg2, unsigned long arg3, @@ -94,11 +91,8 @@ extern int setresuid(uid_t, uid_t, uid_t); extern int setresgid(gid_t, gid_t, gid_t); extern int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); extern int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); -extern int getfsuid(uid_t); -extern int setfsuid(uid_t); extern int issetugid(void); extern char* getlogin(void); -extern int getlogin_r(char* name, size_t namesize); extern char* getusershell(void); extern void setusershell(void); extern void endusershell(void); @@ -144,7 +138,6 @@ extern int fcntl(int, int, ...); extern int ioctl(int, int, ...); extern int flock(int, int); extern int fsync(int); -extern int fdatasync(int); extern int ftruncate(int, off_t); extern int pause(void); @@ -153,9 +146,6 @@ extern unsigned int sleep(unsigned int); extern int usleep(unsigned long); extern int gethostname(char *, size_t); -extern int sethostname(const char *, size_t); -extern int getdomainname(char *, size_t); -extern int setdomainname(const char *, size_t); extern int getdtablesize(void); @@ -192,6 +182,19 @@ extern int cacheflush(long start, long end, long flags); extern pid_t tcgetpgrp(int fd); extern int tcsetpgrp(int fd, pid_t _pid); +#if 0 /* MISSING FROM BIONIC */ +extern pid_t getsid(pid_t); +extern int execvpe(const char *, char * const *, char * const *); +extern int execlpe(const char *, const char *, ...); +extern int getfsuid(uid_t); +extern int setfsuid(uid_t); +extern int fdatasync(int); +extern int getlogin_r(char* name, size_t namesize); +extern int sethostname(const char *, size_t); +extern int getdomainname(char *, size_t); +extern int setdomainname(const char *, size_t); +#endif /* MISSING */ + /* Used to retry syscalls that can return EINTR. */ #define TEMP_FAILURE_RETRY(exp) ({ \ typeof (exp) _rc; \