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

Commit 7f72945e authored by Josh Gao's avatar Josh Gao
Browse files

adbd: actually dynamically link against libadbd_auth.

libadbd_auth was accidentally linked as a static library, which defeats
the entire purpose.

Test: treehugger
Test: readelf -d $ANDROID_PRODUCT_OUT/apex/com.android.adbd/bin/adbd
Change-Id: Id5b66745946a8b92e368ee5f3965275ff03e056d
parent b2066fda
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ cc_defaults {
        "-DANDROID_BASE_UNIQUE_FD_DISABLE_IMPLICIT_CONVERSION=1",
    ],
    cpp_std: "experimental",
    stl: "libc++_static",

    use_version_lib: true,
    compile_multilib: "first",
@@ -359,8 +360,6 @@ cc_binary_host {
        "libz",
    ],

    stl: "libc++_static",

    // Don't add anything here, we don't want additional shared dependencies
    // on the host adb tool, and shared libraries that link against libc++
    // will violate ODR
@@ -553,11 +552,9 @@ cc_binary {
        keep_symbols: true,
    },

    stl: "libc++_static",
    static_libs: [
        "libadbconnection_server",
        "libadbd",
        "libadbd_auth",
        "libadbd_services",
        "libasyncio",
        "libbase",
@@ -572,6 +569,7 @@ cc_binary {
    ],

    shared_libs: [
        "libadbd_auth",
        "libcrypto",
    ],
}
@@ -580,7 +578,6 @@ phony {
    name: "adbd_system_binaries",
    required: [
        "abb",
        "libadbd_auth",
        "reboot",
        "set-verity-state",
    ]
@@ -734,7 +731,6 @@ cc_library_host_static {
        "libziparchive",
        "libz",
    ],
    stl: "libc++_static",
    proto: {
        type: "lite",
        export_proto_headers: true,
+13 −5
Original line number Diff line number Diff line
@@ -5,16 +5,24 @@
dir.adbd = /apex/com.android.adbd/bin/

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

namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.adbd/${LIB}
namespace.default.asan.search.paths = /apex/com.android.adbd/${LIB}
namespace.default.permitted.paths = /system/${LIB}
namespace.default.asan.permitted.paths = /system/${LIB}
namespace.default.links = art,platform
namespace.default.links = apex,art,platform
namespace.default.link.apex.shared_libs = libcrypto.so
namespace.default.link.art.shared_libs = libadbconnection_server.so
namespace.default.link.platform.shared_libs = libc.so:libdl.so:libm.so:libclang_rt.hwasan-aarch64-android.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