diff options
| author | Mister Oyster <oysterized@gmail.com> | 2018-01-07 13:51:41 +0100 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2018-01-07 13:51:41 +0100 |
| commit | 6470d7e9300829516b6fbe155082cc9ff11bf867 (patch) | |
| tree | a764e5597d757b2499acd71d26c9c3a5f41dee81 | |
| parent | cc930e44058118d3f87bdc11fc8a1837d7d66b6f (diff) | |
libshim: add '__pthread_gettid' shim for MM/3.18-based mediatek devices
Based off https://github.com/ashwinr64/android_device_motorola_taido
shim
| -rw-r--r-- | README.md | 3 | ||||
| -rw-r--r-- | libshims/Android.mk | 11 | ||||
| -rw-r--r-- | libshims/misc/bionic.cpp | 24 | ||||
| -rw-r--r-- | product/libshims.mk | 4 |
4 files changed, 41 insertions, 1 deletions
@@ -29,8 +29,9 @@ The only configuration libshim needs is the following flags : `#LIBSHIM_UI_SYMBOLS := true` `#LIBSHIM_GUI_SYMBOLS := true` `#LIBSHIM_OMX_SYMBOLS := true` +`#LIBSHIM_BIONIC_SYMBOLS := true` `#LIBSHIM_AGPS_SYMBOLS := true` -`#LIBSHIM_ATOMIC_SYMBOLS := true` +`#LIBSHIM_ATOMIC_SYMBOLS := true` (copy/paste in `BoardConfig.mk` & uncomment the flags you need) # Optional : diff --git a/libshims/Android.mk b/libshims/Android.mk index b5c764e..0fab3ed 100644 --- a/libshims/Android.mk +++ b/libshims/Android.mk @@ -29,6 +29,17 @@ LOCAL_CFLAGS := -O3 -Wno-unused-variable -Wno-unused-parameter LOCAL_PROPRIETARY_MODULE := true include $(BUILD_SHARED_LIBRARY) + +## libshim_bionic +include $(CLEAR_VARS) +LOCAL_SRC_FILES := bionic.cpp +LOCAL_MODULE := libshims_bionic +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := SHARED_LIBRARIES +LOCAL_SHARED_LIBRARIES := libc +include $(BUILD_SHARED_LIBRARY) + + ## libshim_omx include $(CLEAR_VARS) diff --git a/libshims/misc/bionic.cpp b/libshims/misc/bionic.cpp new file mode 100644 index 0000000..f92ec52 --- /dev/null +++ b/libshims/misc/bionic.cpp @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2017 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 <pthread.h> + +extern "C" { +pid_t __pthread_gettid(pthread_t t) { + return pthread_gettid_np(t); + } +} + diff --git a/product/libshims.mk b/product/libshims.mk index 674b04b..211489a 100644 --- a/product/libshims.mk +++ b/product/libshims.mk @@ -19,6 +19,10 @@ ifeq ($(LIBSHIM_OMX_SYMBOLS),true) PRODUCT_PACKAGES += libshim_omx LINKER_FORCED_SHIM_LIBS := $(LINKER_FORCED_SHIM_LIBS):/vendor/lib/libMtkOmxVdec.so|libshim_omx.so endif +ifeq ($(LIBSHIM_BIONIC_SYMBOLS),true) +PRODUCT_PACKAGES += libshim_bionic +LINKER_FORCED_SHIM_LIBS := $(LINKER_FORCED_SHIM_LIBS):/system/lib/libc.so|libshims_bionic.so:/system/lib64/libc.so|libshims_bionic.so +endif ifeq ($(LIBSHIM_AGPS_SYMBOLS),true) PRODUCT_PACKAGES += libshim_agps LINKER_FORCED_SHIM_LIBS := $(LINKER_FORCED_SHIM_LIBS):/vendor/bin/mtk_agpsd|libshim_agps.so |
