From nobody Fri Aug 08 09:37:40 2025 X-Original-To: dev-commits-src-main@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 4byzTd0bxzz63Qlg; Fri, 08 Aug 2025 09:37:41 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4byzTd01BCz43Md; Fri, 08 Aug 2025 09:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1754645861; 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=VUYDKAXHcMUi6cgjQHv/8kYpso+2MbcHyeCzif2i6O4=; b=VqEa4VdMwpxo6KhpJKH26kpzPA4A8Mx6c7qDf/38ZfqIhb0vyJUxixgIzt1VFRkx56OCIh xTj96mST/IPp8NC/AIgXCtKbHbOv8Ve3tj5to4QiEsk7XAdaKMODSVTGnufLve27ZYPh+0 HkGi23llH+IT/IsqkZiaHEgm7lcc9TpOBuiI/ZhXfvXqb21p7BXCaLa8k2CmsJbVtAjA3c Rszcj4Xcv0cOkpqPhbJA4MiCCxtV/BIGHcd5DTS/xkKNMGECa9eJSOeeg/8lAWc1BLeQt/ l3/s1soYSlQ2nw/pUicvdraP2bB66LUaDQ83DZADHdTO/JNtVHDUotZSiM9caQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1754645861; 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=VUYDKAXHcMUi6cgjQHv/8kYpso+2MbcHyeCzif2i6O4=; b=C2H2ofnEjG0tyiQspgA4yytOiLCOPCw+aDvUJ93GzZshUNGUGzw4p2Us3OUkV3v4aKxpJW iRWUX8CfgYpyc4Gakzdt9RrN0g2E1Huc9ja5XJWxq77u1qJCVBnA1sosZ+KEjxv4uKSYdo 2eXcirDLAm5XstC1mqMVAXNojbYYPGzTZRjVBO8Uk+JhS1CiaOSb9vYKOPr/aE4qjCfMG8 TeTYuflxIG2afe/eoNKWN/IBH+lBMzafBWSKdzATEjfXfQF7e2kABgrhl1KlU8RYRFRJ4q 0gcc4lqcnAqP0NQTKSrDjSaZ94E9cEQzCExzALMPn88AwfK6NARxezOdhHybYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1754645861; a=rsa-sha256; cv=none; b=xx2z9mZIn/FtwzuRESkl962UsDHx9HJxyQ6X/CGLIP1dtndEva8MzwyO0BJ+Be3iNAjq+t jxNyyAVyU8S+JiH5xMD7ZYm4XQpf/LPnsiagWd6uCZBkscAsLJ+me9BNnJAl/cuwLCvKae 4DpfC8luI0WAt4EcdSC2cjQAEI8nKf/UZ16vkM7QMI5L4b/aGeu8AKdxarLAl9hZD7s74q m1e5JbHvIcxw9Oj1IWLyvWAiC5WMVgcEjggUmKyewkSuNZrsalg9P4/MepbPNAigDqvxJB 08FOVOwqFe4Dki41umTZNRitk3lsTg5crP6zEVp0CJxBWPcusg5iF5m41TLR9Q== 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 4byzTc6LkYzTvQ; Fri, 08 Aug 2025 09:37:40 +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 5789beo9082908; Fri, 8 Aug 2025 09:37:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5789beFU082905; Fri, 8 Aug 2025 09:37:40 GMT (envelope-from git) Date: Fri, 8 Aug 2025 09:37:40 GMT Message-Id: <202508080937.5789beFU082905@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: fd4cdc438b77 - main - rtld: fix dependencies for rtld-libc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fd4cdc438b7740007b06ea97431cc724e9aae185 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=fd4cdc438b7740007b06ea97431cc724e9aae185 commit fd4cdc438b7740007b06ea97431cc724e9aae185 Author: Brooks Davis AuthorDate: 2025-08-08 09:30:16 +0000 Commit: Brooks Davis CommitDate: 2025-08-08 09:30:16 +0000 rtld: fix dependencies for rtld-libc Previously we (appropriately, but incorrectly) attempted to depend on LIBC_NOSSP_PIC and LIBSYS_PIC for rtld_libc.a. Unfortunately, variables in dependency lists are expanded at parse time and those variables are defined in bsd.libnames.mk which *must* be included by bsd.{lib,prog}.mk. As such, they were undefined and thus expanded to the empty string resulting in no dependency with predictable and highly confusing results. Move the declaration of these dependencies to after the include of bsd.prog.mk and add comments on both side in hopes of keeping any future dependencies in sync. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D51790 --- libexec/rtld-elf/Makefile | 4 ++++ libexec/rtld-elf/rtld-libc/Makefile.inc | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libexec/rtld-elf/Makefile b/libexec/rtld-elf/Makefile index 0dbd2b8aa935..b6ff7681e658 100644 --- a/libexec/rtld-elf/Makefile +++ b/libexec/rtld-elf/Makefile @@ -128,3 +128,7 @@ ${PROG_FULL}: ${VERSION_MAP} # and are therefore not identical to the ones from the system headers. CFLAGS+= -Wno-redundant-decls .endif + +# Add dependencies on libc and libsys archives after bsd.prog.mk +# includes bsd.libnames.mk so they are defined. +rtld_libc.a: ${LIBC_NOSSP_PIC} ${LIBSYS_PIC} diff --git a/libexec/rtld-elf/rtld-libc/Makefile.inc b/libexec/rtld-elf/rtld-libc/Makefile.inc index b16f84f398d0..a10bd562a7ce 100644 --- a/libexec/rtld-elf/rtld-libc/Makefile.inc +++ b/libexec/rtld-elf/rtld-libc/Makefile.inc @@ -96,7 +96,11 @@ CLEANFILES+=${_obj}.pico # We insert all the .o files from libc_nossp_pic.a into a new rtld_libc.a file # to ensure that only .o files that are actually used end up being included. -rtld_libc.a: ${LIBC_NOSSP_PIC} ${LIBSYS_PIC} ${SRCTOP}/libexec/rtld-elf/rtld-libc/Makefile.inc +# +# XXX: we add dependencies on the source libraries in ../Makefile after +# bsd.prog.mk includes bsd.libnames.mk since variables in dependencies are +# expanded when parsed. +rtld_libc.a: ${SRCTOP}/libexec/rtld-elf/rtld-libc/Makefile.inc @rm -f ${.TARGET} ${AR} x ${LIBC_NOSSP_PIC} ${_rtld_libc_objs} ${AR} x ${LIBSYS_PIC} ${_rtld_libsys_objs}