Merge "Refresh 64-bit headers/libs (WW36)"
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -19,18 +19,6 @@ _Unwind_VRS_Get
|
||||
_Unwind_VRS_Pop
|
||||
_Unwind_VRS_Set
|
||||
_Z16__libc_init_vdsov
|
||||
_ZN11ScopedTraceC1EPKc
|
||||
_ZN11ScopedTraceC2EPKc
|
||||
_ZN11ScopedTraceD1Ev
|
||||
_ZN11ScopedTraceD2Ev
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znaj
|
||||
_ZnajRKSt9nothrow_t
|
||||
_Znwj
|
||||
_ZnwjRKSt9nothrow_t
|
||||
__FD_CLR_chk
|
||||
__FD_ISSET_chk
|
||||
__FD_SET_chk
|
||||
@@ -39,7 +27,6 @@ ___Unwind_ForcedUnwind
|
||||
___Unwind_RaiseException
|
||||
___Unwind_Resume
|
||||
___Unwind_Resume_or_Rethrow
|
||||
___mtctxres
|
||||
__accept4
|
||||
__adddf3
|
||||
__addsf3
|
||||
@@ -104,7 +91,6 @@ __aeabi_uldivmod
|
||||
__aeabi_unwind_cpp_pr0
|
||||
__aeabi_unwind_cpp_pr1
|
||||
__aeabi_unwind_cpp_pr2
|
||||
__android_set_abort_message
|
||||
__ashldi3
|
||||
__ashrdi3
|
||||
__assert
|
||||
@@ -119,12 +105,9 @@ __brk
|
||||
__cmpdf2
|
||||
__cmsg_nxthdr
|
||||
__connect
|
||||
__ctype_get_mb_cur_max
|
||||
__cxa_atexit
|
||||
__cxa_finalize
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
__divdf3
|
||||
__divdi3
|
||||
__divsf3
|
||||
@@ -277,7 +260,6 @@ __sched_cpualloc
|
||||
__sched_cpucount
|
||||
__sched_cpufree
|
||||
__sched_getaffinity
|
||||
__set_errno
|
||||
__set_tid_address
|
||||
__set_tls
|
||||
__sigaction
|
||||
@@ -340,6 +322,7 @@ _exit
|
||||
_getlong
|
||||
_getshort
|
||||
_longjmp
|
||||
_resolv_delete_cache_for_net
|
||||
_resolv_flush_cache_for_net
|
||||
_resolv_set_nameservers_for_net
|
||||
_setjmp
|
||||
@@ -357,6 +340,7 @@ alphasort64
|
||||
android_getaddrinfofornet
|
||||
android_gethostbyaddrfornet
|
||||
android_gethostbynamefornet
|
||||
android_set_abort_message
|
||||
arc4random
|
||||
arc4random_buf
|
||||
arc4random_uniform
|
||||
@@ -997,6 +981,8 @@ setbuffer
|
||||
setegid
|
||||
setenv
|
||||
seteuid
|
||||
setfsgid
|
||||
setfsuid
|
||||
setgid
|
||||
setgroups
|
||||
setitimer
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
_ZSt7nothrow
|
||||
__bionic_brk
|
||||
__bionic_libgcc_compat_symbols
|
||||
__dso_handle
|
||||
__isthreaded
|
||||
__libc_malloc_dispatch
|
||||
__p_class_syms
|
||||
__p_type_syms
|
||||
__page_shift
|
||||
|
||||
@@ -1 +1,13 @@
|
||||
__this_library_is_now_part_of_libc
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znaj
|
||||
_ZnajRKSt9nothrow_t
|
||||
_Znwj
|
||||
_ZnwjRKSt9nothrow_t
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
android_set_abort_message
|
||||
|
||||
@@ -1 +1 @@
|
||||
|
||||
_ZSt7nothrow
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,33 +1,16 @@
|
||||
_Exit
|
||||
_Z16__libc_init_vdsov
|
||||
_ZN11ScopedTraceC1EPKc
|
||||
_ZN11ScopedTraceC2EPKc
|
||||
_ZN11ScopedTraceD1Ev
|
||||
_ZN11ScopedTraceD2Ev
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znam
|
||||
_ZnamRKSt9nothrow_t
|
||||
_Znwm
|
||||
_ZnwmRKSt9nothrow_t
|
||||
__FD_CLR_chk
|
||||
__FD_ISSET_chk
|
||||
__FD_SET_chk
|
||||
___mtctxres
|
||||
__android_set_abort_message
|
||||
__assert
|
||||
__assert2
|
||||
__b64_ntop
|
||||
__b64_pton
|
||||
__cmsg_nxthdr
|
||||
__ctype_get_mb_cur_max
|
||||
__cxa_atexit
|
||||
__cxa_finalize
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
__dn_comp
|
||||
__dn_count_labels
|
||||
__dn_skipname
|
||||
@@ -144,6 +127,7 @@ _exit
|
||||
_getlong
|
||||
_getshort
|
||||
_longjmp
|
||||
_resolv_delete_cache_for_net
|
||||
_resolv_flush_cache_for_net
|
||||
_resolv_set_nameservers_for_net
|
||||
_setjmp
|
||||
@@ -161,6 +145,7 @@ alphasort64
|
||||
android_getaddrinfofornet
|
||||
android_gethostbyaddrfornet
|
||||
android_gethostbynamefornet
|
||||
android_set_abort_message
|
||||
arc4random
|
||||
arc4random_buf
|
||||
arc4random_uniform
|
||||
@@ -771,6 +756,8 @@ setbuffer
|
||||
setegid
|
||||
setenv
|
||||
seteuid
|
||||
setfsgid
|
||||
setfsuid
|
||||
setgid
|
||||
setgroups
|
||||
setitimer
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
_ZSt7nothrow
|
||||
__isthreaded
|
||||
__libc_malloc_dispatch
|
||||
__p_class_syms
|
||||
__p_type_syms
|
||||
__progname
|
||||
|
||||
@@ -1 +1,13 @@
|
||||
__this_library_is_now_part_of_libc
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znam
|
||||
_ZnamRKSt9nothrow_t
|
||||
_Znwm
|
||||
_ZnwmRKSt9nothrow_t
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
android_set_abort_message
|
||||
|
||||
@@ -1 +1 @@
|
||||
|
||||
_ZSt7nothrow
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -4,24 +4,10 @@ SHA1Transform
|
||||
SHA1Update
|
||||
_Exit
|
||||
_Z16__libc_init_vdsov
|
||||
_ZN11ScopedTraceC1EPKc
|
||||
_ZN11ScopedTraceC2EPKc
|
||||
_ZN11ScopedTraceD1Ev
|
||||
_ZN11ScopedTraceD2Ev
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znaj
|
||||
_ZnajRKSt9nothrow_t
|
||||
_Znwj
|
||||
_ZnwjRKSt9nothrow_t
|
||||
__FD_CLR_chk
|
||||
__FD_ISSET_chk
|
||||
__FD_SET_chk
|
||||
___mtctxres
|
||||
__accept4
|
||||
__android_set_abort_message
|
||||
__assert
|
||||
__assert2
|
||||
__b64_ntop
|
||||
@@ -29,12 +15,9 @@ __b64_pton
|
||||
__brk
|
||||
__cmsg_nxthdr
|
||||
__connect
|
||||
__ctype_get_mb_cur_max
|
||||
__cxa_atexit
|
||||
__cxa_finalize
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
__divdi3
|
||||
__dn_comp
|
||||
__dn_count_labels
|
||||
@@ -142,7 +125,6 @@ __sched_cpualloc
|
||||
__sched_cpucount
|
||||
__sched_cpufree
|
||||
__sched_getaffinity
|
||||
__set_errno
|
||||
__set_tid_address
|
||||
__set_tls
|
||||
__sigaction
|
||||
@@ -203,6 +185,7 @@ _getshort
|
||||
_longjmp
|
||||
_memset16
|
||||
_memset32
|
||||
_resolv_delete_cache_for_net
|
||||
_resolv_flush_cache_for_net
|
||||
_resolv_set_nameservers_for_net
|
||||
_setjmp
|
||||
@@ -220,6 +203,7 @@ alphasort64
|
||||
android_getaddrinfofornet
|
||||
android_gethostbyaddrfornet
|
||||
android_gethostbynamefornet
|
||||
android_set_abort_message
|
||||
arc4random
|
||||
arc4random_buf
|
||||
arc4random_uniform
|
||||
@@ -858,6 +842,8 @@ setbuffer
|
||||
setegid
|
||||
setenv
|
||||
seteuid
|
||||
setfsgid
|
||||
setfsuid
|
||||
setgid
|
||||
setgroups
|
||||
setitimer
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
_ZSt7nothrow
|
||||
__bionic_brk
|
||||
__isthreaded
|
||||
__libc_malloc_dispatch
|
||||
__p_class_syms
|
||||
__p_type_syms
|
||||
__page_shift
|
||||
__page_size
|
||||
__popcount_tab
|
||||
__progname
|
||||
__sF
|
||||
__stack_chk_guard
|
||||
|
||||
@@ -1 +1,13 @@
|
||||
__this_library_is_now_part_of_libc
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znaj
|
||||
_ZnajRKSt9nothrow_t
|
||||
_Znwj
|
||||
_ZnwjRKSt9nothrow_t
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
android_set_abort_message
|
||||
|
||||
@@ -1 +1 @@
|
||||
|
||||
_ZSt7nothrow
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,33 +1,16 @@
|
||||
_Exit
|
||||
_Z16__libc_init_vdsov
|
||||
_ZN11ScopedTraceC1EPKc
|
||||
_ZN11ScopedTraceC2EPKc
|
||||
_ZN11ScopedTraceD1Ev
|
||||
_ZN11ScopedTraceD2Ev
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znam
|
||||
_ZnamRKSt9nothrow_t
|
||||
_Znwm
|
||||
_ZnwmRKSt9nothrow_t
|
||||
__FD_CLR_chk
|
||||
__FD_ISSET_chk
|
||||
__FD_SET_chk
|
||||
___mtctxres
|
||||
__android_set_abort_message
|
||||
__assert
|
||||
__assert2
|
||||
__b64_ntop
|
||||
__b64_pton
|
||||
__cmsg_nxthdr
|
||||
__ctype_get_mb_cur_max
|
||||
__cxa_atexit
|
||||
__cxa_finalize
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
__dn_comp
|
||||
__dn_count_labels
|
||||
__dn_skipname
|
||||
@@ -145,6 +128,7 @@ _flush_cache
|
||||
_getlong
|
||||
_getshort
|
||||
_longjmp
|
||||
_resolv_delete_cache_for_net
|
||||
_resolv_flush_cache_for_net
|
||||
_resolv_set_nameservers_for_net
|
||||
_setjmp
|
||||
@@ -162,6 +146,7 @@ alphasort64
|
||||
android_getaddrinfofornet
|
||||
android_gethostbyaddrfornet
|
||||
android_gethostbynamefornet
|
||||
android_set_abort_message
|
||||
arc4random
|
||||
arc4random_buf
|
||||
arc4random_uniform
|
||||
@@ -772,6 +757,8 @@ setbuffer
|
||||
setegid
|
||||
setenv
|
||||
seteuid
|
||||
setfsgid
|
||||
setfsuid
|
||||
setgid
|
||||
setgroups
|
||||
setitimer
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
_ZSt7nothrow
|
||||
__isthreaded
|
||||
__libc_malloc_dispatch
|
||||
__p_class_syms
|
||||
__p_type_syms
|
||||
__progname
|
||||
|
||||
@@ -1 +1,13 @@
|
||||
__this_library_is_now_part_of_libc
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znam
|
||||
_ZnamRKSt9nothrow_t
|
||||
_Znwm
|
||||
_ZnwmRKSt9nothrow_t
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
android_set_abort_message
|
||||
|
||||
@@ -1 +1 @@
|
||||
|
||||
_ZSt7nothrow
|
||||
|
||||
@@ -37,25 +37,17 @@
|
||||
#ifndef _I386_ASM_H_
|
||||
#define _I386_ASM_H_
|
||||
|
||||
#ifdef PIC
|
||||
#define PIC_PROLOGUE \
|
||||
pushl %ebx; \
|
||||
call 1f; \
|
||||
1: \
|
||||
call 666f; \
|
||||
666: \
|
||||
popl %ebx; \
|
||||
addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
|
||||
addl $_GLOBAL_OFFSET_TABLE_+[.-666b], %ebx
|
||||
#define PIC_EPILOGUE \
|
||||
popl %ebx
|
||||
#define PIC_PLT(x) x@PLT
|
||||
#define PIC_GOT(x) x@GOT(%ebx)
|
||||
#define PIC_GOTOFF(x) x@GOTOFF(%ebx)
|
||||
#else
|
||||
#define PIC_PROLOGUE
|
||||
#define PIC_EPILOGUE
|
||||
#define PIC_PLT(x) x
|
||||
#define PIC_GOT(x) x
|
||||
#define PIC_GOTOFF(x) x
|
||||
#endif
|
||||
|
||||
/* let kernels and others override entrypoint alignment */
|
||||
#if !defined(_ALIGN_TEXT) && !defined(_KERNEL)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -4,24 +4,10 @@ SHA1Transform
|
||||
SHA1Update
|
||||
_Exit
|
||||
_Z16__libc_init_vdsov
|
||||
_ZN11ScopedTraceC1EPKc
|
||||
_ZN11ScopedTraceC2EPKc
|
||||
_ZN11ScopedTraceD1Ev
|
||||
_ZN11ScopedTraceD2Ev
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znaj
|
||||
_ZnajRKSt9nothrow_t
|
||||
_Znwj
|
||||
_ZnwjRKSt9nothrow_t
|
||||
__FD_CLR_chk
|
||||
__FD_ISSET_chk
|
||||
__FD_SET_chk
|
||||
___mtctxres
|
||||
__accept4
|
||||
__android_set_abort_message
|
||||
__assert
|
||||
__assert2
|
||||
__b64_ntop
|
||||
@@ -29,12 +15,9 @@ __b64_pton
|
||||
__brk
|
||||
__cmsg_nxthdr
|
||||
__connect
|
||||
__ctype_get_mb_cur_max
|
||||
__cxa_atexit
|
||||
__cxa_finalize
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
__divdi3
|
||||
__dn_comp
|
||||
__dn_count_labels
|
||||
@@ -142,7 +125,6 @@ __sched_cpualloc
|
||||
__sched_cpucount
|
||||
__sched_cpufree
|
||||
__sched_getaffinity
|
||||
__set_errno
|
||||
__set_thread_area
|
||||
__set_tid_address
|
||||
__sigaction
|
||||
@@ -200,6 +182,7 @@ _exit
|
||||
_getlong
|
||||
_getshort
|
||||
_longjmp
|
||||
_resolv_delete_cache_for_net
|
||||
_resolv_flush_cache_for_net
|
||||
_resolv_set_nameservers_for_net
|
||||
_setjmp
|
||||
@@ -217,6 +200,7 @@ alphasort64
|
||||
android_getaddrinfofornet
|
||||
android_gethostbyaddrfornet
|
||||
android_gethostbynamefornet
|
||||
android_set_abort_message
|
||||
arc4random
|
||||
arc4random_buf
|
||||
arc4random_uniform
|
||||
@@ -854,6 +838,8 @@ setbuffer
|
||||
setegid
|
||||
setenv
|
||||
seteuid
|
||||
setfsgid
|
||||
setfsuid
|
||||
setgid
|
||||
setgroups
|
||||
setitimer
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
_ZSt7nothrow
|
||||
__bionic_brk
|
||||
__isthreaded
|
||||
__libc_malloc_dispatch
|
||||
__p_class_syms
|
||||
__p_type_syms
|
||||
__page_shift
|
||||
|
||||
@@ -1 +1,13 @@
|
||||
__this_library_is_now_part_of_libc
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znaj
|
||||
_ZnajRKSt9nothrow_t
|
||||
_Znwj
|
||||
_ZnwjRKSt9nothrow_t
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
android_set_abort_message
|
||||
|
||||
@@ -1 +1 @@
|
||||
|
||||
_ZSt7nothrow
|
||||
|
||||
@@ -37,13 +37,8 @@
|
||||
#ifndef _AMD64_ASM_H_
|
||||
#define _AMD64_ASM_H_
|
||||
|
||||
#ifdef __PIC__
|
||||
#define PIC_PLT(x) x@PLT
|
||||
#define PIC_GOT(x) x@GOTPCREL(%rip)
|
||||
#else
|
||||
#define PIC_PLT(x) x
|
||||
#define PIC_GOT(x) x
|
||||
#endif
|
||||
|
||||
/* let kernels and others override entrypoint alignment */
|
||||
#ifndef _ALIGN_TEXT
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,33 +1,16 @@
|
||||
_Exit
|
||||
_Z16__libc_init_vdsov
|
||||
_ZN11ScopedTraceC1EPKc
|
||||
_ZN11ScopedTraceC2EPKc
|
||||
_ZN11ScopedTraceD1Ev
|
||||
_ZN11ScopedTraceD2Ev
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znam
|
||||
_ZnamRKSt9nothrow_t
|
||||
_Znwm
|
||||
_ZnwmRKSt9nothrow_t
|
||||
__FD_CLR_chk
|
||||
__FD_ISSET_chk
|
||||
__FD_SET_chk
|
||||
___mtctxres
|
||||
__android_set_abort_message
|
||||
__assert
|
||||
__assert2
|
||||
__b64_ntop
|
||||
__b64_pton
|
||||
__cmsg_nxthdr
|
||||
__ctype_get_mb_cur_max
|
||||
__cxa_atexit
|
||||
__cxa_finalize
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
__dn_comp
|
||||
__dn_count_labels
|
||||
__dn_skipname
|
||||
@@ -144,6 +127,7 @@ _exit
|
||||
_getlong
|
||||
_getshort
|
||||
_longjmp
|
||||
_resolv_delete_cache_for_net
|
||||
_resolv_flush_cache_for_net
|
||||
_resolv_set_nameservers_for_net
|
||||
_setjmp
|
||||
@@ -161,6 +145,7 @@ alphasort64
|
||||
android_getaddrinfofornet
|
||||
android_gethostbyaddrfornet
|
||||
android_gethostbynamefornet
|
||||
android_set_abort_message
|
||||
arc4random
|
||||
arc4random_buf
|
||||
arc4random_uniform
|
||||
@@ -771,6 +756,8 @@ setbuffer
|
||||
setegid
|
||||
setenv
|
||||
seteuid
|
||||
setfsgid
|
||||
setfsuid
|
||||
setgid
|
||||
setgroups
|
||||
setitimer
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
_ZSt7nothrow
|
||||
__isthreaded
|
||||
__libc_malloc_dispatch
|
||||
__p_class_syms
|
||||
__p_type_syms
|
||||
__progname
|
||||
|
||||
@@ -1 +1,13 @@
|
||||
__this_library_is_now_part_of_libc
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znam
|
||||
_ZnamRKSt9nothrow_t
|
||||
_Znwm
|
||||
_ZnwmRKSt9nothrow_t
|
||||
__cxa_guard_abort
|
||||
__cxa_guard_acquire
|
||||
__cxa_guard_release
|
||||
__cxa_pure_virtual
|
||||
android_set_abort_message
|
||||
|
||||
@@ -1 +1 @@
|
||||
|
||||
_ZSt7nothrow
|
||||
|
||||
@@ -16,56 +16,63 @@
|
||||
***
|
||||
****************************************************************************
|
||||
****************************************************************************/
|
||||
#ifndef _LINUX_ION_H
|
||||
#define _LINUX_ION_H
|
||||
#ifndef _UAPI_LINUX_ION_H
|
||||
#define _UAPI_LINUX_ION_H
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
struct ion_handle;
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
typedef int ion_user_handle_t;
|
||||
enum ion_heap_type {
|
||||
ION_HEAP_TYPE_SYSTEM,
|
||||
ION_HEAP_TYPE_SYSTEM_CONTIG,
|
||||
ION_HEAP_TYPE_CARVEOUT,
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
ION_HEAP_TYPE_CARVEOUT,
|
||||
ION_HEAP_TYPE_CHUNK,
|
||||
ION_HEAP_TYPE_DMA,
|
||||
ION_HEAP_TYPE_CUSTOM,
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
ION_NUM_HEAPS = 16,
|
||||
};
|
||||
#define ION_HEAP_SYSTEM_MASK (1 << ION_HEAP_TYPE_SYSTEM)
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
#define ION_HEAP_SYSTEM_CONTIG_MASK (1 << ION_HEAP_TYPE_SYSTEM_CONTIG)
|
||||
#define ION_HEAP_CARVEOUT_MASK (1 << ION_HEAP_TYPE_CARVEOUT)
|
||||
#define ION_FLAG_CACHED 1
|
||||
#define ION_FLAG_CACHED_NEEDS_SYNC 2
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
#define ION_HEAP_CARVEOUT_MASK (1 << ION_HEAP_TYPE_CARVEOUT)
|
||||
#define ION_HEAP_TYPE_DMA_MASK (1 << ION_HEAP_TYPE_DMA)
|
||||
#define ION_NUM_HEAP_IDS sizeof(unsigned int) * 8
|
||||
#define ION_FLAG_CACHED 1
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
#define ION_FLAG_CACHED_NEEDS_SYNC 2
|
||||
struct ion_allocation_data {
|
||||
size_t len;
|
||||
size_t align;
|
||||
unsigned int heap_mask;
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
unsigned int heap_id_mask;
|
||||
unsigned int flags;
|
||||
struct ion_handle *handle;
|
||||
ion_user_handle_t handle;
|
||||
};
|
||||
struct ion_fd_data {
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
struct ion_handle *handle;
|
||||
struct ion_fd_data {
|
||||
ion_user_handle_t handle;
|
||||
int fd;
|
||||
};
|
||||
struct ion_handle_data {
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
struct ion_handle *handle;
|
||||
struct ion_handle_data {
|
||||
ion_user_handle_t handle;
|
||||
};
|
||||
struct ion_custom_data {
|
||||
unsigned int cmd;
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
unsigned int cmd;
|
||||
unsigned long arg;
|
||||
};
|
||||
#define ION_IOC_MAGIC 'I'
|
||||
#define ION_IOC_ALLOC _IOWR(ION_IOC_MAGIC, 0, struct ion_allocation_data)
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
#define ION_IOC_ALLOC _IOWR(ION_IOC_MAGIC, 0, struct ion_allocation_data)
|
||||
#define ION_IOC_FREE _IOWR(ION_IOC_MAGIC, 1, struct ion_handle_data)
|
||||
#define ION_IOC_MAP _IOWR(ION_IOC_MAGIC, 2, struct ion_fd_data)
|
||||
#define ION_IOC_SHARE _IOWR(ION_IOC_MAGIC, 4, struct ion_fd_data)
|
||||
#define ION_IOC_IMPORT _IOWR(ION_IOC_MAGIC, 5, struct ion_fd_data)
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
#define ION_IOC_IMPORT _IOWR(ION_IOC_MAGIC, 5, struct ion_fd_data)
|
||||
#define ION_IOC_SYNC _IOWR(ION_IOC_MAGIC, 7, struct ion_fd_data)
|
||||
#define ION_IOC_CUSTOM _IOWR(ION_IOC_MAGIC, 6, struct ion_custom_data)
|
||||
#endif
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
|
||||
@@ -36,11 +36,11 @@ extern const union __nan_un {
|
||||
float __uf;
|
||||
} __nan;
|
||||
|
||||
#if __GNUC_PREREQ__(3, 3) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 800)
|
||||
#if __GNUC_PREREQ(3, 3) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 800)
|
||||
#define __MATH_BUILTIN_CONSTANTS
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ__(3, 0) && !defined(__INTEL_COMPILER)
|
||||
#if __GNUC_PREREQ(3, 0) && !defined(__INTEL_COMPILER)
|
||||
#define __MATH_BUILTIN_RELOPS
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2012 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _SHA1_H_
|
||||
#define _SHA1_H_
|
||||
|
||||
#warning "include <sys/sha1.h> instead for better portability"
|
||||
#include <sys/sha1.h>
|
||||
|
||||
#endif
|
||||
@@ -31,17 +31,142 @@
|
||||
#define _STDATOMIC_H_
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
|
||||
#if defined(__cplusplus) && defined(_USING_LIBCXX)
|
||||
# ifdef __clang__
|
||||
# if __has_feature(cxx_atomic)
|
||||
# define _STDATOMIC_HAVE_ATOMIC
|
||||
# endif
|
||||
# else /* gcc */
|
||||
# if __GNUC_PREREQ(4, 7)
|
||||
# define _STDATOMIC_HAVE_ATOMIC
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef _STDATOMIC_HAVE_ATOMIC
|
||||
|
||||
/* We have a usable C++ <atomic>; use it instead. */
|
||||
|
||||
#include <atomic>
|
||||
|
||||
#undef _Atomic
|
||||
/* Also defined by <atomic> for gcc. But not used in macros. */
|
||||
/* Also a clang intrinsic. */
|
||||
/* Should not be used by client code before this file is */
|
||||
/* included. The definitions in <atomic> themselves see */
|
||||
/* the old definition, as they should. */
|
||||
/* Client code sees the following definition. */
|
||||
|
||||
#define _Atomic(t) std::atomic<t>
|
||||
|
||||
using std::atomic_is_lock_free;
|
||||
using std::atomic_init;
|
||||
using std::atomic_store;
|
||||
using std::atomic_store_explicit;
|
||||
using std::atomic_load;
|
||||
using std::atomic_load_explicit;
|
||||
using std::atomic_exchange;
|
||||
using std::atomic_exchange_explicit;
|
||||
using std::atomic_compare_exchange_strong;
|
||||
using std::atomic_compare_exchange_strong_explicit;
|
||||
using std::atomic_compare_exchange_weak;
|
||||
using std::atomic_compare_exchange_weak_explicit;
|
||||
using std::atomic_fetch_add;
|
||||
using std::atomic_fetch_add_explicit;
|
||||
using std::atomic_fetch_sub;
|
||||
using std::atomic_fetch_sub_explicit;
|
||||
using std::atomic_fetch_or;
|
||||
using std::atomic_fetch_or_explicit;
|
||||
using std::atomic_fetch_xor;
|
||||
using std::atomic_fetch_xor_explicit;
|
||||
using std::atomic_fetch_and;
|
||||
using std::atomic_fetch_and_explicit;
|
||||
using std::atomic_thread_fence;
|
||||
using std::atomic_signal_fence;
|
||||
|
||||
using std::memory_order;
|
||||
using std::memory_order_relaxed;
|
||||
using std::memory_order_consume;
|
||||
using std::memory_order_release;
|
||||
using std::memory_order_acq_rel;
|
||||
using std::memory_order_seq_cst;
|
||||
|
||||
using std::atomic_bool;
|
||||
using std::atomic_char;
|
||||
using std::atomic_schar;
|
||||
using std::atomic_uchar;
|
||||
using std::atomic_short;
|
||||
using std::atomic_ushort;
|
||||
using std::atomic_int;
|
||||
using std::atomic_uint;
|
||||
using std::atomic_long;
|
||||
using std::atomic_ulong;
|
||||
using std::atomic_llong;
|
||||
using std::atomic_ullong;
|
||||
using std::atomic_char16_t;
|
||||
using std::atomic_char32_t;
|
||||
using std::atomic_wchar_t;
|
||||
using std::atomic_int_least8_t;
|
||||
using std::atomic_uint_least8_t;
|
||||
using std::atomic_int_least16_t;
|
||||
using std::atomic_uint_least16_t;
|
||||
using std::atomic_int_least32_t;
|
||||
using std::atomic_uint_least32_t;
|
||||
using std::atomic_int_least64_t;
|
||||
using std::atomic_uint_least64_t;
|
||||
using std::atomic_int_fast8_t;
|
||||
using std::atomic_uint_fast8_t;
|
||||
using std::atomic_int_fast16_t;
|
||||
using std::atomic_uint_fast16_t;
|
||||
using std::atomic_int_fast32_t;
|
||||
using std::atomic_uint_fast32_t;
|
||||
using std::atomic_int_fast64_t;
|
||||
using std::atomic_uint_fast64_t;
|
||||
using std::atomic_intptr_t;
|
||||
using std::atomic_uintptr_t;
|
||||
using std::atomic_size_t;
|
||||
using std::atomic_ptrdiff_t;
|
||||
using std::atomic_intmax_t;
|
||||
using std::atomic_uintmax_t;
|
||||
|
||||
#else /* <atomic> unavailable, possibly because this is C, not C++ */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#if __has_extension(c_atomic) || __has_extension(cxx_atomic)
|
||||
#define __CLANG_ATOMICS
|
||||
#elif __GNUC_PREREQ__(4, 7)
|
||||
#define __GNUC_ATOMICS
|
||||
#elif defined(__GNUC__)
|
||||
#define __SYNC_ATOMICS
|
||||
/*
|
||||
* C: Do it ourselves.
|
||||
* Note that the runtime representation defined here should be compatible
|
||||
* with the C++ one, i.e. an _Atomic(T) needs to contain the same
|
||||
* bits as a T.
|
||||
*/
|
||||
|
||||
#include <stddef.h> /* For ptrdiff_t. */
|
||||
#include <stdint.h> /* TODO: Should pollute namespace less. */
|
||||
#if __STDC_VERSION__ >= 201112L
|
||||
# include <uchar.h> /* For char16_t and char32_t. */
|
||||
#endif
|
||||
|
||||
#ifdef __clang__
|
||||
# if __has_extension(c_atomic) || __has_extension(cxx_atomic)
|
||||
# define __CLANG_ATOMICS
|
||||
# else
|
||||
# error "stdatomic.h does not support your compiler"
|
||||
# endif
|
||||
# if __has_builtin(__sync_swap)
|
||||
# define __HAS_BUILTIN_SYNC_SWAP
|
||||
# endif
|
||||
#else
|
||||
#error "stdatomic.h does not support your compiler"
|
||||
# if __GNUC_PREREQ(4, 7)
|
||||
# define __GNUC_ATOMICS
|
||||
# else
|
||||
# define __SYNC_ATOMICS
|
||||
# ifdef __cplusplus
|
||||
# define __ATOMICS_AVOID_DOT_INIT
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -50,33 +175,53 @@
|
||||
|
||||
#ifdef __GCC_ATOMIC_BOOL_LOCK_FREE
|
||||
#define ATOMIC_BOOL_LOCK_FREE __GCC_ATOMIC_BOOL_LOCK_FREE
|
||||
#elif defined(__SYNC_ATOMICS)
|
||||
#define ATOMIC_BOOL_LOCK_FREE 2 /* For all modern platforms */
|
||||
#endif
|
||||
#ifdef __GCC_ATOMIC_CHAR_LOCK_FREE
|
||||
#define ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE
|
||||
#elif defined(__SYNC_ATOMICS)
|
||||
#define ATOMIC_CHAR_LOCK_FREE 2
|
||||
#endif
|
||||
#ifdef __GCC_ATOMIC_CHAR16_T_LOCK_FREE
|
||||
#define ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE
|
||||
#elif defined(__SYNC_ATOMICS)
|
||||
#define ATOMIC_CHAR16_T_LOCK_FREE 2
|
||||
#endif
|
||||
#ifdef __GCC_ATOMIC_CHAR32_T_LOCK_FREE
|
||||
#define ATOMIC_CHAR32_T_LOCK_FREE __GCC_ATOMIC_CHAR32_T_LOCK_FREE
|
||||
#elif defined(__SYNC_ATOMICS)
|
||||
#define ATOMIC_CHAR32_T_LOCK_FREE 2
|
||||
#endif
|
||||
#ifdef __GCC_ATOMIC_WCHAR_T_LOCK_FREE
|
||||
#define ATOMIC_WCHAR_T_LOCK_FREE __GCC_ATOMIC_WCHAR_T_LOCK_FREE
|
||||
#elif defined(__SYNC_ATOMICS)
|
||||
#define ATOMIC_WCHAR_T_LOCK_FREE 2
|
||||
#endif
|
||||
#ifdef __GCC_ATOMIC_SHORT_LOCK_FREE
|
||||
#define ATOMIC_SHORT_LOCK_FREE __GCC_ATOMIC_SHORT_LOCK_FREE
|
||||
#elif defined(__SYNC_ATOMICS)
|
||||
#define ATOMIC_SHORT_LOCK_FREE 2
|
||||
#endif
|
||||
#ifdef __GCC_ATOMIC_INT_LOCK_FREE
|
||||
#define ATOMIC_INT_LOCK_FREE __GCC_ATOMIC_INT_LOCK_FREE
|
||||
#elif defined(__SYNC_ATOMICS)
|
||||
#define ATOMIC_INT_LOCK_FREE 2
|
||||
#endif
|
||||
#ifdef __GCC_ATOMIC_LONG_LOCK_FREE
|
||||
#define ATOMIC_LONG_LOCK_FREE __GCC_ATOMIC_LONG_LOCK_FREE
|
||||
#elif defined(__SYNC_ATOMICS)
|
||||
#define ATOMIC_LONG_LOCK_FREE 2
|
||||
#endif
|
||||
#ifdef __GCC_ATOMIC_LLONG_LOCK_FREE
|
||||
#define ATOMIC_LLONG_LOCK_FREE __GCC_ATOMIC_LLONG_LOCK_FREE
|
||||
#elif defined(__SYNC_ATOMICS)
|
||||
#define ATOMIC_LLONG_LOCK_FREE 1 /* maybe */
|
||||
#endif
|
||||
#ifdef __GCC_ATOMIC_POINTER_LOCK_FREE
|
||||
#define ATOMIC_POINTER_LOCK_FREE __GCC_ATOMIC_POINTER_LOCK_FREE
|
||||
#elif defined(__SYNC_ATOMICS)
|
||||
#define ATOMIC_POINTER_LOCK_FREE 2
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -87,7 +232,11 @@
|
||||
#define ATOMIC_VAR_INIT(value) (value)
|
||||
#define atomic_init(obj, value) __c11_atomic_init(obj, value)
|
||||
#else
|
||||
#ifdef __ATOMICS_AVOID_DOT_INIT
|
||||
#define ATOMIC_VAR_INIT(value) { value }
|
||||
#else
|
||||
#define ATOMIC_VAR_INIT(value) { .__val = (value) }
|
||||
#endif
|
||||
#define atomic_init(obj, value) ((void)((obj)->__val = (value)))
|
||||
#endif
|
||||
|
||||
@@ -121,6 +270,8 @@
|
||||
*
|
||||
* The memory_order_* constants that denote the barrier behaviour of the
|
||||
* atomic operations.
|
||||
* The enum values must be identical to those used by the
|
||||
* C++ <atomic> header.
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
@@ -137,7 +288,7 @@ typedef enum {
|
||||
*/
|
||||
|
||||
static __inline void
|
||||
atomic_thread_fence(memory_order __order __unused)
|
||||
atomic_thread_fence(memory_order __order __attribute__((unused)))
|
||||
{
|
||||
|
||||
#ifdef __CLANG_ATOMICS
|
||||
@@ -150,7 +301,7 @@ atomic_thread_fence(memory_order __order __unused)
|
||||
}
|
||||
|
||||
static __inline void
|
||||
atomic_signal_fence(memory_order __order __unused)
|
||||
atomic_signal_fence(memory_order __order __attribute__((unused)))
|
||||
{
|
||||
|
||||
#ifdef __CLANG_ATOMICS
|
||||
@@ -172,7 +323,7 @@ atomic_signal_fence(memory_order __order __unused)
|
||||
((void)(obj), (_Bool)1)
|
||||
#elif defined(__CLANG_ATOMICS)
|
||||
#define atomic_is_lock_free(obj) \
|
||||
__atomic_is_lock_free(sizeof(*(obj)), obj)
|
||||
__c11_atomic_is_lock_free(sizeof(*(obj)))
|
||||
#elif defined(__GNUC_ATOMICS)
|
||||
#define atomic_is_lock_free(obj) \
|
||||
__atomic_is_lock_free(sizeof((obj)->__val), &(obj)->__val)
|
||||
@@ -185,7 +336,7 @@ atomic_signal_fence(memory_order __order __unused)
|
||||
* 7.17.6 Atomic integer types.
|
||||
*/
|
||||
|
||||
#if !__has_extension(c_atomic) && !__has_extension(cxx_atomic)
|
||||
#ifndef __CLANG_ATOMICS
|
||||
/*
|
||||
* No native support for _Atomic(). Place object in structure to prevent
|
||||
* most forms of direct non-atomic access.
|
||||
@@ -306,7 +457,7 @@ typedef _Atomic(uintmax_t) atomic_uintmax_t;
|
||||
desired, success, failure) \
|
||||
atomic_compare_exchange_strong_explicit(object, expected, \
|
||||
desired, success, failure)
|
||||
#if __has_builtin(__sync_swap)
|
||||
#ifdef __HAS_BUILTIN_SYNC_SWAP
|
||||
/* Clang provides a full-barrier atomic exchange - use it if available. */
|
||||
#define atomic_exchange_explicit(object, desired, order) \
|
||||
((void)(order), __sync_swap(&(object)->__val, desired))
|
||||
@@ -386,7 +537,7 @@ typedef struct {
|
||||
atomic_bool __flag;
|
||||
} atomic_flag;
|
||||
|
||||
#define ATOMIC_FLAG_INIT { ATOMIC_VAR_INIT(0) }
|
||||
#define ATOMIC_FLAG_INIT { ATOMIC_VAR_INIT(false) }
|
||||
|
||||
static __inline bool
|
||||
atomic_flag_test_and_set_explicit(volatile atomic_flag *__object,
|
||||
@@ -419,4 +570,6 @@ atomic_flag_clear(volatile atomic_flag *__object)
|
||||
}
|
||||
#endif /* !_KERNEL */
|
||||
|
||||
#endif /* <atomic> unavailable */
|
||||
|
||||
#endif /* !_STDATOMIC_H_ */
|
||||
|
||||
@@ -58,10 +58,17 @@ typedef off_t fpos_t; /* stdio file position type */
|
||||
*/
|
||||
|
||||
/* stdio buffers */
|
||||
#if defined(__LP64__)
|
||||
struct __sbuf {
|
||||
unsigned char* _base;
|
||||
size_t _size;
|
||||
};
|
||||
#else
|
||||
struct __sbuf {
|
||||
unsigned char *_base;
|
||||
int _size;
|
||||
};
|
||||
#endif
|
||||
|
||||
/*
|
||||
* stdio state variables.
|
||||
@@ -94,8 +101,13 @@ typedef struct __sFILE {
|
||||
unsigned char *_p; /* current position in (some) buffer */
|
||||
int _r; /* read space left for getc() */
|
||||
int _w; /* write space left for putc() */
|
||||
#if defined(__LP64__)
|
||||
int _flags; /* flags, below; this FILE is free if 0 */
|
||||
int _file; /* fileno, if Unix descriptor, else -1 */
|
||||
#else
|
||||
short _flags; /* flags, below; this FILE is free if 0 */
|
||||
short _file; /* fileno, if Unix descriptor, else -1 */
|
||||
#endif
|
||||
struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */
|
||||
int _lbfsize; /* 0 or -_bf._size, for inline putc */
|
||||
|
||||
|
||||
@@ -111,12 +111,6 @@ void arc4random_buf(void*, size_t);
|
||||
|
||||
#define RAND_MAX 0x7fffffff
|
||||
|
||||
/* Work around x86/x86-64 libvpx build breakage caused by postproc_x86.c. */
|
||||
#if (defined(__i386__) || defined(__x86_64__)) && defined(rand)
|
||||
#undef rand
|
||||
#define __rand lrand48
|
||||
#endif
|
||||
|
||||
int rand(void);
|
||||
int rand_r(unsigned int*);
|
||||
void srand(unsigned int);
|
||||
@@ -167,7 +161,8 @@ extern int mbtowc(wchar_t *, const char *, size_t);
|
||||
extern int wctomb(char *, wchar_t);
|
||||
extern size_t wcstombs(char *, const wchar_t *, size_t);
|
||||
|
||||
#define MB_CUR_MAX 4U
|
||||
extern size_t __ctype_get_mb_cur_max(void);
|
||||
#define MB_CUR_MAX __ctype_get_mb_cur_max()
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
||||
@@ -94,9 +94,6 @@ extern size_t strxfrm_l(char* __restrict, const char* __restrict, size_t, locale
|
||||
|
||||
#if defined(__BIONIC_FORTIFY)
|
||||
|
||||
__errordecl(__memcpy_dest_size_error, "memcpy: prevented write past end of buffer");
|
||||
__errordecl(__memcpy_src_size_error, "memcpy: prevented read past end of buffer");
|
||||
|
||||
__BIONIC_FORTIFY_INLINE
|
||||
void* memcpy(void* __restrict dest, const void* __restrict src, size_t copy_amount) {
|
||||
char *d = (char *) dest;
|
||||
@@ -104,14 +101,6 @@ void* memcpy(void* __restrict dest, const void* __restrict src, size_t copy_amou
|
||||
size_t s_len = __bos0(s);
|
||||
size_t d_len = __bos0(d);
|
||||
|
||||
if (__builtin_constant_p(copy_amount) && (copy_amount > d_len)) {
|
||||
__memcpy_dest_size_error();
|
||||
}
|
||||
|
||||
if (__builtin_constant_p(copy_amount) && (copy_amount > s_len)) {
|
||||
__memcpy_src_size_error();
|
||||
}
|
||||
|
||||
return __builtin___memcpy_chk(dest, src, copy_amount, d_len);
|
||||
}
|
||||
|
||||
@@ -130,16 +119,12 @@ char* strcpy(char* __restrict dest, const char* __restrict src) {
|
||||
return __builtin___strcpy_chk(dest, src, __bos(dest));
|
||||
}
|
||||
|
||||
__errordecl(__stpncpy_error, "stpncpy: prevented write past end of buffer");
|
||||
extern char* __stpncpy_chk2(char* __restrict, const char* __restrict, size_t, size_t, size_t);
|
||||
|
||||
__BIONIC_FORTIFY_INLINE
|
||||
char* stpncpy(char* __restrict dest, const char* __restrict src, size_t n) {
|
||||
size_t bos_dest = __bos(dest);
|
||||
size_t bos_src = __bos(src);
|
||||
if (__builtin_constant_p(n) && (n > bos_dest)) {
|
||||
__stpncpy_error();
|
||||
}
|
||||
|
||||
if (bos_src == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
|
||||
return __builtin___stpncpy_chk(dest, src, n, bos_dest);
|
||||
@@ -157,16 +142,12 @@ char* stpncpy(char* __restrict dest, const char* __restrict src, size_t n) {
|
||||
return __stpncpy_chk2(dest, src, n, bos_dest, bos_src);
|
||||
}
|
||||
|
||||
__errordecl(__strncpy_error, "strncpy: prevented write past end of buffer");
|
||||
extern char* __strncpy_chk2(char* __restrict, const char* __restrict, size_t, size_t, size_t);
|
||||
|
||||
__BIONIC_FORTIFY_INLINE
|
||||
char* strncpy(char* __restrict dest, const char* __restrict src, size_t n) {
|
||||
size_t bos_dest = __bos(dest);
|
||||
size_t bos_src = __bos(src);
|
||||
if (__builtin_constant_p(n) && (n > bos_dest)) {
|
||||
__strncpy_error();
|
||||
}
|
||||
|
||||
if (bos_src == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
|
||||
return __builtin___strncpy_chk(dest, src, n, bos_dest);
|
||||
@@ -201,7 +182,6 @@ void* memset(void *s, int c, size_t n) {
|
||||
|
||||
extern size_t __strlcpy_real(char* __restrict, const char* __restrict, size_t)
|
||||
__asm__(__USER_LABEL_PREFIX__ "strlcpy");
|
||||
__errordecl(__strlcpy_error, "strlcpy: prevented write past end of buffer");
|
||||
extern size_t __strlcpy_chk(char *, const char *, size_t, size_t);
|
||||
|
||||
__BIONIC_FORTIFY_INLINE
|
||||
@@ -219,12 +199,6 @@ size_t strlcpy(char* __restrict dest, const char* __restrict src, size_t size) {
|
||||
if (__builtin_constant_p(size) && (size <= bos)) {
|
||||
return __strlcpy_real(dest, src, size);
|
||||
}
|
||||
|
||||
// Compiler can prove, at compile time, that the passed in size
|
||||
// is always > the actual object size. Force a compiler error.
|
||||
if (__builtin_constant_p(size) && (size > bos)) {
|
||||
__strlcpy_error();
|
||||
}
|
||||
#endif /* !defined(__clang__) */
|
||||
|
||||
return __strlcpy_chk(dest, src, size, bos);
|
||||
@@ -232,7 +206,6 @@ size_t strlcpy(char* __restrict dest, const char* __restrict src, size_t size) {
|
||||
|
||||
extern size_t __strlcat_real(char* __restrict, const char* __restrict, size_t)
|
||||
__asm__(__USER_LABEL_PREFIX__ "strlcat");
|
||||
__errordecl(__strlcat_error, "strlcat: prevented write past end of buffer");
|
||||
extern size_t __strlcat_chk(char* __restrict, const char* __restrict, size_t, size_t);
|
||||
|
||||
|
||||
@@ -251,12 +224,6 @@ size_t strlcat(char* __restrict dest, const char* __restrict src, size_t size) {
|
||||
if (__builtin_constant_p(size) && (size <= bos)) {
|
||||
return __strlcat_real(dest, src, size);
|
||||
}
|
||||
|
||||
// Compiler can prove, at compile time, that the passed in size
|
||||
// is always > the actual object size. Force a compiler error.
|
||||
if (__builtin_constant_p(size) && (size > bos)) {
|
||||
__strlcat_error();
|
||||
}
|
||||
#endif /* !defined(__clang__) */
|
||||
|
||||
return __strlcat_chk(dest, src, size, bos);
|
||||
|
||||
@@ -60,18 +60,18 @@
|
||||
* or later, for e.g. features that appeared in a particular version
|
||||
* of GNU C. Usage:
|
||||
*
|
||||
* #if __GNUC_PREREQ__(major, minor)
|
||||
* #if __GNUC_PREREQ(major, minor)
|
||||
* ...cool feature...
|
||||
* #else
|
||||
* ...delete feature...
|
||||
* #endif
|
||||
*/
|
||||
#ifdef __GNUC__
|
||||
#define __GNUC_PREREQ__(x, y) \
|
||||
#define __GNUC_PREREQ(x, y) \
|
||||
((__GNUC__ == (x) && __GNUC_MINOR__ >= (y)) || \
|
||||
(__GNUC__ > (x)))
|
||||
#else
|
||||
#define __GNUC_PREREQ__(x, y) 0
|
||||
#define __GNUC_PREREQ(x, y) 0
|
||||
#endif
|
||||
|
||||
#include <sys/cdefs_elf.h>
|
||||
@@ -163,7 +163,7 @@
|
||||
* GCC2 provides __extension__ to suppress warnings for various GNU C
|
||||
* language extensions under "-ansi -pedantic".
|
||||
*/
|
||||
#if !__GNUC_PREREQ__(2, 0)
|
||||
#if !__GNUC_PREREQ(2, 0)
|
||||
#define __extension__ /* delete __extension__ if non-gcc or gcc1 */
|
||||
#endif
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
* these work for GNU C++ (modulo a slight glitch in the C++ grammar
|
||||
* in the distribution version of 2.5.5).
|
||||
*/
|
||||
#if !__GNUC_PREREQ__(2, 5)
|
||||
#if !__GNUC_PREREQ(2, 5)
|
||||
#define __attribute__(x) /* delete __attribute__ if non-gcc or gcc1 */
|
||||
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
||||
#define __dead __volatile
|
||||
@@ -189,7 +189,7 @@
|
||||
#define __pure
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ__(2, 7)
|
||||
#if __GNUC_PREREQ(2, 7)
|
||||
#define __unused __attribute__((__unused__))
|
||||
#else
|
||||
#define __unused /* delete */
|
||||
@@ -197,13 +197,13 @@
|
||||
|
||||
#define __pure2 __attribute__((__const__)) /* Android-added: used by FreeBSD libm */
|
||||
|
||||
#if __GNUC_PREREQ__(3, 1)
|
||||
#if __GNUC_PREREQ(3, 1)
|
||||
#define __used __attribute__((__used__))
|
||||
#else
|
||||
#define __used /* delete */
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ__(2, 7)
|
||||
#if __GNUC_PREREQ(2, 7)
|
||||
#define __packed __attribute__((__packed__))
|
||||
#define __aligned(x) __attribute__((__aligned__(x)))
|
||||
#define __section(x) __attribute__((__section__(x)))
|
||||
@@ -217,11 +217,11 @@
|
||||
#define __section(x) error: no __section for this compiler
|
||||
#endif
|
||||
|
||||
#if !__GNUC_PREREQ__(2, 8)
|
||||
#if !__GNUC_PREREQ(2, 8)
|
||||
#define __extension__
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ__(2, 8)
|
||||
#if __GNUC_PREREQ(2, 8)
|
||||
#define __statement(x) __extension__(x)
|
||||
#elif defined(lint)
|
||||
#define __statement(x) (0)
|
||||
@@ -241,7 +241,7 @@
|
||||
#if defined(__STDC__VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
#define __restrict restrict
|
||||
#else
|
||||
#if !__GNUC_PREREQ__(2, 92)
|
||||
#if !__GNUC_PREREQ(2, 92)
|
||||
#define __restrict /* delete __restrict when not supported */
|
||||
#endif
|
||||
#endif
|
||||
@@ -251,9 +251,9 @@
|
||||
* in GCC 2.95.
|
||||
*/
|
||||
#if !defined(__STDC_VERSION__) || !(__STDC_VERSION__ >= 199901L)
|
||||
#if __GNUC_PREREQ__(2, 6)
|
||||
#if __GNUC_PREREQ(2, 6)
|
||||
#define __func__ __PRETTY_FUNCTION__
|
||||
#elif __GNUC_PREREQ__(2, 4)
|
||||
#elif __GNUC_PREREQ(2, 4)
|
||||
#define __func__ __FUNCTION__
|
||||
#else
|
||||
#define __func__ ""
|
||||
@@ -286,7 +286,7 @@
|
||||
* register values. This is gcc specific, the version is more or less
|
||||
* arbitrary, might work with older compilers.
|
||||
*/
|
||||
#if __GNUC_PREREQ__(2, 95)
|
||||
#if __GNUC_PREREQ(2, 95)
|
||||
#define __insn_barrier() __asm __volatile("":::"memory")
|
||||
#else
|
||||
#define __insn_barrier() /* */
|
||||
@@ -320,7 +320,7 @@
|
||||
* basic block reordering that this affects can often generate
|
||||
* larger code.
|
||||
*/
|
||||
#if __GNUC_PREREQ__(2, 96)
|
||||
#if __GNUC_PREREQ(2, 96)
|
||||
#define __predict_true(exp) __builtin_expect((exp) != 0, 1)
|
||||
#define __predict_false(exp) __builtin_expect((exp) != 0, 0)
|
||||
#else
|
||||
@@ -328,7 +328,7 @@
|
||||
#define __predict_false(exp) (exp)
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ__(2, 96)
|
||||
#if __GNUC_PREREQ(2, 96)
|
||||
#define __noreturn __attribute__((__noreturn__))
|
||||
#define __mallocfunc __attribute__((malloc))
|
||||
#define __purefunc __attribute__((pure))
|
||||
@@ -338,19 +338,19 @@
|
||||
#define __purefunc
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ__(3, 1)
|
||||
#if __GNUC_PREREQ(3, 1)
|
||||
#define __always_inline __attribute__((__always_inline__))
|
||||
#else
|
||||
#define __always_inline
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ__(3, 4)
|
||||
#if __GNUC_PREREQ(3, 4)
|
||||
#define __wur __attribute__((__warn_unused_result__))
|
||||
#else
|
||||
#define __wur
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ__(4, 3)
|
||||
#if __GNUC_PREREQ(4, 3)
|
||||
#define __errordecl(name, msg) extern void name(void) __attribute__((__error__(msg)))
|
||||
#define __warnattr(msg) __attribute__((__warning__(msg)))
|
||||
#else
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_FSUID_H_
|
||||
#define _SYS_FSUID_H_
|
||||
|
||||
@@ -33,10 +34,8 @@
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#if 0 /* MISSING FROM BIONIC */
|
||||
extern int setfsuid(uid_t);
|
||||
extern int setfsgid(gid_t);
|
||||
#endif /* MISSING */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
||||
Reference in New Issue
Block a user