【问题标题】:Disable NaCl crypto library's CPU tuning禁用 NaCl 加密库的 CPU 调优
【发布时间】:2014-07-02 16:59:53
【问题描述】:

是否可以禁用automatic CPU-specific tuning in NaCl

我想编译参考.c,在适用的情况下忽略任何 x86 .s(来自 qhasm)等。

设置-march-mtune-mcpu 似乎不够。

【问题讨论】:

  • 根据您的实际目标(例如,生成可在任何 x86 CPU 上运行的代码),您可能希望使用 LibSodium 而不是 NaCl。
  • @CodesInChaos 实际上他们的目标是在非 x86 CPU 上运行的代码。我正在交叉编译,但它仍在尝试编译 x86。
  • 在这种情况下,我会推荐 LibSodium。如果交叉编译不起作用,您可以在他们的 github 上打开一个问题。 LibSodium 有活跃的开发人员,而 NaCl 几乎是一个没有支持的 codedrop。

标签: gcc nacl-cryptography


【解决方案1】:

libsodium 支持交叉编译。

在运行configure 脚本时使用标准的--host=... 开关。

每个版本都经过验证,可以交叉编译(并通过实际平台或模拟器上的所有测试)至少到 iOS、linux/mips、linux/mipsel 和 linux/arm 以及 javascript。

确实,如果您在将问题交叉编译到另一个目标时遇到困难,请随时打开一个问题。

【讨论】:

    【解决方案2】:

    nacl 中所有相关的构建逻辑都在 bourne shell 脚本 ./do 中

    仅编译可移植实现:

    sed -i.original '
    # use reference implementations only
    /implementationdir=`dirname \$doth`/a\
      case "$implementationdir" in\
      */ref|*/portable) ;;\
      *) echo "SKIPPING $implementationdir"; continue ;;\
      esac
    ' ./do
    

    (作者 aetey.se,以上这段代码特此放到公共领域)

    为了能够交叉编译,您必须删除编译和运行的部分。 : 352,358d; 347d; 275,326d;)。

    为了避免运行测试:

    /for bintype in commandline tests/s/tests//
    

    .

    【讨论】:

      猜你喜欢
      • 2012-11-19
      • 1970-01-01
      • 2021-11-13
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多