Re: git: ae07a5805b19 - main - krb5: Add version maps
Date: Wed, 23 Jul 2025 14:00:39 UTC
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=ae07a5805b1906f29e786f415d67bef334557bd3 > > 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 upstream'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. 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. -- John Baldwin