From nobody Fri Apr 25 17:52:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkgRM02N7z5tqlp; Fri, 25 Apr 2025 17:52:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZkgRL50Hdz41Rr; Fri, 25 Apr 2025 17:52:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745603566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uMZ2xVAiggAJZuJ5mxORtUiCse4Fpn+RSagGSEJj+9Y=; b=Mrd2sisL9KDQrzG0FRAI/ecpBW6xNq31JuD2p+Mx8C3pUJkKeecAqRA70s83y7kSQDmYv7 3RWNZzT7rR2BWZEWi6sJbgIXUhuo/EOOqjQT62CBSeuQVILZuj5vHiTStu1IUJNWz1C1vG VBot12TC7oq9sO9aTq5hUjcKPZ9kOoKqu/pSgdVSGeHVzzW6IcDXTfrNz2vNGn7qeV/1Ne CbUsTUxQSr/7AfhoTlF5top7xaOASWH+Hrsib1CazS5a5BSV01viZiqwg15bfl6EYy7YqM ZC/CIZSjsl51IKSw9PQWOGHXSYlFXqKLpxlr0NaU20uHoeofpr1I1inC6oPSKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745603566; a=rsa-sha256; cv=none; b=j2fZqC1YopRW0PQt7NUrUV8UZ02/Ip2h5mdjHYVXKaj9w1M6Y9AjD5IesR6khV8Tb5rJNR o2WiefVLx6PoUAVmNxct6DazpbeiCg5pdccru/LywYGKUPH3P7fROuFI2zZX3Lntz74K7d IkaYk6Kf/D1G8esTrdtEU9CRaCh0R9X+Ov/mYTESM1TCx9AB43F+uoa819bG6n3OR/fWge v9Sjd5AxzkNw0Lku5hqqKLXR4H0bGerXVxF5wQlkFASQ/4Saj8iye8hcs+7bcNBLBECSot JaUVk6bEnw/fk1xPgPOs6x5wnAkpocOgt1rUrGIYsQQkCKyPNvsvEuZS8KHu1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745603566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uMZ2xVAiggAJZuJ5mxORtUiCse4Fpn+RSagGSEJj+9Y=; b=jLxA3gt9x+WB+8GRbKMsdOD0Epy6oRkC8bRSq5vgceSOri469POY9pfgw15dl9H49En/PH 3vg+KRJi79WqxLelK5CVaL4Dmq26nq+OKRuSB/eK+DG/lspdiedujt6By0CCHO19I3b15F JdKTjxvkxQ4ar69Xj0CPyenIe+Xuy8ozKMWwUdboK40f0pLFCj3Jaqnm4SLtTFQxOzaYAV p1HmQQkSmO7GXyaxA/P12TZr6S2PSQXgPbkMZGULJFC+9RdjU9QRVe9rssNFvio7fGBfKp yoLKaJ/3Ut6wIoCUI+NMqP84wNvES7fnS8MWEvEqzm5n28lVJMmWukdxE7TLmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkgRL4GZPzm3K; Fri, 25 Apr 2025 17:52:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53PHqkQH046203; Fri, 25 Apr 2025 17:52:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PHqkKP046200; Fri, 25 Apr 2025 17:52:46 GMT (envelope-from git) Date: Fri, 25 Apr 2025 17:52:46 GMT Message-Id: <202504251752.53PHqkKP046200@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 245bb0110639 - main - Use .pieo extension for WITH_PIE bsd.prog.mk output List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 245bb0110639fe963086fb2903143dbd4e6ac48c Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=245bb0110639fe963086fb2903143dbd4e6ac48c commit 245bb0110639fe963086fb2903143dbd4e6ac48c Author: Dimitry Andric AuthorDate: 2025-04-21 19:52:29 +0000 Commit: Dimitry Andric CommitDate: 2025-04-25 17:51:55 +0000 Use .pieo extension for WITH_PIE bsd.prog.mk output When object files for programs are built using bsd.prog.mk, and WITH_PIE is enabled, the extension used is still plain ".o". To be consistent with bsd.lib.mk, and to allow changes in WITH_PIE settings to propagate correctly, the extension should be ".pieo" instead. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49966 --- share/mk/bsd.prog.mk | 15 ++++++++------- share/mk/bsd.progs.mk | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index 1894a8b938d0..f44556ef9b75 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -4,7 +4,7 @@ .include .include -.SUFFIXES: .out .o .bc .c .cc .cpp .cxx .C .m .y .l .ll .ln .s .S .asm +.include # XXX The use of COPTS in modern makefiles is discouraged. .if defined(COPTS) @@ -47,13 +47,14 @@ LDFLAGS+= -Wl,-znorelro LDFLAGS+= -Wl,-zrelro .endif .endif -.if ${MK_PIE} != "no" # Static PIE is not yet supported/tested. -.if !defined(NO_SHARED) || ${NO_SHARED:tl} == "no" +.if ${MK_PIE} != "no" && (!defined(NO_SHARED) || ${NO_SHARED:tl} == "no") CFLAGS+= -fPIE CXXFLAGS+= -fPIE LDFLAGS+= -pie -.endif +OBJ_EXT=pieo +.else +OBJ_EXT=o .endif .if ${MK_RETPOLINE} != "no" .if ${COMPILER_FEATURES:Mretpoline} && ${LINKER_FEATURES:Mretpoline} @@ -161,7 +162,7 @@ PROGNAME?= ${PROG} .if defined(SRCS) -OBJS+= ${SRCS:N*.h:${OBJS_SRCS_FILTER:ts:}:S/$/.o/g} +OBJS+= ${SRCS:N*.h:${OBJS_SRCS_FILTER:ts:}:S/$/.${OBJ_EXT}/g} # LLVM bitcode / textual IR representations of the program BCOBJS+=${SRCS:N*.[hsS]:N*.asm:${OBJS_SRCS_FILTER:ts:}:S/$/.bco/g} @@ -197,10 +198,10 @@ SRCS= ${PROG}.c # - the name of the object gets put into the executable symbol table instead of # the name of a variable temporary object. # - it's useful to keep objects around for crunching. -OBJS+= ${PROG}.o +OBJS+= ${PROG}.${OBJ_EXT} BCOBJS+= ${PROG}.bc LLOBJS+= ${PROG}.ll -CLEANFILES+= ${PROG}.o ${PROG}.bc ${PROG}.ll +CLEANFILES+= ${PROG}.${OBJ_EXT} ${PROG}.bc ${PROG}.ll .if target(beforelinking) beforelinking: ${OBJS} diff --git a/share/mk/bsd.progs.mk b/share/mk/bsd.progs.mk index ee6b13057574..4d1ff354edfb 100644 --- a/share/mk/bsd.progs.mk +++ b/share/mk/bsd.progs.mk @@ -110,7 +110,7 @@ _PROGS_ALL_SRCS+= ${s} .if !empty(_PROGS_COMMON_SRCS) _PROGS_COMMON_OBJS= ${_PROGS_COMMON_SRCS:M*.[dhly]} .if !empty(_PROGS_COMMON_SRCS:N*.[dhly]) -_PROGS_COMMON_OBJS+= ${_PROGS_COMMON_SRCS:N*.[dhly]:${OBJS_SRCS_FILTER:ts:}:S/$/.o/g} +_PROGS_COMMON_OBJS+= ${_PROGS_COMMON_SRCS:N*.[dhly]:${OBJS_SRCS_FILTER:ts:}:S/$/.${OBJ_EXT}/g} .endif .endif