diff --git a/universal7885-common/debug-tools/dlopener/Android.bp b/universal7885-common/debug-tools/dlopener/Android.bp new file mode 100644 index 0000000..8c1044d --- /dev/null +++ b/universal7885-common/debug-tools/dlopener/Android.bp @@ -0,0 +1,12 @@ +cc_binary { + name: "dlopener", + srcs: ["dlopener.c"], + vendor_available: true, +} + +cc_binary { + name: "dlopener32", + srcs: ["dlopener.c"], + compile_multilib: "32", + vendor_available: true, +} diff --git a/universal7885-common/debug-tools/dlopener/dlopener.c b/universal7885-common/debug-tools/dlopener/dlopener.c new file mode 100644 index 0000000..d063566 --- /dev/null +++ b/universal7885-common/debug-tools/dlopener/dlopener.c @@ -0,0 +1,28 @@ +#include +#include +#include + +int main(int argc, char *argv[]) +{ + const char *path; + int status = -EINVAL; + void *handle = NULL; + + if(argc <= 1) { + printf("Please specify a module to load!\n"); + return status; + } + + path = argv[1]; + + handle = dlopen(path, RTLD_NOW); + if (handle == NULL) { + char const *err_str = dlerror(); + printf("load: module=%s\n%s\n", path, err_str?err_str:"unknown"); + status = -EINVAL; + } else { + printf("load: module=%s %s\n", path,"Success!"); + } + + return status; +} diff --git a/universal7885-common/universal7885-common.mk b/universal7885-common/universal7885-common.mk index 63099c1..1c37589 100644 --- a/universal7885-common/universal7885-common.mk +++ b/universal7885-common/universal7885-common.mk @@ -105,7 +105,7 @@ PRODUCT_PACKAGES += \ libsuspend # Debug -PRODUCT_PACKAGES += eklogger +PRODUCT_PACKAGES += eklogger dlopener # DRM PRODUCT_PACKAGES += \