Skip to content

[Build][LinxISA] LLVM main link misses LLVMPasses dependency #98

Description

@wangyuascend-spec

问题描述

使用 LLVM 主线与 LinxISA 后端构建工具链时,LLVM/Clang 主体可以完成编译,但完整安装目标在链接附加目标时失败。

复现环境

  • llvm-project main @ 3d79447
  • linx-toolchain-build main @ e6a31efb4cfb17f1f1c33265cbf6dbb61bbba156
  • Ubuntu/WSL x86_64,CMake + Ninja,ninja -j4
  • LLVM_EXPERIMENTAL_TARGETS_TO_BUILD=LinxISA

复现步骤

配置 LLVM 主线,启用 clang、lld,设置 LLVM_TARGETS_TO_BUILD 为空、LLVM_EXPERIMENTAL_TARGETS_TO_BUILD=LinxISA,然后执行:

ninja -j4 clang lld
ninja -j4 install

实际结果

clang 和 lld 可以完成链接,但 install 阶段失败:

undefined reference to llvm::OptimizationLevel::O0
undefined reference to llvm::OptimizationLevel::O1
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed

OptimizationLevel::O0/O1 符号实际存在于 lib/libLLVMPasses.a,但包含 LinxISATargetMachine.cpp 的链接目标没有正确带上 LLVMPasses 依赖。

期望结果

LinxISA 后端相关 target 正确声明并链接 LLVMPasses(或等价的 LLVM 组件依赖),使完整 ninja install 成功。

关联仓库:linx-toolchain-build 的构建脚本可能也需要同步适配。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions