| { |
| "config": { |
| "ignore_non_custom": true |
| }, |
| "symbols": { |
| "__clone_for_fork": { |
| "call_method": "custom_thunk", |
| "header": "unistd.h", |
| "is_compatible": true, |
| "signature": "i" |
| }, |
| "__get_thread_stack_top": { |
| "call_method": "custom_trampoline", |
| "header": "android_unsafe_frame_pointer_chase.h" |
| }, |
| "__pthread_cleanup_pop": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "reason_for_compatible": [ |
| "struct __pthread_cleanup_t has pointer to ", |
| "function. TODO(levarum): Is this an issue?" |
| ], |
| "signature": "vpi" |
| }, |
| "__pthread_cleanup_push": { |
| "call_method": "custom_trampoline", |
| "header": "pthread.h", |
| "signature": "vppp" |
| }, |
| "__system_properties_init": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "i" |
| }, |
| "__system_property_add": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "ipupu" |
| }, |
| "__system_property_area_init": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "i" |
| }, |
| "__system_property_area_serial": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "u" |
| }, |
| "__system_property_find": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "pp" |
| }, |
| "__system_property_find_nth": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "pu" |
| }, |
| "__system_property_foreach": { |
| "call_method": "custom_trampoline", |
| "header": "sys/system_properties.h", |
| "signature": "ipp" |
| }, |
| "__system_property_get": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "ipp" |
| }, |
| "__system_property_read": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "ippp" |
| }, |
| "__system_property_read_callback": { |
| "call_method": "custom_trampoline", |
| "header": "sys/system_properties.h", |
| "signature": "vppp" |
| }, |
| "__system_property_serial": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "up" |
| }, |
| "__system_property_set": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "ipp" |
| }, |
| "__system_property_set_filename": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "ip" |
| }, |
| "__system_property_update": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "ippu" |
| }, |
| "__system_property_wait": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "ipupp" |
| }, |
| "__system_property_wait_any": { |
| "call_method": "default", |
| "header": "sys/system_properties.h", |
| "is_compatible": true, |
| "signature": "uu" |
| }, |
| "_longjmp": { |
| "call_method": "custom_thunk", |
| "header": "setjump.h", |
| "signature": "vpi" |
| }, |
| "_setjmp": { |
| "call_method": "custom_thunk", |
| "header": "setjump.h", |
| "signature": "ip" |
| }, |
| "android_getaddrinfofornet": { |
| "call_method": "default", |
| "comment": [ |
| "This function could contact daemon on certain android devices. ", |
| "Also certain android functions in libandroid return data ", |
| "structures which are supposed to be freed with freeaddrinfo" |
| ], |
| "header": "resolv_netid.h", |
| "is_compatible": true, |
| "signature": "ipppuup" |
| }, |
| "android_getaddrinfofornetcontext": { |
| "call_method": "default", |
| "comment": "See description for android_getaddrinfofornet", |
| "header": "resolv_netid.h", |
| "is_compatible": true, |
| "signature": "ippppp" |
| }, |
| "android_mallopt": { |
| "call_method": "default", |
| "is_compatible": true, |
| "signature": "iipz" |
| }, |
| "android_set_abort_message": { |
| "call_method": "default", |
| "header": "android/set_abort_message.h", |
| "is_compatible": true, |
| "signature": "vp" |
| }, |
| "clock_gettime": { |
| "call_method": "default", |
| "comment": "clock_gettime uses call to vdso symbol to avoid doing syscall, this is why we want to proxy it to the host library", |
| "header": "sys/time.h", |
| "is_compatible": true, |
| "signature": "iip" |
| }, |
| "clock_getres": { |
| "call_method": "default", |
| "comment": "See description for clock_gettime", |
| "header": "sys/time.h", |
| "is_compatible": true, |
| "signature": "iip" |
| }, |
| "environ": { |
| "call_method": "do_not_call", |
| "header": "unitstd.h", |
| "is_compatible": true |
| }, |
| "freeaddrinfo": { |
| "call_method": "default", |
| "comment": "See description for android_getaddrinfofornet", |
| "header": "netdb.h", |
| "is_compatible": true, |
| "signature": "vp" |
| }, |
| "gai_strerror": { |
| "call_method": "default", |
| "comment": "See description for android_getaddrinfofornet", |
| "header": "netdb.h", |
| "is_compatible": true, |
| "signature": "pi" |
| }, |
| "getaddrinfo": { |
| "call_method": "default", |
| "comment": "See description for android_getaddrinfofornet", |
| "header": "netdb.h", |
| "is_compatible": true, |
| "signature": "ipppp" |
| }, |
| "gethostbyaddr": { |
| "call_method": "default", |
| "comment": "See description for android_getaddrinfofornet", |
| "header": "netdb.h", |
| "is_compatible": true, |
| "signature": "ppii" |
| }, |
| "gethostbyname": { |
| "call_method": "default", |
| "comment": "See description for android_getaddrinfofornet", |
| "header": "netdb.h", |
| "is_compatible": true, |
| "signature": "pp" |
| }, |
| "getnameinfo": { |
| "call_method": "default", |
| "comment": "See description for android_getaddrinfofornet", |
| "header": "netdb.h", |
| "is_compatible": true, |
| "signature": "ipipipii" |
| }, |
| "gettimeofday": { |
| "call_method": "default", |
| "comment": "See description for clock_gettime", |
| "header": "sys/time.h", |
| "is_compatible": true, |
| "signature": "ipp" |
| }, |
| "longjmp": { |
| "call_method": "custom_thunk", |
| "header": "setjump.h", |
| "signature": "vpi" |
| }, |
| "memset": { |
| "call_method": "default", |
| "comment": "performance optimization", |
| "is_compatible": true, |
| "signature": "ppii" |
| }, |
| "memcpy": { |
| "call_method": "default", |
| "comment": "performance optimization", |
| "is_compatible": true, |
| "signature": "pppi" |
| }, |
| "memcmp": { |
| "call_method": "default", |
| "comment": "performance optimization", |
| "is_compatible": true, |
| "signature": "ippi" |
| }, |
| "native_bridge___cxa_thread_atexit_impl": { |
| "call_method": "custom_trampoline", |
| "header": "c++ abi" |
| }, |
| "native_bridge_aligned_alloc": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "aligned_alloc", |
| "header": "malloc.h", |
| "is_compatible": true, |
| "signature": "pzz" |
| }, |
| "native_bridge_calloc": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "calloc", |
| "header": "malloc.h", |
| "is_compatible": true, |
| "signature": "pzz" |
| }, |
| "native_bridge_exit": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "exit", |
| "header": "stdlib.h", |
| "signature": "vi" |
| }, |
| "native_bridge_free": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "free", |
| "header": "malloc.h", |
| "is_compatible": true, |
| "signature": "vp" |
| }, |
| "native_bridge_mallinfo": { |
| "call_method": "custom_trampoline", |
| "header": "malloc.h" |
| }, |
| "native_bridge_malloc": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "malloc", |
| "header": "malloc.h", |
| "is_compatible": true, |
| "signature": "pz" |
| }, |
| "native_bridge_malloc_disable": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "malloc_disable", |
| "header": "malloc.h", |
| "is_compatible": true, |
| "signature": "v" |
| }, |
| "native_bridge_malloc_enable": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "malloc_enable", |
| "header": "malloc.h", |
| "is_compatible": true, |
| "signature": "v" |
| }, |
| "native_bridge_malloc_info_helper": { |
| "call_method": "custom_trampoline" |
| }, |
| "native_bridge_malloc_iterate": { |
| "call_method": "custom_trampoline", |
| "is_compatible": true, |
| "signature": "izzpp" |
| }, |
| "native_bridge_malloc_usable_size": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "malloc_usable_size", |
| "header": "malloc.h", |
| "is_compatible": true, |
| "signature": "zp" |
| }, |
| "native_bridge_mallopt": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "mallopt", |
| "header": "malloc.h", |
| "is_compatible": true, |
| "signature": "iii" |
| }, |
| "native_bridge_memalign": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "memalign", |
| "header": "malloc.h", |
| "is_compatible": true, |
| "signature": "pzz" |
| }, |
| "native_bridge_posix_memalign": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "posix_memalign", |
| "header": "malloc.h", |
| "is_compatible": true, |
| "signature": "ipzz" |
| }, |
| "native_bridge_realloc": { |
| "call_method": "custom_thunk", |
| "custom_thunk": "realloc", |
| "header": "malloc.h", |
| "is_compatible": true, |
| "signature": "ppz" |
| }, |
| "pthread_attr_destroy": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ip" |
| }, |
| "pthread_attr_getdetachstate": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipp" |
| }, |
| "pthread_attr_getguardsize": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipp" |
| }, |
| "pthread_attr_getinheritsched": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipp" |
| }, |
| "pthread_attr_getschedparam": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipp" |
| }, |
| "pthread_attr_getschedpolicy": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipp" |
| }, |
| "pthread_attr_getscope": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipp" |
| }, |
| "pthread_attr_getstack": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ippp" |
| }, |
| "pthread_attr_getstacksize": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipp" |
| }, |
| "pthread_attr_init": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ip" |
| }, |
| "pthread_attr_setdetachstate": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipi" |
| }, |
| "pthread_attr_setguardsize": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipz" |
| }, |
| "pthread_attr_setinheritsched": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipi" |
| }, |
| "pthread_attr_setschedparam": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipp" |
| }, |
| "pthread_attr_setschedpolicy": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipi" |
| }, |
| "pthread_attr_setscope": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipi" |
| }, |
| "pthread_attr_setstack": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ippz" |
| }, |
| "pthread_attr_setstacksize": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ipz" |
| }, |
| "pthread_create": { |
| "call_method": "custom_trampoline", |
| "header": "pthread.h", |
| "signature": "ipppp" |
| }, |
| "pthread_detach": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "il" |
| }, |
| "pthread_exit": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "vp" |
| }, |
| "pthread_getattr_np": { |
| "call_method": "custom_trampoline", |
| "header": "pthread.h", |
| "signature": "ilp" |
| }, |
| "pthread_getcpuclockid": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ilp" |
| }, |
| "pthread_getname_np": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ilpl" |
| }, |
| "pthread_getschedparam": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ilpp" |
| }, |
| "pthread_getspecific": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "pi" |
| }, |
| "pthread_gettid_np": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "il" |
| }, |
| "pthread_join": { |
| "call_method": "custom_trampoline", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ilp" |
| }, |
| "pthread_key_create": { |
| "call_method": "custom_trampoline", |
| "header": "pthread.h", |
| "signature": "ipp" |
| }, |
| "pthread_key_delete": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ii" |
| }, |
| "pthread_kill": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ili" |
| }, |
| "pthread_setname_np": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ilp" |
| }, |
| "pthread_setschedparam": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ilip" |
| }, |
| "pthread_setschedprio": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ili" |
| }, |
| "pthread_setspecific": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "iip" |
| }, |
| "pthread_sigqueue": { |
| "call_method": "default", |
| "header": "pthread.h", |
| "is_compatible": true, |
| "signature": "ilip" |
| }, |
| "setjmp": { |
| "call_method": "custom_thunk", |
| "header": "setjump.h", |
| "signature": "ip" |
| }, |
| "siglongjmp": { |
| "call_method": "custom_thunk", |
| "header": "setjump.h", |
| "signature": "vpi" |
| }, |
| "sigsetjmp": { |
| "call_method": "custom_thunk", |
| "header": "setjump.h", |
| "signature": "ipi" |
| }, |
| "time": { |
| "call_method": "default", |
| "comment": "See description for clock_gettime", |
| "header": "sys/time.h", |
| "is_compatible": true, |
| "signature": "lp" |
| } |
| }, |
| "types": {} |
| } |