use readFile in dlopen, instead of hackish internals-only usage of contents; should fix #2445