diff options
| author | 2021-02-17 02:11:55 +0000 | |
|---|---|---|
| committer | 2021-02-17 02:11:55 +0000 | |
| commit | e9441bcf32c04901807748bde85f16444464eb91 (patch) | |
| tree | d2c3cd54cd9c6fbe3e497af29fe4778901ef2e83 | |
| parent | 3c18744b3b5f8e5700ab90877ca41bedfc721349 (diff) | |
libbinder: remove __ANDROID_APEX__ stability diff
These were setup because the media APEX module was using vendor variants
of libbinder on the system partition. However, now that this build
dependency is cleaned up, we can remove the #ifdefs and make this a
build error instead of a runtime error.
Test: binderStabilityTest
Fixes: 179906909
Change-Id: If05cf3fa0851866d7113f6e8f9705891672ad369
| -rw-r--r-- | libs/binder/Parcel.cpp | 2 | ||||
| -rw-r--r-- | libs/binder/ProcessState.cpp | 6 | ||||
| -rw-r--r-- | libs/binder/Stability.cpp | 16 | ||||
| -rw-r--r-- | libs/binder/ndk/include_platform/android/binder_stability.h | 6 |
4 files changed, 9 insertions, 21 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index 1a4ede1940..3773760f38 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -520,7 +520,7 @@ void Parcel::updateWorkSourceRequestHeaderPosition() const { } } -#if defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__) +#if defined(__ANDROID_VNDK__) constexpr int32_t kHeader = B_PACK_CHARS('V', 'N', 'D', 'R'); #else constexpr int32_t kHeader = B_PACK_CHARS('S', 'Y', 'S', 'T'); diff --git a/libs/binder/ProcessState.cpp b/libs/binder/ProcessState.cpp index c38249ef7c..edadcd5c58 100644 --- a/libs/binder/ProcessState.cpp +++ b/libs/binder/ProcessState.cpp @@ -406,12 +406,6 @@ ProcessState::ProcessState(const char *driver) , mThreadPoolSeq(1) , mCallRestriction(CallRestriction::NONE) { - -// TODO(b/166468760): enforce in build system -#if defined(__ANDROID_APEX__) - LOG_ALWAYS_FATAL("Cannot use libbinder in APEX (only system.img libbinder) since it is not stable."); -#endif - if (mDriverFD >= 0) { // mmap the binder, providing a chunk of virtual address space to receive transactions. mVMStart = mmap(nullptr, BINDER_VM_SIZE, PROT_READ, MAP_PRIVATE | MAP_NORESERVE, mDriverFD, 0); diff --git a/libs/binder/Stability.cpp b/libs/binder/Stability.cpp index 339c53833b..b56e09fa6e 100644 --- a/libs/binder/Stability.cpp +++ b/libs/binder/Stability.cpp @@ -76,18 +76,12 @@ void Stability::tryMarkCompilationUnit(IBinder* binder) { } Stability::Level Stability::getLocalLevel() { +#ifdef __ANDROID_APEX__ +#error APEX can't use libbinder (must use libbinder_ndk) +#endif + #ifdef __ANDROID_VNDK__ - #ifdef __ANDROID_APEX__ - // TODO(b/142684679) avoid use_vendor on system APEXes - #if !defined(__ANDROID_APEX_COM_ANDROID_MEDIA_SWCODEC__) \ - && !defined(__ANDROID_APEX_TEST_COM_ANDROID_MEDIA_SWCODEC__) - #error VNDK + APEX only defined for com.android.media.swcodec - #endif - // TODO(b/142684679) avoid use_vendor on system APEXes - return Level::SYSTEM; - #else - return Level::VENDOR; - #endif + return Level::VENDOR; #else // TODO(b/139325195): split up stability levels for system/APEX. return Level::SYSTEM; diff --git a/libs/binder/ndk/include_platform/android/binder_stability.h b/libs/binder/ndk/include_platform/android/binder_stability.h index f5e8bf60ef..7a2d2b8fc8 100644 --- a/libs/binder/ndk/include_platform/android/binder_stability.h +++ b/libs/binder/ndk/include_platform/android/binder_stability.h @@ -30,7 +30,7 @@ enum { FLAG_PRIVATE_VENDOR = 0x10000000, }; -#if defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__) +#if defined(__ANDROID_VNDK__) enum { FLAG_PRIVATE_LOCAL = FLAG_PRIVATE_VENDOR, @@ -45,7 +45,7 @@ static inline void AIBinder_markCompilationUnitStability(AIBinder* binder) { AIBinder_markVendorStability(binder); } -#else // defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__) +#else // defined(__ANDROID_VNDK__) enum { FLAG_PRIVATE_LOCAL = 0, @@ -62,7 +62,7 @@ static inline void AIBinder_markCompilationUnitStability(AIBinder* binder) { AIBinder_markSystemStability(binder); } -#endif // defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__) +#endif // defined(__ANDROID_VNDK__) /** * This interface has system<->vendor stability |