Skip to content

Link error with spirv-reduce #3797

@ianelliottus

Description

@ianelliottus

The ANGLE project has an "auto-roller" that pulls SPIRV-Tools changes into our repository. A recent change fails to link spirv-reduce.

A link to the auto-roller change: https://chromium-review.googlesource.com/c/angle/angle/+/2406136

A link to one of the build log files: https://logs.chromium.org/logs/angle/buildbucket/cr-buildbucket.appspot.com/8869445363892104208/+/steps/compile_with_ninja/0/stdout?format=raw

Part of the logfile:

[150/197] LINK ./spirv-reduce
FAILED: spirv-reduce
python "../../build/toolchain/gcc_link_wrapper.py" --output="./spirv-reduce" --dwp="dwp" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -Wl,--fatal-warnings -Wl,--build-id -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,-z,dead-reloc-in-nonalloc=*=0 -Wl,-z,dead-reloc-in-nonalloc=.debug_ranges=1 -fuse-ld=lld -Wl,--icf=all -Wl,--color-diagnostics -Wl,--no-call-graph-profile-sort -m64 -Werror -Wl,-O2 -Wl,--gc-sections -rdynamic --sysroot=../../build/linux/debian_sid_amd64-sysroot -L../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -pie -Wl,--disable-new-dtags -o "./spirv-reduce" -Wl,--start-group @"./spirv-reduce.rsp" -Wl,--end-group -latomic -ldl -lpthread -lrt
ld.lld: error: undefined symbol: spvtools::reduce::ReductionOpportunityFinder::GetTargetFunctions(spvtools::opt::IRContext*, unsigned int)

referenced by merge_blocks_reduction_opportunity_finder.cpp
spvtools_reduce/merge_blocks_reduction_opportunity_finder.o:(spvtools::reduce::MergeBlocksReductionOpportunityFinder::GetAvailableOpportunities(spvtools::opt::IRContext*, unsigned int) const) in archive obj/third_party/spirv-tools/src/libspvtools_reduce.a
referenced by operand_to_const_reduction_opportunity_finder.cpp
spvtools_reduce/operand_to_const_reduction_opportunity_finder.o:(spvtools::reduce::OperandToConstReductionOpportunityFinder::GetAvailableOpportunities(spvtools::opt::IRContext*, unsigned int) const) in archive obj/third_party/spirv-tools/src/libspvtools_reduce.a
referenced by operand_to_undef_reduction_opportunity_finder.cpp
spvtools_reduce/operand_to_undef_reduction_opportunity_finder.o:(spvtools::reduce::OperandToUndefReductionOpportunityFinder::GetAvailableOpportunities(spvtools::opt::IRContext*, unsigned int) const) in archive obj/third_party/spirv-tools/src/libspvtools_reduce.a
referenced 8 more times
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Based on the changes that are referenced, I contacted the author of the suspected change that breaks our build.

Metadata

Metadata

Assignees

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