From b27688ed42a01934084212c2fbf02683dd80d93c Mon Sep 17 00:00:00 2001 From: Tim Zimmermann Date: Thu, 6 Apr 2023 16:49:39 +0200 Subject: [PATCH] universal7885: Replace libutils-v32 with a shim Change-Id: I792d3e1861f7ee721081997eeacc29c27aad3eef --- .../libshims/libutils-v32/Android.bp | 23 ++++++++++++++ .../libshims/libutils-v32/Thread.cpp | 30 +++++++++++++++++++ .../libshims/libutils-v32/Thread.h | 26 ++++++++++++++++ universal7885-common/universal7885-common.mk | 7 ++--- 4 files changed, 81 insertions(+), 5 deletions(-) create mode 100644 universal7885-common/libshims/libutils-v32/Android.bp create mode 100644 universal7885-common/libshims/libutils-v32/Thread.cpp create mode 100644 universal7885-common/libshims/libutils-v32/Thread.h diff --git a/universal7885-common/libshims/libutils-v32/Android.bp b/universal7885-common/libshims/libutils-v32/Android.bp new file mode 100644 index 0000000..8941c7c --- /dev/null +++ b/universal7885-common/libshims/libutils-v32/Android.bp @@ -0,0 +1,23 @@ +// +// Copyright (C) 2023 The LineageOS 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. + +cc_library_shared { + name: "libutils-v32", + srcs: ["Thread.cpp"], + shared_libs: [ + "libutils", + ], + vendor: true, +} diff --git a/universal7885-common/libshims/libutils-v32/Thread.cpp b/universal7885-common/libshims/libutils-v32/Thread.cpp new file mode 100644 index 0000000..1f297d8 --- /dev/null +++ b/universal7885-common/libshims/libutils-v32/Thread.cpp @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2023 The LineageOS 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. + */ + +#include + +#include "Thread.h" + +using android::sp; + +namespace utils32 { + +android::status_t Thread::run(const char* name, int32_t priority, size_t stack) { + this->forceIncStrong(this); + return android::Thread::run(name, priority, stack); +} + +} // namespace utils32 diff --git a/universal7885-common/libshims/libutils-v32/Thread.h b/universal7885-common/libshims/libutils-v32/Thread.h new file mode 100644 index 0000000..59bb3b3 --- /dev/null +++ b/universal7885-common/libshims/libutils-v32/Thread.h @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2023 The LineageOS 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. + */ + +#include + +namespace utils32 { + +class Thread : public android::Thread { +public: + android::status_t run(const char* name, int32_t priority, size_t stack); +}; + +} // namespace utils32 diff --git a/universal7885-common/universal7885-common.mk b/universal7885-common/universal7885-common.mk index 8e7de47..e3a8ebb 100644 --- a/universal7885-common/universal7885-common.mk +++ b/universal7885-common/universal7885-common.mk @@ -323,13 +323,10 @@ PRODUCT_PACKAGES += \ # VNDK PRODUCT_COPY_FILES += \ - prebuilts/vndk/v32/arm64/arch-arm-armv8-a/shared/vndk-sp/libutils.so:$(TARGET_COPY_OUT_VENDOR)/lib/libutils-v32.so \ prebuilts/vndk/v32/arm64/arch-arm-armv8-a/shared/vndk-core/libcrypto.so:$(TARGET_COPY_OUT_VENDOR)/lib/libcrypto-v32.so -ifeq ($(TARGET_LOCAL_ARCH),arm64) -PRODUCT_COPY_FILES += \ - prebuilts/vndk/v32/arm64/arch-arm64-armv8-a/shared/vndk-sp/libutils.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libutils-v32.so -endif +PRODUCT_PACKAGES += \ + libutils-v32 # Workaround for vintf issues... PRODUCT_COPY_FILES += \