# Manifest of Leaking Files

# This file was auto-generated using api_leak_detector.py.

_ITM_RU1
_ITM_RU8
_ITM_addUserCommitAction
_ITM_deregisterTMCloneTable
_ITM_memcpyRnWt
_ITM_memcpyRtWn
_ITM_registerTMCloneTable
_Unwind_DeleteException
_Unwind_GetDataRelBase
_Unwind_GetIPInfo
_Unwind_GetLanguageSpecificData
_Unwind_GetRegionStart
_Unwind_GetTextRelBase
_Unwind_RaiseException
_Unwind_Resume
_Unwind_Resume_or_Rethrow
_Unwind_SetGR
_Unwind_SetIP
__assert_fail
__ctype_b_loc
__ctype_get_mb_cur_max
__ctype_toupper_loc
__cxa_atexit
__cxa_finalize
__duplocale
__errno_location
__freelocale
__fxstat64
__gmon_start__
__isinf
__isnan
__isoc99_sscanf
__iswctype_l
__libc_start_main
__newlocale
__nl_langinfo_l
__strcoll_l
__strftime_l
__strtod_l
__strtof_l
__strxfrm_l
__tls_get_addr
__towlower_l
__towupper_l
__umodti3
__uselocale
__wcscoll_l
__wcsftime_l
__wcsxfrm_l
__wctype_l
__xstat
_setjmp
abort
bcmp
bind_textdomain_codeset
bindtextdomain
btowc
dgettext
exit
fclose
fdopen
fflush
fileno
fopen
fopen64
fprintf
fputc
fputs
fread
fseeko64
ftello64
fwrite
getc
gettext
getwc
ioctl
isalpha
isprint
iswspace
longjmp
lseek64
mbrtowc
mbsnrtowcs
mbsrtowcs
memrchr
poll
printf
pthread_getspecific
pthread_key_create
pthread_key_delete
pthread_setspecific
putc
putwc
read
setlocale
setvbuf
stderr
stdin
stdout
strdup
strerror
strtold_l
syscall
ungetc
ungetwc
vsprintf
wcrtomb
wcscmp
wcsnrtombs
wctob
write
writev
