问题:,这个警告的意思是什么?如果没有现实的后果,我可以忍受一段时间.但我担心的是,如果我们的程序加载到一个错误的芯片上会发生什么。
背景:与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本身是在同一台机器上交叉编译的,它的4.6个工具链来自NDK。
下面是容易再现问题的说明(Ubuntu或MacOS):
./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。
我试图手动将映射符号添加到dct-a.S中,但这没有效果。
发布于 2012-12-07 08:01:51
我从安德鲁那里得到了答案:http://code.google.com/p/android/issues/detail?id=40794#c4
tl;nr: h264 makefile强制剥离映射符号。我已经检查过了:实现这一目标的不是我的--enable-strip for ./configure。
最快的解决办法就是跑。
make STRIP=https://stackoverflow.com/questions/13754936
复制相似问题