versioner: Add a built-in macro for conditional compilation
This commit adds a built-in macro for conditional compilation because
__attribute__((annotate(...))) may pull unused static inline functions
into object files.
We must not generate those functions in object files because it can
result in undefined references to __strchr_chk on linux_glibc.
Bug: 118991081
Test: source development/vndk/tools/header-checker/android/envsetup.sh && \
source build/envsetup.sh && \
lunch aosp_arm64-userdebug && \
m versioner && \
./bionic/tools/versioner/run_tests.py
Change-Id: I0c9d967413ec8e8655e91316973a79b81e2129b1
diff --git a/tools/versioner/src/Driver.cpp b/tools/versioner/src/Driver.cpp
index 927a0f5..184c3d4 100644
--- a/tools/versioner/src/Driver.cpp
+++ b/tools/versioner/src/Driver.cpp
@@ -125,6 +125,7 @@
cmd.push_back(arch_targets[type.arch]);
cmd.push_back("-DANDROID");
+ cmd.push_back("-D__BIONIC_VERSIONER=1");
cmd.push_back("-D__ANDROID_API__="s + std::to_string(type.api_level));
cmd.push_back("-D_FORTIFY_SOURCE=2");
cmd.push_back("-D_GNU_SOURCE");