Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Apr 2022 14:54:17 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        sgk@troutmask.apl.washington.edu
Cc:        freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: Profiled libraries on freebsd-current
Message-ID:  <54761641-8AD3-44A6-8620-F1341ED9AB56@yahoo.com>
In-Reply-To: <YmxGyaP40bR6jq8v@troutmask.apl.washington.edu>
References:  <B1FD9D1B-EE31-4114-8F05-E249283A2408@yahoo.com> <CDB73C3B-B56C-4C17-857D-EB56BEC3E323@yahoo.com> <YmxGyaP40bR6jq8v@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2022-Apr-29, at 13:12, Steve Kargl <sgk@troutmask.apl.washington.edu> =
wrote:

> On Fri, Apr 29, 2022 at 12:51:12PM -0700, Mark Millard wrote:
>> On 2022-Apr-29, at 12:38, Mark Millard <marklmi@yahoo.com> wrote:
>>=20
>>> =
https://cgit.freebsd.org/src/commit/?id=3D175841285e289edebb6603da39f02549=
521ce950
>>> says the following (later), but first I quote the part tbat dirves =
the
>>> interpretation:
>>>=20
>>> QUOTE
>>> Clang's -pg support and mcount() remain, so building with -pg can =
still
>>> be used on code that the user builds; we just do not provide =
prebuilt
>>> libraries compiled with -pg.
>>> END QUOTE
>>>=20
>>> No WITH_PROFILE options means no "prebuilt libraries compiled with =
-pg".
>>>=20
>>>=20
>>> The overall notice was:
>>>=20
>>> author	Ed Maste <emaste@FreeBSD.org>	2021-06-27 17:21:26 =
+0000
>>> committer	Ed Maste <emaste@FreeBSD.org>	2021-06-28 15:36:59 =
+0000
>>> commit	175841285e289edebb6603da39f02549521ce950 (patch)
>>> tree	9c2d3b05546961457bb18faeebd2302a25559b49
>>> parent	243b95978debac3db06df6d26ca9f8d84f6cbd83 (diff)
>>> download	src-175841285e289edebb6603da39f02549521ce950.tar.gz
>>> src-175841285e289edebb6603da39f02549521ce950.zip
>>>=20
>>> Add deprecation notice for WITH_PROFILE option
>>>=20
>>> As discussed on freebsd-current [1] and freebsd-arch [2] and review
>>> D30833, FreeBSD 14 will ship without the _p.a libraries built with =
-pg.
>>> Both upstream and base system (in commit b762974cf4b9) Clang have =
been
>>> modified to remove the special case for linking against these =
libraries.
>>>=20
>>> Clang's -pg support and mcount() remain, so building with -pg can =
still
>>> be used on code that the user builds; we just do not provide =
prebuilt
>>> libraries compiled with -pg.  A similar change is still needed for =
GCC.
>>>=20
>>> [1] =20
>>> =
https://lists.freebsd.org/pipermail/freebsd-current/2020-January/075105.ht=
ml
>>>=20
>>> [2]=20
>>> =
https://lists.freebsd.org/archives/freebsd-arch/2021-June/000016.html
>>>=20
>>>=20
>>> MFC after:	1 week
>>> Sponsored by:	The FreeBSD Foundation
>>> END QUOTE
>>>=20
>>=20
>> I probably should have been explicit: the actual removal of =
WITH_PROFILE
>> has not happened yet. So testing attempts to use it are not yet =
expected
>> to have the new behavior yet.
>>=20
>=20
> The evenual absence of libc_p.a and libm_p.a will break GCC's
> -pg option in GCC.  One will then need to know how to change the
> GCC source or install symlinks for to point *_p.a a the *.a libs.
>=20

src/tree/tools/build/mk/OptionalObsoleteFiles.inc shows the
following that does include those 2 files as ones considered
obsolete (i.e., to be removed) by WITHOUT_PROFILE:

.if ${MK_PROFILE} =3D=3D no
OLD_FILES+=3Dusr/lib/lib80211_p.a
OLD_FILES+=3Dusr/lib/lib9p_p.a
OLD_FILES+=3Dusr/lib/libBlocksRuntime_p.a
OLD_FILES+=3Dusr/lib/libalias_dummy_p.a
OLD_FILES+=3Dusr/lib/libalias_ftp_p.a
OLD_FILES+=3Dusr/lib/libalias_irc_p.a
OLD_FILES+=3Dusr/lib/libalias_nbt_p.a
OLD_FILES+=3Dusr/lib/libalias_p.a
OLD_FILES+=3Dusr/lib/libalias_pptp_p.a
OLD_FILES+=3Dusr/lib/libalias_skinny_p.a
OLD_FILES+=3Dusr/lib/libalias_smedia_p.a
OLD_FILES+=3Dusr/lib/libarchive_p.a
OLD_FILES+=3Dusr/lib/libasn1_p.a
OLD_FILES+=3Dusr/lib/libauditd_p.a
OLD_FILES+=3Dusr/lib/libavl_p.a
OLD_FILES+=3Dusr/lib/libbe_p.a
OLD_FILES+=3Dusr/lib/libbegemot_p.a
OLD_FILES+=3Dusr/lib/libblacklist_p.a
OLD_FILES+=3Dusr/lib/libbluetooth_p.a
OLD_FILES+=3Dusr/lib/libbsdxml_p.a
OLD_FILES+=3Dusr/lib/libbsm_p.a
OLD_FILES+=3Dusr/lib/libbsnmp_p.a
OLD_FILES+=3Dusr/lib/libbz2_p.a
OLD_FILES+=3Dusr/lib/libc++_p.a
OLD_FILES+=3Dusr/lib/libc_p.a
OLD_FILES+=3Dusr/lib/libcalendar_p.a
OLD_FILES+=3Dusr/lib/libcam_p.a
OLD_FILES+=3Dusr/lib/libcom_err_p.a
OLD_FILES+=3Dusr/lib/libcompat_p.a
OLD_FILES+=3Dusr/lib/libcompiler_rt_p.a
OLD_FILES+=3Dusr/lib/libcrypt_p.a
OLD_FILES+=3Dusr/lib/libcrypto_p.a
OLD_FILES+=3Dusr/lib/libctf_p.a
OLD_FILES+=3Dusr/lib/libcurses_p.a
OLD_FILES+=3Dusr/lib/libcursesw_p.a
OLD_FILES+=3Dusr/lib/libcuse_p.a
OLD_FILES+=3Dusr/lib/libcxxrt_p.a
OLD_FILES+=3Dusr/lib/libdevctl_p.a
OLD_FILES+=3Dusr/lib/libdevinfo_p.a
OLD_FILES+=3Dusr/lib/libdevstat_p.a
OLD_FILES+=3Dusr/lib/libdialog_p.a
OLD_FILES+=3Dusr/lib/libdl_p.a
OLD_FILES+=3Dusr/lib/libdpv_p.a
OLD_FILES+=3Dusr/lib/libdtrace_p.a
OLD_FILES+=3Dusr/lib/libdwarf_p.a
OLD_FILES+=3Dusr/lib/libedit_p.a
OLD_FILES+=3Dusr/lib/libefivar_p.a
OLD_FILES+=3Dusr/lib/libelf_p.a
OLD_FILES+=3Dusr/lib/libexecinfo_p.a
OLD_FILES+=3Dusr/lib/libfetch_p.a
OLD_FILES+=3Dusr/lib/libfigpar_p.a
OLD_FILES+=3Dusr/lib/libfl_p.a
OLD_FILES+=3Dusr/lib/libform_p.a
OLD_FILES+=3Dusr/lib/libformw_p.a
OLD_FILES+=3Dusr/lib/libgcc_eh_p.a
OLD_FILES+=3Dusr/lib/libgcc_p.a
OLD_FILES+=3Dusr/lib/libgeom_p.a
OLD_FILES+=3Dusr/lib/libgpio_p.a
OLD_FILES+=3Dusr/lib/libgssapi_krb5_p.a
OLD_FILES+=3Dusr/lib/libgssapi_ntlm_p.a
OLD_FILES+=3Dusr/lib/libgssapi_p.a
OLD_FILES+=3Dusr/lib/libgssapi_spnego_p.a
OLD_FILES+=3Dusr/lib/libhdb_p.a
OLD_FILES+=3Dusr/lib/libheimbase_p.a
OLD_FILES+=3Dusr/lib/libheimntlm_p.a
OLD_FILES+=3Dusr/lib/libheimsqlite_p.a
OLD_FILES+=3Dusr/lib/libhistory_p.a
OLD_FILES+=3Dusr/lib/libhx509_p.a
OLD_FILES+=3Dusr/lib/libicp_p.a
OLD_FILES+=3Dusr/lib/libicp_rescue_p.a
OLD_FILES+=3Dusr/lib/libipsec_p.a
OLD_FILES+=3Dusr/lib/libipt_p.a
OLD_FILES+=3Dusr/lib/libjail_p.a
OLD_FILES+=3Dusr/lib/libkadm5clnt_p.a
OLD_FILES+=3Dusr/lib/libkadm5srv_p.a
OLD_FILES+=3Dusr/lib/libkafs5_p.a
OLD_FILES+=3Dusr/lib/libkdc_p.a
OLD_FILES+=3Dusr/lib/libkiconv_p.a
OLD_FILES+=3Dusr/lib/libkrb5_p.a
OLD_FILES+=3Dusr/lib/libkvm_p.a
OLD_FILES+=3Dusr/lib/libl_p.a
OLD_FILES+=3Dusr/lib/libln_p.a
OLD_FILES+=3Dusr/lib/liblzma_p.a
OLD_FILES+=3Dusr/lib/libm_p.a
OLD_FILES+=3Dusr/lib/libmagic_p.a
OLD_FILES+=3Dusr/lib/libmd_p.a
OLD_FILES+=3Dusr/lib/libmemstat_p.a
OLD_FILES+=3Dusr/lib/libmenu_p.a
OLD_FILES+=3Dusr/lib/libmenuw_p.a
OLD_FILES+=3Dusr/lib/libmilter_p.a
OLD_FILES+=3Dusr/lib/libmp_p.a
OLD_FILES+=3Dusr/lib/libmt_p.a
OLD_FILES+=3Dusr/lib/libncurses_p.a
OLD_FILES+=3Dusr/lib/libncursesw_p.a
OLD_FILES+=3Dusr/lib/libnetgraph_p.a
OLD_FILES+=3Dusr/lib/libnetmap_p.a
OLD_FILES+=3Dusr/lib/libngatm_p.a
OLD_FILES+=3Dusr/lib/libnv_p.a
OLD_FILES+=3Dusr/lib/libnvpair_p.a
OLD_FILES+=3Dusr/lib/libopencsd_p.a
OLD_FILES+=3Dusr/lib/libopie_p.a
OLD_FILES+=3Dusr/lib/libpanel_p.a
OLD_FILES+=3Dusr/lib/libpanelw_p.a
OLD_FILES+=3Dusr/lib/libpathconv_p.a
OLD_FILES+=3Dusr/lib/libpcap_p.a
OLD_FILES+=3Dusr/lib/libpjdlog_p.a
OLD_FILES+=3Dusr/lib/libpmc_p.a
OLD_FILES+=3Dusr/lib/libprivateatf-c++_p.a
OLD_FILES+=3Dusr/lib/libprivateatf-c_p.a
OLD_FILES+=3Dusr/lib/libprivateauditd_p.a
OLD_FILES+=3Dusr/lib/libprivatebsdstat_p.a
OLD_FILES+=3Dusr/lib/libprivatedevdctl_p.a
OLD_FILES+=3Dusr/lib/libprivateevent_p.a
OLD_FILES+=3Dusr/lib/libprivateevent1_p.a
OLD_FILES+=3Dusr/lib/libprivategmock_main_p.a
OLD_FILES+=3Dusr/lib/libprivategmock_p.a
OLD_FILES+=3Dusr/lib/libprivategtest_main_p.a
OLD_FILES+=3Dusr/lib/libprivategtest_p.a
OLD_FILES+=3Dusr/lib/libprivateheimipcc_p.a
OLD_FILES+=3Dusr/lib/libprivateheimipcs_p.a
OLD_FILES+=3Dusr/lib/libprivateifconfig_p.a
OLD_FILES+=3Dusr/lib/libprivateldns_p.a
OLD_FILES+=3Dusr/lib/libprivatesqlite3_p.a
OLD_FILES+=3Dusr/lib/libprivatessh_p.a
OLD_FILES+=3Dusr/lib/libprivateucl_p.a
OLD_FILES+=3Dusr/lib/libprivateunbound_p.a
OLD_FILES+=3Dusr/lib/libprivatezstd_p.a
OLD_FILES+=3Dusr/lib/libproc_p.a
OLD_FILES+=3Dusr/lib/libprocstat_p.a
OLD_FILES+=3Dusr/lib/libpthread_p.a
OLD_FILES+=3Dusr/lib/libradius_p.a
OLD_FILES+=3Dusr/lib/libregex_p.a
OLD_FILES+=3Dusr/lib/libroken_p.a
OLD_FILES+=3Dusr/lib/librpcsvc_p.a
OLD_FILES+=3Dusr/lib/librss_p.a
OLD_FILES+=3Dusr/lib/librt_p.a
OLD_FILES+=3Dusr/lib/librtld_db_p.a
OLD_FILES+=3Dusr/lib/libsbuf_p.a
OLD_FILES+=3Dusr/lib/libsdp_p.a
OLD_FILES+=3Dusr/lib/libsmb_p.a
OLD_FILES+=3Dusr/lib/libspl_p.a
OLD_FILES+=3Dusr/lib/libssl_p.a
OLD_FILES+=3Dusr/lib/libstats_p.a
OLD_FILES+=3Dusr/lib/libstdbuf_p.a
OLD_FILES+=3Dusr/lib/libstdc++_p.a
OLD_FILES+=3Dusr/lib/libstdthreads_p.a
OLD_FILES+=3Dusr/lib/libsupc++_p.a
OLD_FILES+=3Dusr/lib/libsysdecode_p.a
OLD_FILES+=3Dusr/lib/libtacplus_p.a
OLD_FILES+=3Dusr/lib/libtermcap_p.a
OLD_FILES+=3Dusr/lib/libtermcapw_p.a
OLD_FILES+=3Dusr/lib/libtermlib_p.a
OLD_FILES+=3Dusr/lib/libtermlibw_p.a
OLD_FILES+=3Dusr/lib/libthr_p.a
OLD_FILES+=3Dusr/lib/libthread_db_p.a
OLD_FILES+=3Dusr/lib/libtinfo_p.a
OLD_FILES+=3Dusr/lib/libtinfow_p.a
OLD_FILES+=3Dusr/lib/libtpool_p.a
OLD_FILES+=3Dusr/lib/libufs_p.a
OLD_FILES+=3Dusr/lib/libugidfw_p.a
OLD_FILES+=3Dusr/lib/libulog_p.a
OLD_FILES+=3Dusr/lib/libumem_p.a
OLD_FILES+=3Dusr/lib/libusb_p.a
OLD_FILES+=3Dusr/lib/libusbhid_p.a
OLD_FILES+=3Dusr/lib/libutempter_p.a
OLD_FILES+=3Dusr/lib/libutil_p.a
OLD_FILES+=3Dusr/lib/libuutil_p.a
OLD_FILES+=3Dusr/lib/libvgl_p.a
OLD_FILES+=3Dusr/lib/libvmmapi_p.a
OLD_FILES+=3Dusr/lib/libwind_p.a
OLD_FILES+=3Dusr/lib/libwrap_p.a
OLD_FILES+=3Dusr/lib/libxo_p.a
OLD_FILES+=3Dusr/lib/liby_p.a
OLD_FILES+=3Dusr/lib/libypclnt_p.a
OLD_FILES+=3Dusr/lib/libz_p.a
OLD_FILES+=3Dusr/lib/libzfs_core_p.a
OLD_FILES+=3Dusr/lib/libzfs_p.a
OLD_FILES+=3Dusr/lib/libzfsbootenv_p.a
OLD_FILES+=3Dusr/lib/libzutil_p.a
OLD_FILES+=3Dusr/lib/libprivateldns_p.a
OLD_FILES+=3Dusr/lib/libprivatessh_p.a
.endif

I expect that this is part of the mechanism that will
ultimately remove those then-out-of-date files from
systems when WITH_PROFILE is no longer supported.

Metion was made of "[a] similar change is still needed
for GCC" --but I've no clue of the details or status.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54761641-8AD3-44A6-8620-F1341ED9AB56>