Add bionic mount points under /bionic
This change adds following files and symlinks:
Files:
/bionic/lib[64]/lib{c|dl|m}.so
/bionic/bin/linker[64]
Symlinks:
/system/lib[64]/lib{c|dl|m}.so -> /bionic/lib[64]/lib{c|dl|m}.so
/system/bin/linker[64] -> /bionic/bin/linker[64]
/system/bin/linker_asan[64] -> /bionic/bin/linker[64]
The files serve as mount points for either the bootstrap Bionic or the
default Bionic from the runtime APEX. init does the bind-mounting during
booting.
The symlinks are there to not change the ordinary paths to the bionic
files; there are many places that the paths are implied or hard-coded,
e.g., dlopen("/system/lib/libc.so") or DT_INTERP pointing to
/system/bin/linker in the vendor prebuilts.
Bug: 120266448
Test: m blueline, cf_x86, aosp_arm
The aforementioned files and symlinks are found
Change-Id: I97e38c29409ac0610dde285db8df6e94a7930094
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..376c250
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,52 @@
+//
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+bionic_mountpoint {
+ name: "libc.mountpoint",
+ stem: "libc.so",
+ src: "dummy_mountpoint",
+ library: true,
+ symlinks: ["libc.so"],
+}
+
+bionic_mountpoint {
+ name: "libdl.mountpoint",
+ stem: "libdl.so",
+ src: "dummy_mountpoint",
+ library: true,
+ symlinks: ["libdl.so"],
+}
+
+bionic_mountpoint {
+ name: "libm.mountpoint",
+ stem: "libm.so",
+ src: "dummy_mountpoint",
+ library: true,
+ symlinks: ["libm.so"],
+}
+
+bionic_mountpoint {
+ name: "linker.mountpoint",
+ stem: "linker",
+ multilib: {
+ lib64: {
+ suffix: "64",
+ },
+ },
+ src: "dummy_mountpoint",
+ binary: true,
+ symlinks: ["linker", "linker_asan"],
+}