diff options
author | 2023-12-15 21:58:38 +0000 | |
---|---|---|
committer | 2023-12-15 22:52:51 +0000 | |
commit | d5beffc9abf2eab583a652b5a6df01230b92f7d0 (patch) | |
tree | 6790e444dff43d231b84c3b9f5b5fa4b34b2c5f8 | |
parent | ed022f7bbc0a6eeef3035b1a5e9a5d66f58b54a3 (diff) |
binder: consistent vendor #defines
There is mixed use of __ANDROID_VNDK__
and __ANDROID_VENDOR__, so make sure they
are set consistently.
This is only possible because the VNDK is
deprecated. Before this, __ANDROID_VNDK__
may be set without __ANDROID_VENDOR__ (and I
think some of the logic in libbinder was
probably wrong at that point).
Bug: N/A
Test: N/A
Change-Id: I9cf106ab8309520229ae9e23e7d5c42ab3e425cf
-rw-r--r-- | libs/binder/Android.bp | 2 | ||||
-rw-r--r-- | libs/binder/Stability.cpp | 8 | ||||
-rw-r--r-- | libs/binder/trusty/kernel/rules.mk | 1 | ||||
-rw-r--r-- | libs/binder/trusty/rules.mk | 1 |
4 files changed, 12 insertions, 0 deletions
diff --git a/libs/binder/Android.bp b/libs/binder/Android.bp index bf3699ccab..ae0fb018ef 100644 --- a/libs/binder/Android.bp +++ b/libs/binder/Android.bp @@ -258,7 +258,9 @@ cc_defaults { "-DBINDER_DISABLE_NATIVE_HANDLE", "-DBINDER_DISABLE_BLOB", "-DBINDER_NO_LIBBASE", + // TODO: switch to "vendor: true" rather than copying this // Trusty libbinder uses vendor stability for its binders + "-D__ANDROID_VENDOR__", "-D__ANDROID_VNDK__", "-U__ANDROID__", "-D__TRUSTY__", diff --git a/libs/binder/Stability.cpp b/libs/binder/Stability.cpp index c432b3af29..665dfea456 100644 --- a/libs/binder/Stability.cpp +++ b/libs/binder/Stability.cpp @@ -73,6 +73,14 @@ void Stability::tryMarkCompilationUnit(IBinder* binder) { (void)setRepr(binder, getLocalLevel(), REPR_NONE); } +// after deprecation of the VNDK, these should be aliases. At some point +// all references to __ANDROID_VNDK__ should be replaced by __ANDROID_VENDOR__ +// but for right now, check that this condition holds because some +// places check __ANDROID_VNDK__ and some places check __ANDROID_VENDOR__ +#if defined(__ANDROID_VNDK__) != defined(__ANDROID_VENDOR__) +#error "__ANDROID_VNDK__ and __ANDROID_VENDOR__ should be aliases" +#endif + Stability::Level Stability::getLocalLevel() { #ifdef __ANDROID_APEX__ #error "APEX can't use libbinder (must use libbinder_ndk)" diff --git a/libs/binder/trusty/kernel/rules.mk b/libs/binder/trusty/kernel/rules.mk index 788184d2ce..5cbe0afafa 100644 --- a/libs/binder/trusty/kernel/rules.mk +++ b/libs/binder/trusty/kernel/rules.mk @@ -69,6 +69,7 @@ GLOBAL_COMPILEFLAGS += \ -DBINDER_DISABLE_NATIVE_HANDLE \ -DBINDER_DISABLE_BLOB \ -DBINDER_NO_LIBBASE \ + -D__ANDROID_VENDOR__ \ -D__ANDROID_VNDK__ \ MODULE_DEPS += \ diff --git a/libs/binder/trusty/rules.mk b/libs/binder/trusty/rules.mk index e0f821f2c9..f2f140d9ba 100644 --- a/libs/binder/trusty/rules.mk +++ b/libs/binder/trusty/rules.mk @@ -72,6 +72,7 @@ MODULE_EXPORT_COMPILEFLAGS += \ -DBINDER_DISABLE_NATIVE_HANDLE \ -DBINDER_DISABLE_BLOB \ -DBINDER_NO_LIBBASE \ + -D__ANDROID_VENDOR__ \ -D__ANDROID_VNDK__ \ # libbinder has some deprecated declarations that we want to produce warnings |