--- a/a/nss/lib/freebl/loader.c +++ a/a/nss/lib/freebl/loader.c @@ -114,6 +114,7 @@ #include "genload.c" +extern FREEBLGetVectorFn FREEBL_GetVector; /* This function must be run only once. */ /* determine if hybrid platform, then actually load the DSO. */ static PRStatus @@ -136,9 +136,9 @@ return PR_FAILURE; } - handle = loader_LoadLibrary(name); - if (handle) { - PRFuncPtr address = PR_FindFunctionSymbol(handle, "FREEBL_GetVector"); + handle = 0; + { + PRFuncPtr address = FREEBL_GetVector; if (address) { FREEBLGetVectorFn *getVector = (FREEBLGetVectorFn *)address; const FREEBLVector *dsoVector = getVector(); @@ -887,6 +887,7 @@ void BL_Unload(void) { +#if 0 /* This function is not thread-safe, but doesn't need to be, because it is * only called from functions that are also defined as not thread-safe, * namely C_Finalize in softoken, and the SSL bypass shutdown callback called @@ -905,6 +905,7 @@ } blLib = NULL; loadFreeBLOnce = pristineCallOnce; +#endif } /* ============== New for 3.003 =============================== */