Bug 256874

Summary: lang/gcc*: stop linking against _p.a libraries
Product: Ports & Packages Reporter: Ed Maste <emaste>
Component: Individual Port(s)Assignee: Gerald Pfeifer <gerald>
Status: Closed FIXED    
Severity: Affects Only Me CC: andreast, gerald, salvadore
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256873

Description Ed Maste freebsd_committer freebsd_triage 2021-06-28 19:48:54 UTC
We plan to deprecate the PROFILE option / _p.a archives - see https://reviews.freebsd.org/D30833.

Clang upstream and in base no longer links against _p.a archives when -pg is specified:

commit b762974cf4b9ea77f1decf4a6d829372f0a97f75
Author: Ed Maste <emaste@FreeBSD.org>
Date:   Sat Jun 26 19:58:16 2021 -0400

    clang: stop linking _p libs for -pg as of FreeBSD 14
    
    In FreeBSD 14 we will stop providing _p libraries (compiled with -pg).
    
    Reviewed by:    dim (upstream)
    Obtained from:  LLVM 699d47472c3f
    MFC after:      2 weeks
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D30861

We'll need to make the same change in gcc. AFAICT at present only libc_p.a and libpthread_p.a have this special case in gcc.
Comment 1 Gerald Pfeifer freebsd_committer freebsd_triage 2021-07-11 19:54:53 UTC
I understand andreast@ has a patch for upstream in the works. Thank you!
Comment 2 Gerald Pfeifer freebsd_committer freebsd_triage 2022-01-22 00:10:34 UTC
I'm in the process of relinquishing maintainership of more and more
of the lang/gcc* ports, so over to toolchain@.


Andreas, 

you indicated you had a draft patch ready? Any chance you can push
that upstream (which would be vastly better than a local patch).
Comment 3 Gerald Pfeifer freebsd_committer freebsd_triage 2025-02-16 12:00:48 UTC
This actually got addressed upstream with the following commit of yours
truely of a patch contributed by Andreas Tobler.

Thank you, Andreas!


    48abb540701447b0cd9df7542720ab65a34fc1b1
    Author:     Andreas Tobler <andreast@gcc.gnu.org>
    AuthorDate: Sun Jun 9 23:18:04 2024 +0200
    Commit:     Gerald Pfeifer <gerald@pfeifer.com>
    CommitDate: Sun Jun 9 23:18:04 2024 +0200

    FreeBSD: Stop linking _p libs for -pg as of FreeBSD 14
    
    As of FreeBSD version 14, FreeBSD no longer provides profiled system
    libraries like libc_p and libpthread_p. Stop linking against them if
    the FreeBSD major version is 14 or more.
    
    gcc:
            * config/freebsd-spec.h: Change fbsd-lib-spec for FreeBSD > 13,
            do not link against profiled system libraries if -pg is invoked.
            Add a define to note about this change.
            * config/aarch64/aarch64-freebsd.h: Use the note to inform if
            -pg is invoked on FreeBSD > 13.
            * config/arm/freebsd.h: Likewise.
            * config/i386/freebsd.h: Likewise.
            * config/i386/freebsd64.h: Likewise.
            * config/riscv/freebsd.h: Likewise.
            * config/rs6000/freebsd64.h: Likewise.
            * config/rs6000/sysv4.h: Likeise.
Comment 4 Gerald Pfeifer freebsd_committer freebsd_triage 2025-02-17 08:44:25 UTC
I now backported this to the gcc-14 and gcc-13 release branches as well,
so this coming week's snapshots (gcc14-devel and gcc13-devel) will get
it and also the next releases (GCC 14.3 via gcc14 and GCC 13.4 via gcc13).

Thank you for raising this proactively, Ed, and providing the patch,
Andreas!