Load libraries in breadth-first order

  This patch fixes the problem with symbol search order
  for dlsym(RTLD_DEFAULT/RTLD_NEXT, .) by loading libraries
  and ld_preloads in correct order.

Bug: https://code.google.com/p/android/issues/detail?id=74255

(cherry picked from commit a3ad450a2e3fb6b3fe359683b247eba20896f646)

Change-Id: I1125de10272c84e4f075cbc72859c1f6b3e89943
diff --git a/linker/dlfcn.cpp b/linker/dlfcn.cpp
index 38484d9..3024b3c 100644
--- a/linker/dlfcn.cpp
+++ b/linker/dlfcn.cpp
@@ -245,6 +245,7 @@
     __libdl_info.bucket = g_libdl_buckets;
     __libdl_info.chain = g_libdl_chains;
     __libdl_info.has_DT_SYMBOLIC = true;
+    __libdl_info.ref_count = 1;
   }
 
   return &__libdl_info;