]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
libllvmminimal: Add missing Support/ABIBreak.cpp
authorJessica Clarke <jrtc27@FreeBSD.org>
Wed, 27 Jan 2021 19:19:00 +0000 (19:19 +0000)
committerJessica Clarke <jrtc27@FreeBSD.org>
Sat, 30 Jan 2021 14:23:47 +0000 (14:23 +0000)
commitbb8fa72dae42c213d3f822865c0121577243ca18
tree1c24af5203eb68dfaddcd8ef0d9ab04a4ce490f6
parent1f9ee757d96dfc35e0a2d89ef5fd80f26138a693
libllvmminimal: Add missing Support/ABIBreak.cpp

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 48397f6c7d2d693602105d8ec24c5741202e264d)
lib/clang/libllvmminimal/Makefile