mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-16 16:11:50 +00:00
Note: the adbd makefile can't be upstreamed to debian, because there is already an open PR upstream: https://salsa.debian.org/android-tools-team/android-platform-tools/-/merge_requests/4/diffs Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
367 lines
13 KiB
Diff
367 lines
13 KiB
Diff
From fe211cbc305a9316c1d4da2f086d6a50f1c92188 Mon Sep 17 00:00:00 2001
|
|
From: Etienne Cordonnier <ecordonnier@snap.com>
|
|
Date: Fri, 17 Mar 2023 10:33:11 +0100
|
|
Subject: [PATCH] android-tools: modifications to make it build in yocto
|
|
|
|
- Fix relocation errors on aarch64, e.g.:
|
|
"relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `_ZTV19SparseFileBufSource' which may bind externally can not be used when making a shared object; recompile with -fPIC"
|
|
|
|
- use ln -f to avoid error "File exists" on incremental builds
|
|
|
|
- fix missing headers
|
|
|
|
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
---
|
|
debian/external/boringssl/libcrypto.mk | 1 +
|
|
debian/system/core/append2simg.mk | 2 +-
|
|
debian/system/core/fastboot.mk | 2 +-
|
|
debian/system/core/img2simg.mk | 2 +-
|
|
debian/system/core/libbacktrace.mk | 8 ++++----
|
|
debian/system/core/libbase.mk | 5 +++--
|
|
debian/system/core/libcutils.mk | 5 +++--
|
|
debian/system/core/liblog.mk | 3 ++-
|
|
debian/system/core/libsparse.mk | 5 +++--
|
|
debian/system/core/libutils.mk | 2 +-
|
|
debian/system/core/libziparchive.mk | 5 +++--
|
|
debian/system/core/simg2img.mk | 2 +-
|
|
debian/system/core/simg2simg.mk | 2 +-
|
|
frameworks/native/libs/adbd_auth/adbd_auth.cpp | 2 ++
|
|
system/core/adb/adb_listeners.cpp | 12 ++++++------
|
|
system/core/adb/transport_local.cpp | 2 +-
|
|
16 files changed, 34 insertions(+), 26 deletions(-)
|
|
|
|
diff --git a/debian/external/boringssl/libcrypto.mk b/debian/external/boringssl/libcrypto.mk
|
|
index c0ea54f4..b3a77bfd 100644
|
|
--- a/debian/external/boringssl/libcrypto.mk
|
|
+++ b/debian/external/boringssl/libcrypto.mk
|
|
@@ -27,6 +27,7 @@ CPPFLAGS += \
|
|
-DBORINGSSL_IMPLEMENTATION \
|
|
-DBORINGSSL_SHARED_LIBRARY \
|
|
-DOPENSSL_SMALL \
|
|
+ -DOPENSSL_NO_ASM \
|
|
-Iexternal/boringssl/src/crypto \
|
|
-Iexternal/boringssl/src/include \
|
|
|
|
diff --git a/debian/system/core/append2simg.mk b/debian/system/core/append2simg.mk
|
|
index 1599bdb8..598c751d 100644
|
|
--- a/debian/system/core/append2simg.mk
|
|
+++ b/debian/system/core/append2simg.mk
|
|
@@ -11,7 +11,7 @@ CPPFLAGS += \
|
|
|
|
LDFLAGS += \
|
|
-Ldebian/out/system/core \
|
|
- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
|
|
+ -Wl,-rpath='$$ORIGIN/../lib/android' \
|
|
-lbase \
|
|
-llog \
|
|
-lpthread \
|
|
diff --git a/debian/system/core/fastboot.mk b/debian/system/core/fastboot.mk
|
|
index d5c9a285..a59ba1a4 100644
|
|
--- a/debian/system/core/fastboot.mk
|
|
+++ b/debian/system/core/fastboot.mk
|
|
@@ -49,7 +49,7 @@ CPPFLAGS += \
|
|
|
|
LDFLAGS += \
|
|
-Ldebian/out/system/core \
|
|
- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
|
|
+ -Wl,-rpath='$$ORIGIN/../lib/android' \
|
|
-fuse-ld=gold \
|
|
-lbase \
|
|
-lcutils \
|
|
diff --git a/debian/system/core/img2simg.mk b/debian/system/core/img2simg.mk
|
|
index 11adf014..8baf5ba5 100644
|
|
--- a/debian/system/core/img2simg.mk
|
|
+++ b/debian/system/core/img2simg.mk
|
|
@@ -11,7 +11,7 @@ CPPFLAGS += \
|
|
|
|
LDFLAGS += \
|
|
-Ldebian/out/system/core \
|
|
- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
|
|
+ -Wl,-rpath='$$ORIGIN/../lib/android' \
|
|
-lbase \
|
|
-llog \
|
|
-lpthread \
|
|
diff --git a/debian/system/core/libbacktrace.mk b/debian/system/core/libbacktrace.mk
|
|
index e3411d76..86e69874 100644
|
|
--- a/debian/system/core/libbacktrace.mk
|
|
+++ b/debian/system/core/libbacktrace.mk
|
|
@@ -1,3 +1,4 @@
|
|
+include rules_yocto.mk
|
|
include /usr/share/dpkg/architecture.mk
|
|
|
|
NAME = libbacktrace
|
|
@@ -83,10 +84,9 @@ CPPFLAGS += \
|
|
LDFLAGS += \
|
|
-L/usr/lib/p7zip \
|
|
-Ldebian/out/system/core \
|
|
- -Wl,-rpath=/usr/lib/p7zip \
|
|
- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
|
|
+ -Wl,-rpath='$$ORIGIN' \
|
|
-Wl,-soname,$(NAME).so.0 \
|
|
- -l:7z.so \
|
|
+ -l7z \
|
|
-lbase \
|
|
-llog \
|
|
-lpthread \
|
|
@@ -101,7 +101,7 @@ endif
|
|
build: $(OBJECTS_CXX) $(OBJECTS_ASSEMBLY) debian/out/external/libunwind/libunwind.a
|
|
mkdir -p debian/out/system/core
|
|
$(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
|
|
- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
|
|
+ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
|
|
|
|
$(OBJECTS_CXX): %.o: %.cpp
|
|
$(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS)
|
|
diff --git a/debian/system/core/libbase.mk b/debian/system/core/libbase.mk
|
|
index d2b074ba..8a90d6de 100644
|
|
--- a/debian/system/core/libbase.mk
|
|
+++ b/debian/system/core/libbase.mk
|
|
@@ -1,3 +1,4 @@
|
|
+include rules_yocto.mk
|
|
NAME = libbase
|
|
|
|
SOURCES = \
|
|
@@ -30,7 +31,7 @@ CPPFLAGS += \
|
|
|
|
LDFLAGS += \
|
|
-Ldebian/out/system/core \
|
|
- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
|
|
+ -Wl,-rpath='$$ORIGIN' \
|
|
-Wl,-soname,$(NAME).so.0 \
|
|
-llog \
|
|
-lpthread \
|
|
@@ -44,7 +45,7 @@ endif
|
|
|
|
build: $(OBJECTS)
|
|
$(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
|
|
- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
|
|
+ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
|
|
|
|
$(OBJECTS): %.o: %.cpp
|
|
$(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS)
|
|
diff --git a/debian/system/core/libcutils.mk b/debian/system/core/libcutils.mk
|
|
index 9d928b56..c22b0965 100644
|
|
--- a/debian/system/core/libcutils.mk
|
|
+++ b/debian/system/core/libcutils.mk
|
|
@@ -1,3 +1,4 @@
|
|
+include rules_yocto.mk
|
|
NAME = libcutils
|
|
|
|
libcutils_nonwindows_sources = \
|
|
@@ -47,7 +48,7 @@ CPPFLAGS += \
|
|
|
|
LDFLAGS += \
|
|
-Ldebian/out/system/core \
|
|
- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
|
|
+ -Wl,-rpath='$$ORIGIN' \
|
|
-Wl,-soname,$(NAME).so.0 \
|
|
-lbase \
|
|
-llog \
|
|
@@ -56,7 +57,7 @@ LDFLAGS += \
|
|
|
|
build: $(OBJECTS_C) $(OBJECTS_CXX)
|
|
$(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
|
|
- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
|
|
+ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
|
|
|
|
$(OBJECTS_C): %.o: %.c
|
|
$(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS)
|
|
diff --git a/debian/system/core/liblog.mk b/debian/system/core/liblog.mk
|
|
index f8c3d7fe..34a07341 100644
|
|
--- a/debian/system/core/liblog.mk
|
|
+++ b/debian/system/core/liblog.mk
|
|
@@ -1,3 +1,4 @@
|
|
+include rules_yocto.mk
|
|
NAME = liblog
|
|
|
|
liblog_sources = \
|
|
@@ -35,7 +36,7 @@ LDFLAGS += \
|
|
build: $(OBJECTS)
|
|
mkdir -p debian/out/system/core
|
|
$(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
|
|
- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
|
|
+ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
|
|
|
|
$(OBJECTS): %.o: %.cpp
|
|
$(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS)
|
|
diff --git a/debian/system/core/libsparse.mk b/debian/system/core/libsparse.mk
|
|
index c2b2694c..2da12b8e 100644
|
|
--- a/debian/system/core/libsparse.mk
|
|
+++ b/debian/system/core/libsparse.mk
|
|
@@ -1,3 +1,4 @@
|
|
+include rules_yocto.mk
|
|
NAME = libsparse
|
|
|
|
SOURCES = \
|
|
@@ -19,7 +20,7 @@ CPPFLAGS += \
|
|
|
|
LDFLAGS += \
|
|
-Ldebian/out/system/core \
|
|
- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
|
|
+ -Wl,-rpath='$$ORIGIN' \
|
|
-Wl,-soname,$(NAME).so.0 \
|
|
-lbase \
|
|
-lz \
|
|
@@ -27,7 +28,7 @@ LDFLAGS += \
|
|
|
|
build: $(OBJECTS)
|
|
$(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
|
|
- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
|
|
+ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
|
|
|
|
$(OBJECTS): %.o: %.cpp
|
|
$(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS)
|
|
diff --git a/debian/system/core/libutils.mk b/debian/system/core/libutils.mk
|
|
index c37b1d2d..332492c1 100644
|
|
--- a/debian/system/core/libutils.mk
|
|
+++ b/debian/system/core/libutils.mk
|
|
@@ -41,7 +41,7 @@ CPPFLAGS += \
|
|
|
|
LDFLAGS += \
|
|
-Ldebian/out/system/core \
|
|
- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
|
|
+ -Wl,-rpath='$$ORIGIN' \
|
|
-Wl,-soname,$(NAME).so.0 \
|
|
-lbacktrace \
|
|
-lcutils \
|
|
diff --git a/debian/system/core/libziparchive.mk b/debian/system/core/libziparchive.mk
|
|
index 1b286b4e..1b7499be 100644
|
|
--- a/debian/system/core/libziparchive.mk
|
|
+++ b/debian/system/core/libziparchive.mk
|
|
@@ -1,3 +1,4 @@
|
|
+include rules_yocto.mk
|
|
NAME = libziparchive
|
|
|
|
SOURCES = \
|
|
@@ -19,7 +20,7 @@ CPPFLAGS += \
|
|
|
|
LDFLAGS += \
|
|
-Ldebian/out/system/core \
|
|
- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
|
|
+ -Wl,-rpath='$$ORIGIN' \
|
|
-Wl,-soname,$(NAME).so.0 \
|
|
-lbase \
|
|
-llog \
|
|
@@ -29,7 +30,7 @@ LDFLAGS += \
|
|
|
|
build: $(OBJECTS)
|
|
$(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
|
|
- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
|
|
+ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
|
|
|
|
$(OBJECTS): %.o: %.cc
|
|
$(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS)
|
|
diff --git a/debian/system/core/simg2img.mk b/debian/system/core/simg2img.mk
|
|
index f6e3f59d..df4f44f3 100644
|
|
--- a/debian/system/core/simg2img.mk
|
|
+++ b/debian/system/core/simg2img.mk
|
|
@@ -13,7 +13,7 @@ CPPFLAGS += \
|
|
|
|
LDFLAGS += \
|
|
-Ldebian/out/system/core \
|
|
- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
|
|
+ -Wl,-rpath='$$ORIGIN/../lib/android' \
|
|
-lbase \
|
|
-llog \
|
|
-lpthread \
|
|
diff --git a/debian/system/core/simg2simg.mk b/debian/system/core/simg2simg.mk
|
|
index ed53b04c..646ab030 100644
|
|
--- a/debian/system/core/simg2simg.mk
|
|
+++ b/debian/system/core/simg2simg.mk
|
|
@@ -13,7 +13,7 @@ CPPFLAGS += \
|
|
|
|
LDFLAGS += \
|
|
-Ldebian/out/system/core \
|
|
- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
|
|
+ -Wl,-rpath='$$ORIGIN/../lib/android' \
|
|
-lbase \
|
|
-llog \
|
|
-lpthread \
|
|
diff --git a/frameworks/native/libs/adbd_auth/adbd_auth.cpp b/frameworks/native/libs/adbd_auth/adbd_auth.cpp
|
|
index a9c23110..6ca334ba 100644
|
|
--- a/frameworks/native/libs/adbd_auth/adbd_auth.cpp
|
|
+++ b/frameworks/native/libs/adbd_auth/adbd_auth.cpp
|
|
@@ -23,8 +23,10 @@
|
|
#include <sys/eventfd.h>
|
|
#include <sys/uio.h>
|
|
|
|
+#include <atomic>
|
|
#include <chrono>
|
|
#include <deque>
|
|
+#include <optional>
|
|
#include <string>
|
|
#include <string_view>
|
|
#include <tuple>
|
|
diff --git a/system/core/adb/adb_listeners.cpp b/system/core/adb/adb_listeners.cpp
|
|
index 29909a55..440cdbd4 100644
|
|
--- a/system/core/adb/adb_listeners.cpp
|
|
+++ b/system/core/adb/adb_listeners.cpp
|
|
@@ -109,7 +109,7 @@ static void listener_event_func(int _fd, unsigned ev, void* _l)
|
|
}
|
|
|
|
// Called as a transport disconnect function. |arg| is the raw alistener*.
|
|
-static void listener_disconnect(void* arg, atransport*) EXCLUDES(listener_list_mutex) {
|
|
+static void listener_disconnect(void* arg, atransport*) {
|
|
std::lock_guard<std::mutex> lock(listener_list_mutex);
|
|
for (auto iter = listener_list.begin(); iter != listener_list.end(); ++iter) {
|
|
if (iter->get() == arg) {
|
|
@@ -121,7 +121,7 @@ static void listener_disconnect(void* arg, atransport*) EXCLUDES(listener_list_m
|
|
}
|
|
|
|
// Write the list of current listeners (network redirections) into a string.
|
|
-std::string format_listeners() EXCLUDES(listener_list_mutex) {
|
|
+std::string format_listeners() {
|
|
std::lock_guard<std::mutex> lock(listener_list_mutex);
|
|
std::string result;
|
|
for (auto& l : listener_list) {
|
|
@@ -140,7 +140,7 @@ std::string format_listeners() EXCLUDES(listener_list_mutex) {
|
|
}
|
|
|
|
InstallStatus remove_listener(const char* local_name, atransport* transport)
|
|
- EXCLUDES(listener_list_mutex) {
|
|
+{
|
|
std::lock_guard<std::mutex> lock(listener_list_mutex);
|
|
for (auto iter = listener_list.begin(); iter != listener_list.end(); ++iter) {
|
|
if (local_name == (*iter)->local_name) {
|
|
@@ -151,7 +151,7 @@ InstallStatus remove_listener(const char* local_name, atransport* transport)
|
|
return INSTALL_STATUS_LISTENER_NOT_FOUND;
|
|
}
|
|
|
|
-void remove_all_listeners() EXCLUDES(listener_list_mutex) {
|
|
+void remove_all_listeners() {
|
|
std::lock_guard<std::mutex> lock(listener_list_mutex);
|
|
auto iter = listener_list.begin();
|
|
while (iter != listener_list.end()) {
|
|
@@ -164,7 +164,7 @@ void remove_all_listeners() EXCLUDES(listener_list_mutex) {
|
|
}
|
|
}
|
|
|
|
-void close_smartsockets() EXCLUDES(listener_list_mutex) {
|
|
+void close_smartsockets() {
|
|
std::lock_guard<std::mutex> lock(listener_list_mutex);
|
|
auto pred = [](const std::unique_ptr<alistener>& listener) {
|
|
return listener->local_name == "*smartsocket*";
|
|
@@ -174,7 +174,7 @@ void close_smartsockets() EXCLUDES(listener_list_mutex) {
|
|
|
|
InstallStatus install_listener(const std::string& local_name, const char* connect_to,
|
|
atransport* transport, int no_rebind, int* resolved_tcp_port,
|
|
- std::string* error) EXCLUDES(listener_list_mutex) {
|
|
+ std::string* error) {
|
|
std::lock_guard<std::mutex> lock(listener_list_mutex);
|
|
for (auto& l : listener_list) {
|
|
if (local_name == l->local_name) {
|
|
diff --git a/system/core/adb/transport_local.cpp b/system/core/adb/transport_local.cpp
|
|
index c7261860..5988ec4d 100644
|
|
--- a/system/core/adb/transport_local.cpp
|
|
+++ b/system/core/adb/transport_local.cpp
|
|
@@ -333,7 +333,7 @@ struct EmulatorConnection : public FdConnection {
|
|
|
|
/* Only call this function if you already hold local_transports_lock. */
|
|
static atransport* find_emulator_transport_by_adb_port_locked(int adb_port)
|
|
- REQUIRES(local_transports_lock) {
|
|
+{
|
|
auto it = local_transports.find(adb_port);
|
|
if (it == local_transports.end()) {
|
|
return nullptr;
|