# This file is generated by sorting symbols in the .bss section in libc.so by
# their sizes and taking out symbols that are unique to a target.  By sorting
# symbols by size, we usually have less dirty pages at runtime, because small
# symbols are grouped together.

ctl_initialized
gGlobalsMutating
global_hashtable_initialized
gmtcheck.gmt_is_set
had_conf_error
je_background_thread_enabled_state
je_log_init_done
je_opt_abort
je_opt_abort_conf
je_opt_background_thread
je_opt_junk_alloc
je_opt_junk_free
je_opt_stats_print
je_opt_utrace
je_opt_xmalloc
je_opt_zero
je_tsd_booted
malloc_disabled_tcache
malloc_slow_flags
mmap_flags
os_overcommits
restartloop
_ZL24gHeapprofdInitInProgress
_ZL27gHeapprofdInitHookInstalled
_ZL23gZygoteChildProfileable
_ZZ17__find_icu_symbolPKcE9found_icu
ru_a
ru_b
ru_counter
ru_g
ru_msb
ru_seed
ru_seed2
ru_x
_ZZ12bindresvportE4port
a0
__atexit
atexit_mutex
b0
ctl_arenas
ctl_stats
__cxa_finalize.call_depth
daylight
dirty_decay_ms_default.0
environ
error_message_count
error_one_per_line
error_print_progname
__free_hook
g_atexit_lock
gGlobalsMutateLock
global_hashtable
gmtptr
handlers
je_background_thread_info
je_hooks_arena_new_hook
je_init_system_thp_mode
je_malloc_conf
je_malloc_disable.once_control
je_malloc_message
je_narenas_auto
je_ncpus
je_nhbins
je_opt_dirty_decay_ms
je_opt_metadata_thp
je_opt_muzzy_decay_ms
je_opt_narenas
je_opt_thp
je_tcache_bin_info
je_tcache_maxclass
je_tcaches
je_tsd_tsd
lastenv
lcl_is_set
lclptr
locallock
malloc_disabled_lock
__malloc_hook
malloc_initializer
mbrlen.mbs
mbtowc.mbs
__memalign_hook
muzzy_decay_ms_default.0
narenas_total
ncleanups
optarg
optreset
os_page
p5s
__progname
random_mutex
__realloc_hook
_res_cache_list_lock
_res_cache_once
_res_key
__res_randomid.__libc_mutex_random
rs
_rs_forkdetect._rs_pid
_rs_forked
rsx
ru_pid
ru_prf
ru_reseed
__stack_chk_guard
stack_nelms
strtok.last
suboptarg
__system_property_area__
tcaches_avail
tcaches_past
timezone
tmpnam.tmpcount
ut
wctomb.mbs
_ZL11g_arc4_lock
_ZL13g_locale_once
_ZL13g_thread_list
_ZL14syslog_log_tag
_ZL16gHeapprofdHandle
_ZL17g_libicuuc_handle
_ZL18netdClientInitOnce
_ZL30g_propservice_protocol_version
_ZN9prop_area13pa_data_size_E
_ZN9prop_area8pa_size_E
_ZZ10mbsnrtowcsE15__private_state
_ZZ10wcsnrtombsE15__private_state
_ZZ13error_at_lineE9last_file
_ZZ13error_at_lineE9last_line
_ZZ14__icu_charTypejE10u_charType
_ZZ23__bionic_get_shell_pathE7sh_path
_ZZ23__icu_hasBinaryPropertyj9UPropertyPFiiEE19u_hasBinaryProperty
_ZZ25__icu_getIntPropertyValuej9UPropertyE21u_getIntPropertyValue
_ZZ7mbrtowcE15__private_state
_ZZ7wcrtombE15__private_state
_ZZ8c16rtombE15__private_state
_ZZ8c32rtombE15__private_state
_ZZ8iswcntrlE10u_charType
_ZZ8iswdigitE9u_isdigit
_ZZ8iswpunctE9u_ispunct
_ZZ8mbrtoc16E15__private_state
_ZZ8mbrtoc32E15__private_state
_ZZ8towlowerE9u_tolower
_ZZ8towupperE9u_toupper
ether_aton.addr
seed48.sseed
__dtoa_locks
_ZGVZ14__icu_charTypejE10u_charType
_ZGVZ14tzset_unlockedE20persist_sys_timezone
_ZGVZ17__find_icu_symbolPKcE9found_icu
_ZGVZ23__bionic_get_shell_pathE7sh_path
_ZGVZ23__icu_hasBinaryPropertyj9UPropertyPFiiEE19u_hasBinaryProperty
_ZGVZ25__icu_getIntPropertyValuej9UPropertyE21u_getIntPropertyValue
_ZGVZ8iswcntrlE10u_charType
_ZGVZ8iswdigitE9u_isdigit
_ZGVZ8iswpunctE9u_ispunct
_ZGVZ8towlowerE9u_tolower
_ZGVZ8towupperE9u_toupper
_ZL10gAllocated
_ZL11gAllocLimit
_ZL13g_atfork_list
_ZL6g_lock
_ZL6g_tags
je_opt_stats_print_opts
nuls
precsize_ntoa.retbuf
__p_secstodate.output
ether_ntoa.buf
inet_ntoa.b
__p_class.classbuf
__p_type.typebuf
__sym_ntop.unname
__sym_ntos.unname
_ZL10gFunctions
freelist
__p_option.nbuf
__p_time.nbuf
_ZL18g_thread_list_lock
tm
_ZL8g_locale
ctl_mtx
init_lock
je_arenas_lock
je_background_thread_lock
tcaches_mtx
je_tsd_init_head
buf_asctime
__loc_ntoa.tmpbuf
utmp
_ZZ14tzset_unlockedE20persist_sys_timezone
arena_binind_div_info
__hexdig_D2A
lcl_TZname
inet_nsap_ntoa_tmpbuf
_ZL7key_map
_ZL17system_properties
private_mem
_res_cache_list
__libc_globals
tmpnam.buf
je_extents_rtree
_nres
je_arenas
je_extent_mutex_pool
