git: efe456a0ef00 - stable/12 - libllvmminimal: Add missing Support/ABIBreak.cpp

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sat, 25 Dec 2021 11:55:05 UTC
The branch stable/12 has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=efe456a0ef002f39fb898a99b1d57de673dd5793

commit efe456a0ef002f39fb898a99b1d57de673dd5793
Author:     Jessica Clarke <jrtc27@FreeBSD.org>
AuthorDate: 2021-01-27 19:19:00 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-12-25 11:50:57 +0000

    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>
    Reviewed by:    dim
    Tested by:      mhorne
    MFC after:      3 days
    Differential Revision:  https://reviews.freebsd.org/D28367
    
    (cherry picked from commit 48397f6c7d2d693602105d8ec24c5741202e264d)
---
 lib/clang/libllvmminimal/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/clang/libllvmminimal/Makefile b/lib/clang/libllvmminimal/Makefile
index 0b5a204583fb..76826547ddbf 100644
--- a/lib/clang/libllvmminimal/Makefile
+++ b/lib/clang/libllvmminimal/Makefile
@@ -7,6 +7,7 @@ INTERNALLIB=
 
 SRCDIR=		llvm/lib
 SRCS+=		Demangle/ItaniumDemangle.cpp
+SRCS+=		Support/ABIBreak.cpp
 SRCS+=		Support/APFloat.cpp
 SRCS+=		Support/APInt.cpp
 SRCS+=		Support/ARMTargetParser.cpp