ANDROID: GKI: rework the ANDROID_KABI_USE() macro to not use __UNIQUE()

The __UNIQUE_ID() macro causes problems as it turns out to not be
deterministic across different compiler runs as it relies on the
__COUNTER__ macro which could have been used on other .h files previous
to this .h file being included.

This shows up specifically when building with "LTO=thin" vs. "LTO=full"
as different build paths seem to be triggered.

As the structure name isn't really needed at all here, we were just
including it for older compilers that could not handle anonymous
structures in a union, just drop the whole thing which resolves the abi
naming issue.

Bug: 210255585
Reported-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6b9449fa9d26ffc5d66b2f0f3b41e2d5f3003f68
(cherry picked from commit f8b361d17da5fa125a9e788d3088599216f33019)
Signed-off-by: Jaskaran Singh <quic_jasksing@quicinc.com>
This commit is contained in:
Greg Kroah-Hartman 2021-09-28 14:38:19 +02:00 committed by Jaskaran Singh
parent 804873a198
commit dffdc3e8aa

View File

@ -63,7 +63,7 @@
_new; \
struct { \
_orig; \
} __UNIQUE_ID(android_kabi_hide); \
}; \
__ANDROID_KABI_CHECK_SIZE_ALIGN(_orig, _new); \
}