Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d341ac8 authored by Brian Carlstrom's avatar Brian Carlstrom Committed by Android (Google) Code Review
Browse files

Merge "Log dlerror on dlopen related failures"

parents 3f69707c 3f2d71fb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ cc_library_shared {
    ],
    shared_libs: [
        "libdl",
        "liblog",
        "libbase",
        "libhidlbase",
        "libhidltransport",
        "libutils",
+0 −2
Original line number Diff line number Diff line
#define LOG_TAG "android.hardware.renderscript@1.0-impl"

#include "Context.h"
#include "Device.h"

+7 −0
Original line number Diff line number Diff line
#include "Context.h"
#include "Device.h"

#include <android-base/logging.h>
#include <android/dlext.h>
#include <dlfcn.h>

@@ -54,12 +55,18 @@ dispatchTable loadHAL() {
                .flags = ANDROID_DLEXT_USE_NAMESPACE, .library_namespace = rsNamespace,
            };
            handle = android_dlopen_ext(filename, RTLD_LAZY | RTLD_LOCAL, &dlextinfo);
            if (handle == nullptr) {
                LOG(WARNING) << "android_dlopen_ext(" << filename << ") failed: " << dlerror();
            }
        }
    }
    if (handle == nullptr) {
        // if there is no "rs" namespace (in case when this HAL impl is loaded
        // into a vendor process), then use the plain dlopen.
        handle = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
        if (handle == nullptr) {
            LOG(FATAL) << "dlopen(" << filename << ") failed: " << dlerror();
        }
    }

    dispatchTable dispatchHal = {