[PATCH] D158641: [AArch64][Android][DRAFT] Fix FMV ifunc resolver usage on old Android APIs.
Pavel Iliin via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 8 09:48:38 PDT 2023
ilinpv added inline comments.
================
Comment at: compiler-rt/lib/builtins/cpu_model.c:1379
+void init_cpu_features_resolver(unsigned long hwcap, const __ifunc_arg_t *arg) {
+ if (__aarch64_cpu_features.features)
----------------
MaskRay wrote:
> It seems that we don't need the `_constructor` function. We can just move the
>
> ```
> #if defined(__ANDROID__)
> // ifunc resolvers don't have hwcaps in arguments on Android API lower
> // than 30. In this case set detection done and keep all CPU features
> // unsupported (zeros).
> if (android_get_device_api_level() < 30) {
> setCPUFeature(FEAT_MAX);
> return;
> }
> ```
>
> logic to init_cpu_features_resolver
We don't need this "Android API check and return" in init_cpu_features_resolver when it is called from constructor ##init_cpu_features## where hwcaps are obtained through getauxval calls.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D158641/new/
https://reviews.llvm.org/D158641
More information about the cfe-commits
mailing list