git: 470f9f13de10 - main - Build clang and other llvm executables as PIE

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sun, 11 Feb 2024 18:45:44 UTC
The branch main has been updated by dim:

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

commit 470f9f13de10e47e6d45721c15af6b4abe7aad55
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-02-11 18:01:56 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-02-11 18:01:56 +0000

    Build clang and other llvm executables as PIE
    
    There is no reason anymore to not build these as PIE. Unfortunately
    bsd.lib.mk does not allow for building _only_ PIE static libraries, so
    lib/clang/Makefile.inc needs a kludge to work around that issue.
    
    MFC after:      1 week
---
 lib/clang/Makefile.inc     | 6 +++++-
 usr.bin/clang/Makefile.inc | 2 --
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/clang/Makefile.inc b/lib/clang/Makefile.inc
index 2dfc966726b0..5a8ead5292c6 100644
--- a/lib/clang/Makefile.inc
+++ b/lib/clang/Makefile.inc
@@ -2,7 +2,11 @@
 .include <bsd.compiler.mk>
 
 PACKAGE=	clang
-MK_PIE:=	no	# Explicit libXXX.a references
+
+# Build only PIE static libraries; bsd.lib.mk does support this directly.
+MK_PIE:=	no
+CFLAGS+=	${PIEFLAG} ${SHARED_CFLAGS}
+CXXFLAGS+=	${PIEFLAG} ${SHARED_CXXFLAGS}
 
 .if ${COMPILER_TYPE} == "clang"
 DEBUG_FILES_CFLAGS= -gline-tables-only
diff --git a/usr.bin/clang/Makefile.inc b/usr.bin/clang/Makefile.inc
index 831cd56a8c25..8f812e24fcdb 100644
--- a/usr.bin/clang/Makefile.inc
+++ b/usr.bin/clang/Makefile.inc
@@ -3,8 +3,6 @@ WARNS?=		0
 
 .include <bsd.compiler.mk>
 
-MK_PIE:=	no	# Explicit libXXX.a references
-
 .if ${COMPILER_TYPE} == "clang"
 DEBUG_FILES_CFLAGS= -gline-tables-only
 .else