[libcxx-commits] [PATCH] D126462: [libc++] Re-enable std::pair trivial copy constructor for FreeBSD >= 14

Nikolas Klauser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu May 26 09:42:13 PDT 2022


philnik added a comment.

> Since FreeBSD attempts to keep ABIs stable in released versions, for our 12.x and 13.x branches there isn't any good way forward, except keeping the old ABI forever, until the branches reach EOL.

That was my guess. We have to keep ABIv1 for obvious reasons.

> But for 14.0, which is our trunk/main/head, there is no such ABI promise, therefore we can simply bump libc++.so to .2 now and fix the issue that way. If the upstream libc++ ABI version gets bumped to 2 though, we'll have to bump our .so to .3 I'm afraid, since the ELF soversion doesn't really allow "half-sized" version numbers.

Do you have to bump the version //now// or would it be possible for you to wait maybe one or two months so we can get things sorted out upstream?

> That said, I'm unsure how many other downstream consumers are waiting for the upstream libc++ ABI to change?

I mean, we have to do it at some point or never and someone has to start if we want to do it at some point.

> I haven't been following exactly what new features or incompatibilities have been covered by ABIv2; are there a lot of those?

https://github.com/llvm/llvm-project/blob/0be0a53df65cb402359c257922d80ab93d86fb40/libcxx/include/__config#L59-L118 is the list of current ABI-breaking changes.

@ldionne I think this requires your input. #libc_vendors <https://reviews.llvm.org/tag/libc_vendors/> is anybody else interested in a stable ABIv2?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126462/new/

https://reviews.llvm.org/D126462



More information about the libcxx-commits mailing list