Re: git: fdd3f6f78888 - main - bsd.lib.mk: only ctfmerge if objfiles have a CTF section
Date: Mon, 05 Oct 2026 19:35:28 UTC
On Mon, Oct 05, 2026 at 02:07:57PM +0000, Siva Mahadevan wrote:
> The branch main has been updated by siva:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=fdd3f6f78888b02a1bfa69a0572317413dc14a45
>
> commit fdd3f6f78888b02a1bfa69a0572317413dc14a45
> Author: Siva Mahadevan <siva@FreeBSD.org>
> AuthorDate: 2026-10-02 19:54:55 +0000
> Commit: Siva Mahadevan <siva@FreeBSD.org>
> CommitDate: 2026-10-05 14:07:44 +0000
>
> bsd.lib.mk: only ctfmerge if objfiles have a CTF section
>
> PR: 299013
> Reported by: Trond.Endrestol@ximalas.info
> Reviewed by: emaste
> Fixes: 222210c6a822 ("libgcc_s: add libgcc_s_asneeded.so wrapper for gcc 16")
> MFC after: 3 days
> Sponsored by: The FreeBSD Foundation
> Differential Revision: https://reviews.freebsd.org/D60252
> ---
> share/mk/bsd.lib.mk | 2 +-
> share/mk/sys.mk | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
> index e3b3d760ff28..5b7bed041b8f 100644
> --- a/share/mk/bsd.lib.mk
> +++ b/share/mk/bsd.lib.mk
> @@ -291,7 +291,7 @@ ${SHLIB_NAME_FULL}: ${SOBJS}
> .endif
> ${_LD:N${CCACHE_BIN}} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
> -o ${.TARGET} -Wl,-soname,${SONAME} ${SOBJS} ${LDADD}
> -.if ${MK_CTF} != "no"
> +.if ${MK_CTF} != "no" && defined(SOBJS) && !empty(SOBJS)
> ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}
> .endif
>
> diff --git a/share/mk/sys.mk b/share/mk/sys.mk
> index bb943d2b1519..f63223e8464e 100644
> --- a/share/mk/sys.mk
> +++ b/share/mk/sys.mk
> @@ -165,7 +165,7 @@ CPP ?= cpp
> CTFFLAGS ?= -L VERSION
>
> CTFCONVERT ?= ctfconvert
> -CTFMERGE ?= ctfmerge
> +CTFMERGE ?= ctfmerge -t
Is this part of the change intentional? It doesn't seem right. We may
legitimately have object files without CTF info, I'm sure this happens
in the kernel for instance.
>
> .if defined(CFLAGS) && (${CFLAGS:M-g} != "")
> CTFFLAGS += -g
>