代码之家  ›  专栏  ›  技术社区  ›  acm

用于控制、编辑或发出动态库的LC_UUID的工具?

  •  0
  • acm  · 技术社区  · 6 年前

    我正在用嵌入的位代码生成dylib并使用 -bitcode-symbol-map UUID.bcsymbolmap bcsymbolmap 文件,以便我可以安装和打包它们,但这样做很困难,因为文件的输出名称由 LC_UUID dylib中的值,它似乎由 ld . 看来我有两个选择:

    • 信用证 在构建dylib的时候,我可以预测 BCSYMBOL映射 文件。

    • 请为 BCSYMBOL映射 文件(文件) -位码符号映射 选项不支持此选项),它不包含UUID,然后在安装时,找出 信用证 并重命名 BCSYMBOL映射 适当归档。

    但是,我没有看到允许我指定 或者一个工具,让我在事后改变它(在这里思考类似的东西) install_name_tool ),我也看不到一个实用程序,将很容易地给我的回报 信用证 给定库的(对 otool -l ,看起来脆弱而令人不快。

    信用证 为了一个dylib?

    1 回复  |  直到 6 年前
        1
  •  0
  •   acm    6 年前

    otool -l dwarfdump -u 在目标上,将列出UUID:

    $ dwarfdump -u build/libfoo.dylib
    UUID: BF8FAFCC-5B1F-3FC8-B2AF-FCDA16609D71 (arm64) build/libfoo.dylib
    

    它仍然不理想,但至少可以用它来解析 awk 或者类似的。

    ld 显式设置 LC_UUID -no_uuid 已经存在,添加一个 -uuid