Re: Profiled libraries on freebsd-current
- Reply: Ed Maste : "Re: Profiled libraries on freebsd-current"
- In reply to: Ed Maste : "Re: Profiled libraries on freebsd-current"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 01 May 2022 15:54:14 UTC
On Sat, Apr 30, 2022 at 04:07:48PM -0400, Ed Maste wrote: > On Sat, 30 Apr 2022 at 11:34, Steve Kargl > <sgk@troutmask.apl.washington.edu> wrote: > > > > On Sat, Apr 30, 2022 at 09:39:32AM -0400, Ed Maste wrote: > > > On Fri, 29 Apr 2022 at 01:58, Steve Kargl > > > <sgk@troutmask.apl.washington.edu> wrote: > > > > > > > > If one looks at src.conf(5), one finds > > > > > > > > WITH_PROFILE > > > > Build profiled libraries for use with gprof(8). This option is > > > > deprecated and is not present in FreeBSD 14. > > > > > > > > I assume that the *_p.a libraries will no longer be built and > > > > installed on FreeBSD 14 and later. Is this correct? > > > > > > FreeBSD 14 is not yet released, of course, but that is indeed the > > > intent. PR256874 reports that a GCC patch (to stop linking against > > > _p.a) is in the works but unfortunately has not had an update for some > > > time. > > > > I see. It only took me 2+ years to get > > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89125 > > > > committed to the GCC repository. Good luck with > > getting your patch upstream. > > Heh, thanks. > > I have just now changed the WITH_PROFILE description to state "a > future version of FreeBSD" since it may well not happen for FreeBSD > 14. > > We could also just install libc_p.a as a symlink to libc.a (and same > for the other _p.a archives). This works for me, but there is one addition place dealing with -pg in freebsd-spec.h diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h index 594487829b5..1e8ab2e1827 100644 --- a/gcc/config/freebsd-spec.h +++ b/gcc/config/freebsd-spec.h @@ -93,14 +93,22 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see (similar to the default, except no -lg, and no -p). */ #ifdef FBSD_NO_THREADS +#if FBSD_MAJOR < 14 #define FBSD_LIB_SPEC " \ - %{pthread: %eThe -pthread option is only supported on FreeBSD when gcc \ + %{pthread: %eThe -pthread option is only supported on FreeBSD when gcc \ is built with the --enable-threads configure-time option.} \ %{!shared: \ %{!pg: -lc} \ %{pg: -lc_p} \ }" #else +#define FBSD_LIB_SPEC " \ + %{pthread: %eThe -pthread option is only supported on FreeBSD when gcc \ +is built with the --enable-threads configure-time option.} \ + }" +#endif +#else +#if FBSD_MAJOR < 14 #define FBSD_LIB_SPEC " \ %{!shared: \ %{!pg: %{pthread:-lpthread} -lc} \ @@ -109,6 +117,15 @@ is built with the --enable-threads configure-time option.} \ %{shared: \ %{pthread:-lpthread} -lc \ }" +#else +#define FBSD_LIB_SPEC " \ + %{!shared: \ + %{pthread:-lpthread} -lc \ + } \ + %{shared: \ + %{pthread:-lpthread} -lc \ + }" +#endif #endif /* To make matters interesting, we can't actually use __FreeBSD_version -- Steve