问题:这个警告的含义是什么?如果没有现实生活中的后果,我可以忍受一段时间......但我担心如果我们的程序被加载到一个有故障的芯片上会发生什么。
背景:使用 NDK r8c,X264 编码器的链接会发出警告:
cannot scan executable section 1 of libx264.a(dct-a.o) for Cortex-A8 erratum because it has no mapping symbols
...对于 libx264 中的所有程序集文件都有相同的警告。
libx264.a 本身是在同一台机器上使用从 NDK 获取的相同 4.6 工具链进行交叉编译的。
以下是轻松重现问题的说明(Ubuntu 或 MacOS):
从ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2下载 x264-snapshot-20121203-2245
跑
./configure --enable-pic --enable-strip --enable-static --cross-prefix=~/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi- --sysroot=~/android-ndk-r8c/platforms/android-14/arch-arm --host=arm-linux
跑
~/android-ndk-r8c/prebuilt/linux-x86/bin/make
它将构建静态库,然后在链接 x265 可执行文件时显示 Cortex-A8 警告。我不担心编译器警告,因为构建 libx264.a 是离线完成的,它不是我们官方日常构建的一部分。
我已将此报告为http://code.google.com/p/android/issues/detail?id=40794。
我尝试按照ARM.com 说明手动添加映射符号,但这没有效果。dct-a.S