Prevent dependency cycle due to system_shared_libs expansion

It was discovered that we were building some objects inconsistently due
to an optimization in cc_library to only build objects once and use them
for both the static and shared libraries. But static libraries didn't
get system_shared_libs set automatically, and we didn't notice that we
would have built the objects differently.

So static libraries now get the default system_shared_libs, we allow
adjusting that for static vs shared in a cc_library, and we disable the
optimization if the linked libraries are configured differently between
static and shared in a single cc_library.

This triggers dependency cycles for static libraries that libc/libdl
use, so fix those cycles here.

Test: treehugger
Change-Id: I3cf7fda161a05ec32e0c1e871999720d12a4d38e
diff --git a/linker/Android.bp b/linker/Android.bp
index a9907ca..0e3484a 100644
--- a/linker/Android.bp
+++ b/linker/Android.bp
@@ -283,6 +283,7 @@
             suffix: "64",
         },
     },
+    system_shared_libs: [],
     target: {
         android: {
             static_libs: ["libdebuggerd_handler_fallback"],