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: If5cf63ba8c61af3c1cb4a0ad752205b9397d9d28
diff --git a/Android.bp b/Android.bp
index e8ded12..2276161 100755
--- a/Android.bp
+++ b/Android.bp
@@ -55,6 +55,9 @@
         },
     },
     stl: "none",
+    static: {
+        system_shared_libs: [],
+    },
 }
 
 // adb shell "/data/nativetest64/mathtest/mathtest /data/nativetest64/mathtest/test/testcases/directed/*"