surrogate ltdl implementation