Skip to content

LLD 20/21 hangs while linking SPEC2017 510.parest_r built with -O3 -flto #107

@azuresky01

Description

@azuresky01

最近在龙芯3A6000上用clang++编译spec2017 510.parest_r测试,发现取某些优化参数时, 编译会在用lld链接阶段停滞。

spec2017中c++的完整编译参数:

clang++ -std=c++11 -O2/3/fast -march=la464 -flto -fuse-ld=lld -fno-finite-math-only

出现问题参数:"-O3/fast -flto", 若无"-flto"或优化级别为"-O2"及以下则编译正常。

出现问题llvm版本:llvm20和llvm21,llvm main上的22-git版本没有问题。

出现问题系统:Debian sid和Arch Linux均发现此问题,Debian 13和AOSC则没有问题。而且问题应该和架构无关,在x86_64架构的同样系统中可复现。Debian 13和AOSC目前用的gcc版本是14,Debian sid和Arch Linux用的gcc版本是15,但在后者中用gcc14编译llvm20/21后问题仍然出现。

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions