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.
I understand andreast@ has a patch for upstream in the works. Thank you!
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).
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.
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!