Make static libtistress version

It turned out to be difficult to actually run the libtistress on
actual apps due to the fact it linked shared to a lot of libraries.
This adds libtistresss and libtistressds targets which build static
versions of libtistress both without and with debug checks.

This also adds a simple Agent_OnAttach entrypoint for the agent. No
special processing is performed. The agent is setup as though it were
running OnLoad.

Test: m -j50 libtistressds
      adb push $OUT/data/nativetest64/art/arm64/libtistressds.so /data/local/tmp
      adb shell setenforce 0
      adb shell am start-activity \
        --attach-agent /data/local/tmp/libtistressds.so=jvmti-stress,trace \
        com.antonioleiva.bandhookkotlin/.ui.screens.main.MainActivity

Change-Id: I75d3a81011864c62cde785fd7351c59dbd269237
diff --git a/test/Android.bp b/test/Android.bp
index 76189f6..84f2e22 100644
--- a/test/Android.bp
+++ b/test/Android.bp
@@ -370,22 +370,27 @@
 }
 
 art_cc_defaults {
-    name: "libtistress-defaults",
+    name: "libtistress-srcs",
     defaults: ["libartagent-defaults"],
     srcs: [
         "ti-stress/stress.cc",
     ],
+    header_libs: ["libopenjdkjvmti_headers"],
+}
+
+art_cc_defaults {
+    name: "libtistress-defaults",
+    defaults: ["libtistress-srcs"],
     shared_libs: [
         "libbase",
         "slicer",
     ],
-    header_libs: ["libopenjdkjvmti_headers"],
 }
 
 art_cc_test_library {
     name: "libtistress",
     defaults: ["libtistress-defaults"],
-    shared_libs: ["libart"],
+    shared_libs: ["libartbase"],
 }
 
 art_cc_test_library {
@@ -394,7 +399,30 @@
         "art_debug_defaults",
         "libtistress-defaults",
     ],
-    shared_libs: ["libartd"],
+    shared_libs: ["libartbased"],
+}
+
+art_cc_defaults {
+    name: "libtistress-static-defaults",
+    defaults: ["libtistress-srcs"],
+    static_libs: art_static_dependencies + [
+        "slicer",
+    ],
+}
+
+art_cc_test_library {
+    name: "libtistresss",
+    defaults: ["libtistress-static-defaults"],
+    static_libs: ["libartbase"],
+}
+
+art_cc_test_library {
+    name: "libtistressds",
+    defaults: [
+        "art_debug_defaults",
+        "libtistress-static-defaults"
+    ],
+    static_libs: ["libartbased"],
 }
 
 cc_defaults {
diff --git a/test/ti-stress/stress.cc b/test/ti-stress/stress.cc
index bbe7465..0eba742 100644
--- a/test/ti-stress/stress.cc
+++ b/test/ti-stress/stress.cc
@@ -25,7 +25,6 @@
 #include <jni.h>
 
 #include "base/utils.h"
-#include "exec_utils.h"
 #include "jvmti.h"
 
 #pragma clang diagnostic push
@@ -920,4 +919,8 @@
   return 0;
 }
 
+extern "C" JNIEXPORT jint JNICALL Agent_OnAttach(JavaVM* vm, char* options, void* reserved) {
+  return Agent_OnLoad(vm, options, reserved);
+}
+
 }  // namespace art