# 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__
__isoc99_sscanf
__iswctype_l
__libc_start_main
__newlocale
__nl_langinfo_l
__pthread_key_create
__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
fopen64
fprintf
fputc
fputs
fread
fseeko64
ftello64
fwrite
getc
gettext
getwc
iconv
iconv_close
iconv_open
ioctl
isalpha
isprint
iswspace
longjmp
lseek64
mbrtowc
mbsnrtowcs
mbsrtowcs
memrchr
open
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
wcrtomb
wcscmp
wcsnrtombs
wctob
write
writev
