# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

#367374
**/PR_ErrorInstallTable**
**/_PR_ImplicitInitialization/**
**/_PR_InitCMon/ExpandMonitorCache/**
**/_PR_InitCMon/PR_NewLock/**
**/_PR_InitLinker/**
**/_PR_InitTPD/**
**/_PR_InitZones/pr_FindSymbolInProg/**
**/_PR_UnixInit/PR_NewLock/**
**/_PR_UnixInit/PR_NewMonitor/**

#367376
**/_PR_CreateThread/pthread_create@@GLIBC_**
**/_PR_CreateThread/PR_Calloc/**

#367384
**/PR_LoadLibraryWithFlags/**
**/pr_LoadLibraryByPathname/**
**/PR_LoadLibrary/**

#397487
**/__rpc_getconfip/setnetconfig/**

#401100
**/testThreadLockingBehavior/pthread_create@@GLIBC_**
**/findLockInfo/pthread_create@@GLIBC_**

#430544
**/PR_CallOnce/InitializeArenas/PR_NewLock/**

#458905
**/cert_createObject/nssTrustDomain_AddCertsToCache/add_cert_to_cache/**
**/cert_createObject/nssTrustDomain_AddCertsToCache/nssArena_Create/**

#459237
**/PR_FormatTime/strftime/**
**/PR_FormatTime/__strftime_std/**

#463208
**/sqlite3UnixFullPathname/_getcwd/**
**/unixFullPathname/_getcwd/**

#463631
vfychain/main/PL_CreateOptState/**

#486298
selfserv/main/PORT_Strdup_Util**

#497251
**/FREEBL_InitStubs/dlopen@@GLIBC_**

#679524
**/nss_Init/PR_CallOnce/nss_doLockInit/**

