Date: Thu, 24 Jul 2025 12:17:32 -0700 From: Cy Schubert <Cy.Schubert@cschubert.com> To: John Baldwin <jhb@FreeBSD.org> Cc: Cy Schubert <cy@FreeBSD.org>, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: ae07a5805b19 - main - krb5: Add version maps Message-ID: <20250724191732.E8ADF54D@slippy.cwsent.com> In-Reply-To: <ae6cacb8-26e2-441e-983b-a42f8db148ae@FreeBSD.org> References: <202507221548.56MFmoo2060272@gitrepo.freebsd.org> <7d7427f3-16c2-4948-ab28-56eec1677e13@FreeBSD.org> <ae6cacb8-26e2-441e-983b-a42f8db148ae@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <ae6cacb8-26e2-441e-983b-a42f8db148ae@FreeBSD.org>, John Baldwin wri tes: > On 7/23/25 10:00, John Baldwin wrote: > > On 7/22/25 11:48, Cy Schubert wrote: > >> The branch main has been updated by cy: > >> > >> URL: https://cgit.FreeBSD.org/src/commit/?id=ae07a5805b1906f29e786f415d67b > ef334557bd3 > >> > >> commit ae07a5805b1906f29e786f415d67bef334557bd3 > >> Author: Cy Schubert <cy@FreeBSD.org> > >> AuthorDate: 2025-07-22 15:38:19 +0000 > >> Commit: Cy Schubert <cy@FreeBSD.org> > >> CommitDate: 2025-07-22 15:48:40 +0000 > >> > >> krb5: Add version maps > >> > >> Shared objects must have version maps. These were copied from upstre > am's > >> *.exports files. > >> > >> Reminded by: kib > >> Fixes: ee3960cba106 > > > > Hmmm, does this match the version files built by upstream's build? They > > seem to use a different pattern for the version numbers in their build > > glue and include a trailing HIDDEN annotation. This doesn't match upstream's versioning. That would cause the version numbers to go backwards. I used the OpenSSL 1.1.1 update as the example. It also mitigates any conflict between the MIT ports and base. Does this make sense? > > > > binutils.versions: $(SHLIB_EXPORT_FILE) Makefile > > base=`echo "$(LIBBASE)" | sed -e 's/-/_/'`; \ > > echo > binutils.versions "$${base}_$(LIBMAJOR)_MIT {" > > sed >> binutils.versions < $(SHLIB_EXPORT_FILE) "s/$$/;/" > > echo >> binutils.versions "};" > > echo >> binutils.versions "HIDDEN { local: __*; _rest*; _save*; * > ; };" > > > > (SHLIB_EXPORT_FILE is the foo.exports file) > > > > Upstream only uses those for Linux but the binutils versions file is the > > right format to use with both ld.bfd and lld. > > > > I also wonder if it would be better to use similar logic to generate these > > files at build time? We have some other version maps we generate as build > > artifacts rather than checking into the tree IIRC. > > While I appreciate that you committed a change, I do think it would be useful > to answer the questions above. For example, why not generate the maps at > runtime to reduce the chances they would get out of sync in future vendor > imports? There are probably reasonable thoughts on both sides, but we should > at least discuss them. > > Also, I echo requests from both Jessica and Kostik: please post patches for > review. We have time before 15.0 so we can slow down a bit and use discussio > n > and review to arrive at the right changes going forward rather than a flurry > of commits that keep fixing each other. Sure. What is the consensus then? Do we want to use upstream's DSO numbering or our own, like we do with OpenSSL? -- Cheers, Cy Schubert <Cy.Schubert@cschubert.com> FreeBSD UNIX: <cy@FreeBSD.org> Web: https://FreeBSD.org NTP: <cy@nwtime.org> Web: https://nwtime.org e**(i*pi)+1=0
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20250724191732.E8ADF54D>