Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f611e41e authored by Kiyoung Kim's avatar Kiyoung Kim
Browse files

Remove ld.config.txt from adbd APEX

Dynamic linker will use generated linker configuration in general. As
ld.config.txt file in the APEX module will not be used, we can remove
this to avoid confusion.

Bug: 149887007
Test: m -j passed
Test: Boot succeeded from cuttlefish and walleye
Change-Id: Ic98aca819b5a4d0e0af4fe0ea25145a483aa7d53
parent 6c364f94
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ apex_defaults {
            native_shared_libs: ["libadbconnection_client"],
        },
    },
    prebuilts: ["com.android.adbd.init.rc", "com.android.adbd.ld.config.txt"],
    prebuilts: ["com.android.adbd.init.rc"],

    key: "com.android.adbd.key",
    certificate: ":com.android.adbd.certificate",
@@ -29,13 +29,6 @@ apex_test {
    installable: false,
}

prebuilt_etc {
    name: "com.android.adbd.ld.config.txt",
    src: "ld.config.txt",
    filename: "ld.config.txt",
    installable: false,
}

prebuilt_etc {
    name: "com.android.adbd.init.rc",
    src: "adbd.rc",

adb/apex/ld.config.txt

deleted100644 → 0
+0 −53
Original line number Diff line number Diff line
# Copyright (C) 2019 The Android Open Source Project
#
# Bionic loader config file for the adbd APEX.

dir.adbd = /apex/com.android.adbd/bin/

[adbd]
additional.namespaces = apex,platform,art

namespace.default.isolated = true
namespace.default.permitted.paths = /system/${LIB}
namespace.default.asan.permitted.paths = /system/${LIB}
namespace.default.links = apex,art,platform
namespace.default.link.apex.shared_libs = libcrypto.so
namespace.default.link.art.shared_libs = libadbconnection_server.so

# libcrypto.so in the APEX might be a symlink to /system, for APEXes bundled with the system image.
# The dynamic linker works off of realpath, so we need to permit loading libcrypto.so from /system.
namespace.default.link.platform.shared_libs = libc.so:libdl.so:libm.so:libclang_rt.hwasan-aarch64-android.so:liblog.so:libadbd_auth.so:libcrypto.so

namespace.apex.isolated = true
namespace.apex.search.paths = /apex/com.android.adbd/${LIB}
namespace.apex.asan.search.paths = /apex/com.android.adbd/${LIB}
namespace.apex.links = platform
namespace.apex.link.platform.allow_all_shared_libs = true

###############################################################################
# "art" APEX namespace: used for libadbdconnection_server
###############################################################################
namespace.art.isolated = true
namespace.art.search.paths = /apex/com.android.art/${LIB}
namespace.art.asan.search.paths = /apex/com.android.art/${LIB}
namespace.art.links = platform
namespace.art.link.platform.allow_all_shared_libs = true

###############################################################################
# "platform" namespace: used for NDK libraries, and libadbd_auth
###############################################################################
namespace.platform.isolated = true
namespace.platform.search.paths = /system/${LIB}
namespace.platform.asan.search.paths = /data/asan/system/${LIB}

# /system/lib/libc.so, etc are symlinks to
# /apex/com.android.runtime/lib/bionic/libc.so, etc. Add the path to the
# permitted paths because linker uses realpath(3) to check the accessibility
# of the lib. We could add this to search.paths instead but that makes the
# resolution of bionic libs be dependent on the order of /system/lib and
# /apex/.../lib/bionic in search.paths. If the latter is after the former,
# then the latter is never tried because libc.so is always found in
# /system/lib but fails to pass the accessibility test because of its realpath.
# It's better to not depend on the ordering if possible.
namespace.platform.permitted.paths = /apex/com.android.runtime/${LIB}/bionic
namespace.platform.asan.permitted.paths = /apex/com.android.runtime/${LIB}/bionic