【问题标题】:NDK r8c warning for asm objects regarding "Cortex-A8 erratum" - should I be worried?关于“Cortex-A8 勘误表”的 asm 对象的 NDK r8c 警告 - 我应该担心吗?
【发布时间】:2012-12-07 00:10:15
【问题描述】:

问题:这个警告是什么意思?如果没有现实生活中的后果,我可以忍受一段时间......但我担心如果我们的程序加载到有故障的芯片之一会发生什么。

背景:使用 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):

  1. 从ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2下载x264-snapshot-20121203-2245

  2. 运行./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

  3. 运行~/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 instructions 之后手动将mapping symbols 添加到dct-a.S,但这没有效果。

【问题讨论】:

  • 那个配置对我不起作用。我得到“找不到工作的 C 编译器”。我在正确的地方有 NDK。我只是想知道您是否有跨工具链的路径问题。
  • @auselen:不,我不知道你的编译器路径有什么问题。你的平台是什么?恐怕在 Windows 上没有简单的配置方法。也许你必须按照 NDK 的说明准备你的独立工具链,这在我的 Ubuntu 机器上不是必需的。 无论如何,请继续关注:我有答案!
  • @auselen:在 Mac OS 上,我发现 ~ 有所作为(以及 coreect 路径)。我最终得到了./configure --enable-pic --enable-strip --enable-static --cross-prefix=/Users/AlexCohn/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/arm-linux-androideabi- --sysroot=/Users/AlexCohn/android-ndk-r8c/platforms/android-14/arch-arm --host=arm-linux
  • 在 ubuntu 上对我来说也是〜。

标签: assembly android-ndk arm x264 cortex-a8


【解决方案1】:

我从 Andrew 那里得到了答案:http://code.google.com/p/android/issues/detail?id=40794#c4

tl;nr: h264 makefile 强制剥离映射符号。 我已经仔细检查过:这不是我的 --enable-strip 和 ./configure 造成的。

最快的解决方法是运行

make STRIP=

【讨论】:

  • 对于不使用 VideoLan 的人,有什么办法可以解决这个问题吗?我得到上面运行 ndk-build 的错误
  • @CoryTrese 你能详细说明一下吗?
猜你喜欢
  • 1970-01-01
  • 2019-07-13
  • 2013-05-18
  • 2016-08-08
  • 1970-01-01
  • 1970-01-01
  • 2013-02-21
  • 2015-05-24
  • 1970-01-01
相关资源
最近更新 更多