Move bionic ("runtime") apex definition into bionic/.

Bug: http://b/139176024
Test: boots
Change-Id: Ifc3829e00b99c2f65ed932f0b42ab1ae59fec27c
diff --git a/apex/Android.bp b/apex/Android.bp
new file mode 100644
index 0000000..276541e
--- /dev/null
+++ b/apex/Android.bp
@@ -0,0 +1,43 @@
+// Runtime (Bionic) APEX module
+//
+// In Q this contained Bionic, ART and Libcore.
+// It keeps the name /apex/com.android.runtime for app compat reasons.
+
+android_app_certificate {
+    name: "com.android.runtime.certificate",
+    certificate: "com.android.runtime",
+}
+
+apex_key {
+    name: "com.android.runtime.key",
+    public_key: "com.android.runtime.avbpubkey",
+    private_key: "com.android.runtime.pem",
+}
+
+prebuilt_etc {
+    name: "com.android.runtime.ld.config.txt",
+    src: "ld.config.txt",
+    filename: "ld.config.txt",
+    installable: false,
+}
+
+apex {
+    name: "com.android.runtime",
+    compile_multilib: "both",
+    manifest: "manifest.json",
+    native_shared_libs: [
+        "libc",
+        "libm",
+        "libdl",
+        "libc_malloc_debug",
+        "libc_malloc_hooks",
+    ],
+    multilib: {
+        both: {
+            binaries: ["linker"],
+        },
+    },
+    prebuilts: ["com.android.runtime.ld.config.txt"],
+    key: "com.android.runtime.key",
+    certificate: ":com.android.runtime.certificate",
+}
diff --git a/apex/com.android.runtime.avbpubkey b/apex/com.android.runtime.avbpubkey
new file mode 100644
index 0000000..b0ffc9b
--- /dev/null
+++ b/apex/com.android.runtime.avbpubkey
Binary files differ
diff --git a/apex/com.android.runtime.pem b/apex/com.android.runtime.pem
new file mode 100644
index 0000000..4c7ce4b
--- /dev/null
+++ b/apex/com.android.runtime.pem
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/apex/com.android.runtime.pk8 b/apex/com.android.runtime.pk8
new file mode 100644
index 0000000..de96219
--- /dev/null
+++ b/apex/com.android.runtime.pk8
Binary files differ
diff --git a/apex/com.android.runtime.x509.pem b/apex/com.android.runtime.x509.pem
new file mode 100644
index 0000000..890ae9f
--- /dev/null
+++ b/apex/com.android.runtime.x509.pem
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+MIIF2zCCA8OgAwIBAgIUIVa9I/DpCnStxMqP/g9wS+dwNcowDQYJKoZIhvcNAQEL
+BQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcM
+DU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB0FuZHJvaWQxEDAOBgNVBAsMB0FuZHJv
+aWQxHDAaBgNVBAMME2NvbS5hbmRyb2lkLnJ1bnRpbWUwIBcNMTkwODEzMTIwNTU3
+WhgPNDc1NzA3MDkxMjA1NTdaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxp
+Zm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdBbmRyb2lk
+MRAwDgYDVQQLDAdBbmRyb2lkMRwwGgYDVQQDDBNjb20uYW5kcm9pZC5ydW50aW1l
+MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0B6dmGfJk68K7Sj0hOnE
+uTobEz+lMWQKK+K1qOC13Nv9pkSvZqUbNFL9Qrkv46GVi3rFRgB1MOchCJ/f4Ost
+BsEbN3aCtRkvD2qrDNBzwvUPrxNxJ+WZnHUgvJyAS7tu8riRV+5N27lLLfpZon++
+8mYnxOll/050+qW+LC6FZTaTdrVWSlItPX4ZvKArlA6wXn88GJjiUgfcGxquwHbZ
+AhaUsdXIJ9DTJxf3NgsuPLjBepGXdPO3XK+qGFU/XyhEzmUHPXf2+OfgWs3cIAAf
+i5r2GL1Zw3S0ax+s5rujHn0TJFEOJ0UwMHWAZrZjp51qNu7Sza2KPFG6W9r3r6wj
+Ie8/som8YYy2Q1sXX2cbBrOxMU3yq/vaGTKWjpZ1wfzT24aVRRhxa6qdULNdj8fq
+RO7MTIY76KjV3ehGVi21501Kv3UfY9TqyPowVIttZ7m3ZAUYv+cObZZYc92VCON1
+irLJC9GtvvZYUKY+fr3quv9Fhf9fIevvSM1Nnn6MBUDiHmoyaNPymWaiCqzwUvig
+8sJW70Mh8mtANVJ1M3GSWHLenKVFe/kKoHaZttaHo+NAEpzcm4sGVNB3SqB3S+Pw
+d4BU1Tt/2GWqSZx7ALmSyjVdYGJZgAGusWPsdP1FPdyHBwhsBTW/bMhBLNU9NfjP
+uRjJyNroouQvpdPnW9NDfDECAwEAAaNTMFEwHQYDVR0OBBYEFKmGUpGYLLwLU/R+
+QIVxyI4UsDlNMB8GA1UdIwQYMBaAFKmGUpGYLLwLU/R+QIVxyI4UsDlNMA8GA1Ud
+EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAHzVs6gp+fnXbvhGP2aKFFJF
+xMIi4ahsoS5RneEEG/dQVKd/5NfrHY6lHIAV1kEk9TrvcemIo4n7SETd4Hj4O0xZ
+tnPC3y9v/kSbjryYouOEa4hBILKxVzIZw6MiM5arGo4ZYc1Rfck+F/92xj7o/kWo
+9+Dn58zNAHAMC13F1wM61e+tdHZJHgmLfUUYKvZ3sAgxmsQM8BfwobH2/Ww0IOCY
+PRYZwcIpdEu9D1dCM9kON/1Ss0jo6+6MuW1CMoER9alEVpKWv4o1Phrd9z7v7JDh
+ZW5jJC9n4HzwDDy679OrH512Dhv7HwT8dnRfylo+2pdOW7iby7MJzd/hql6MC9+h
+/5EwfuiNMaifo94SEFElNjhqJZwoqaFIyOT2fYt9hlvdBqWp/L5p+si0JOYbEnB2
+hIOIqfw7qdO8gZsCt7ps9JSxnPCVF1mAcrDuQcgVdGs2D3/HE+R3R504iOoAc0XF
+m9nw06M1O6bmdygQedIZ54wTINjhkJXtQluu74O2kl9wKNd2FSJWh0ZvudulohCM
+p7mS8lAlFbDPOCavlovIijXDYialcFNZnUSJAxE/k0rBBnnVxDTsJeR8ipOkaww4
+3POEm22OM57Tl60w4Jn8VZoPRl0G+R+uUaZdmPw6Gs/PgTDlwK+t1HQN0pFA0VMw
+Z4b+m+R+iUba0dbeVf/4
+-----END CERTIFICATE-----
diff --git a/apex/ld.config.txt b/apex/ld.config.txt
new file mode 100644
index 0000000..dae883d
--- /dev/null
+++ b/apex/ld.config.txt
@@ -0,0 +1,8 @@
+# Copyright (C) 2019 The Android Open Source Project
+#
+# Bionic loader config file for the Runtime APEX. This is a minimal config to
+# make the linker able to load itself as an executable (it just needs to exist).
+
+dir.runtime = /apex/com.android.runtime/bin/
+
+[runtime]
diff --git a/apex/manifest.json b/apex/manifest.json
new file mode 100644
index 0000000..20a8314
--- /dev/null
+++ b/apex/manifest.json
@@ -0,0 +1,4 @@
+{
+  "name": "com.android.runtime",
+  "version": 1
+}