git: e6d23ad3c1ce - main - devel/llvm12: fix for broken binaries generated by llvm12

Piotr Kubaj pkubaj at FreeBSD.org
Fri Aug 27 18:22:35 UTC 2021


The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e6d23ad3c1ce370183de89a6013e55085de3510b

commit e6d23ad3c1ce370183de89a6013e55085de3510b
Author:     Piotr Kubaj <pkubaj at FreeBSD.org>
AuthorDate: 2021-08-27 18:22:26 +0000
Commit:     Piotr Kubaj <pkubaj at FreeBSD.org>
CommitDate: 2021-08-27 18:22:26 +0000

    devel/llvm12: fix for broken binaries generated by llvm12
    
    Selectively reverts LLVM commit 2518433f861fcb877d0a7bdd9aec1aec1f77505a that was pointed as the source of regression on LLVM12.
    This affects powerpc64*, making binaries crash with segmentation fault due to bad code generation around "__stack_chk_guard"
    
    Root cause and/or proper fix is under investigation: https://bugs.llvm.org/show_bug.cgi?id=51590
    
    Submitted by:   adalava
    Differential review (for base): https://reviews.freebsd.org/D31698
---
 devel/llvm12/Makefile                                        |  2 +-
 .../files/patch-llvm_lib_CodeGen_TargetLoweringBase.cpp      | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/devel/llvm12/Makefile b/devel/llvm12/Makefile
index 501f9edff5e5..1300cca4c9e6 100644
--- a/devel/llvm12/Makefile
+++ b/devel/llvm12/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	llvm
 DISTVERSION=	12.0.1
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	devel lang
 MASTER_SITES=	https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION:S/rc/-rc/}/ \
 		https://${PRE_}releases.llvm.org/${LLVM_RELEASE}/${RCDIR}
diff --git a/devel/llvm12/files/patch-llvm_lib_CodeGen_TargetLoweringBase.cpp b/devel/llvm12/files/patch-llvm_lib_CodeGen_TargetLoweringBase.cpp
new file mode 100644
index 000000000000..9c1603198256
--- /dev/null
+++ b/devel/llvm12/files/patch-llvm_lib_CodeGen_TargetLoweringBase.cpp
@@ -0,0 +1,12 @@
+--- llvm/lib/CodeGen/TargetLoweringBase.cpp.orig	2021-08-27 13:06:05 UTC
++++ llvm/lib/CodeGen/TargetLoweringBase.cpp
+@@ -1961,7 +1961,8 @@ void TargetLoweringBase::insertSSPDeclarations(Module 
+                                   GlobalVariable::ExternalLinkage, nullptr,
+                                   "__stack_chk_guard");
+     if (TM.getRelocationModel() == Reloc::Static &&
+-        !TM.getTargetTriple().isWindowsGNUEnvironment())
++        !TM.getTargetTriple().isWindowsGNUEnvironment() &&
++	!(TM.getTargetTriple().isPPC64() && TM.getTargetTriple().isOSFreeBSD()))
+       GV->setDSOLocal(true);
+   }
+ }


More information about the dev-commits-ports-main mailing list