On 15/02/2023 3:21 pm, Anthony PERARD wrote: > Unfortunatly, --default-symver doesn't work on FreeBSD 12, with LLVM's > LD. Instead, we will generate a temporary version-script.
It was all builds, not just FreeBSD 12, and not really FreeBSD either. LLD simply doesn't understand the --default-symver. It's just that the FreeBSD builds are the only ones where we're using LLD. All the gitlab clang tests are clang+binutils, not clang+llvm. We ought to change this irrespective. > diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk > index 0e4b5e0bd0..cab8e9704a 100644 > --- a/tools/libs/libs.mk > +++ b/tools/libs/libs.mk > @@ -72,6 +77,10 @@ headers.lst: FORCE > @{ set -e; $(foreach h,$(LIBHEADERS),echo $(h);) } > $@.tmp > @$(call move-if-changed,$@.tmp,$@) > > +libxen$(LIBNAME).map.tmp: FORCE > + echo 'VERS_$(MAJOR).$(MINOR) { global: *; };' >.$@.tmp > + $(call move-if-changed,.$@.tmp,$@) It has come up in the past that using literally VERS_ is buggy, because anyone who copy&pastes too much of the canonical reference will end up making a compatible binary. Xen's stable libraries are buggy, and at some point we really do need to bump them all to 2.0 to fix this. VERS should be a library reference, so libxen$(LIBNAME) in our case. I suggest we take this opportunity to fix the unstable libraries. ~Andrew