-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Closed
Description
错误信息
在鸿蒙平台,使用推荐工具链编译后,在Debug运行时,正常。在Release运行时,返回值是0。
设备信息
HarmonyOS 5.0.3
复现步骤
- 在Debug构建模式下运行,
get_elf_hwcap(AT_HWCAP)
返回4261410815。 - 在Release模式下运行,
get_elf_hwcap(AT_HWCAP)
方法返回0。
更多
定位到的原因是,cpu.cpp
中get_elf_hwcap,只有在Android下才会走get_elf_hwcap_from_getauxval
, 通过<sys/auxv.h>
的getauxval()
获取cpu
特性。
在鸿蒙单框架下,会走到读取/proc/self/auxv
,但是这个文件实测情况下,Debug构建时能读取,Release构建下,无法读取,导致返回0。
建议解决方案:
跟Android一样,通过<sys/auxv.h>
的getauxval()
获取cpu
特性。
Metadata
Metadata
Assignees
Labels
No labels