mirror of
https://github.com/opnsense/src.git
synced 2026-05-16 02:59:48 -04:00
When building natively on RISC-V, linking the bootstrap clang-tblgen
fails with:
ld: error: undefined symbol: llvm::EnableABIBreakingChecks
>>> referenced by PrettyStackTrace.cpp
>>> PrettyStackTrace.o:(.sdata+0x0) in archive
/usr/obj/usr/src/freebsd-src/riscv.riscv64/tmp/obj-tools/lib/clang/libllvmminimal/libllvmminimal.a
>>> referenced by Signals.cpp
>>> Signals.o:(.sdata+0x8) in archive
/usr/obj/usr/src/freebsd-src/riscv.riscv64/tmp/obj-tools/lib/clang/libllvmminimal/libllvmminimal.a
>>> referenced by Timer.cpp
>>> Timer.o:(.sdata+0x28) in archive
/usr/obj/usr/src/freebsd-src/riscv.riscv64/tmp/obj-tools/lib/clang/libllvmminimal/libllvmminimal.a
This is likely due to Error.h's inclusion of abi-breaking.h. It's
unclear why this only affects RISC-V, but perhaps relates to its more
eager use of .sdata due to the ABI's support for linker relaxations.
Regardless, this is theoretically an issue for all architectures.
Reported by: Dennis Clarke <dclarke@blastwave.org>
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| headers | ||
| include | ||
| libclang | ||
| liblldb | ||
| libllvm | ||
| libllvmminimal | ||
| clang.build.mk | ||
| clang.pre.mk | ||
| freebsd_cc_version.h | ||
| lldb.pre.mk | ||
| llvm.build.mk | ||
| llvm.pre.mk | ||
| Makefile | ||
| Makefile.inc | ||