Refactor bootstrapping such that dlsym() is called during the bootstrapping phase that can tolerate reentrant allocation.