Replace artificial symbol table with proper one

This change also replaces elf-hash with gnu-hash.

Test: make
Test: bionic-unit-tests --gtest_filter=dl*:Dl*
Change-Id: Ibc4026f7abc7e8002f69c33eebaf6a193f1d22eb
diff --git a/linker/linker.h b/linker/linker.h
index 43d345c..f5a202f 100644
--- a/linker/linker.h
+++ b/linker/linker.h
@@ -100,7 +100,9 @@
 
 void count_relocation(RelocationKind kind);
 
-soinfo* get_libdl_info(const char* linker_path, const link_map& linker_map);
+soinfo* get_libdl_info(const char* linker_path,
+                       const soinfo& linker_si,
+                       const link_map& linker_map);
 
 soinfo* find_containing_library(const void* p);