OSDN Git Service

Repair dlwarning toast
authorDimitry Ivanov <dimitry@google.com>
Tue, 13 Dec 2016 00:21:46 +0000 (16:21 -0800)
committerDimitry Ivanov <dimitry@google.com>
Tue, 13 Dec 2016 00:21:46 +0000 (16:21 -0800)
This was introduced by d9e427cf41893377dcdd0650ba20ff7cf7d72209
where libdl.c android_dlwarning method implementation was
not updated.

This makes it delegate the call to ld-android.so

Bug: http://b/33530622
Test: build, flash and launch test app
Change-Id: I8a379442de94724280638db73e5f7934f2ea394e

libdl/libdl.c

index 8329468..3fbd7e5 100644 (file)
@@ -85,6 +85,9 @@ struct android_namespace_t* __loader_android_create_namespace(
                                 struct android_namespace_t* parent,
                                 const void* caller_addr);
 
+__attribute__((__weak__, visibility("default")))
+void __loader_android_dlwarning(void* obj, void (*f)(void*, const char*));
+
 // Proxy calls to bionic loader
 void* dlopen(const char* filename, int flag) {
   const void* caller_addr = __builtin_return_address(0);
@@ -164,4 +167,6 @@ struct android_namespace_t* android_create_namespace(const char* name,
                                            caller_addr);
 }
 
-void android_dlwarning(void* obj, void (*f)(void*, const char*)) { f(obj, 0); }
+void android_dlwarning(void* obj, void (*f)(void*, const char*)) {
+  __loader_android_dlwarning(obj, f);
+}