From 736633fa866abdd7c155cabb02adf278c5237640 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 22 Jan 2023 12:52:10 +0000 Subject: gentoo auto-resync : 22:01:2023 - 12:52:10 --- .../folly/files/folly-2023.01.16.00-gcc13.patch | 24 ++++++++++ .../folly/files/folly-2023.01.16.00-liburing.patch | 54 ++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 dev-cpp/folly/files/folly-2023.01.16.00-gcc13.patch create mode 100644 dev-cpp/folly/files/folly-2023.01.16.00-liburing.patch (limited to 'dev-cpp/folly/files') diff --git a/dev-cpp/folly/files/folly-2023.01.16.00-gcc13.patch b/dev-cpp/folly/files/folly-2023.01.16.00-gcc13.patch new file mode 100644 index 000000000000..6779274d2fa1 --- /dev/null +++ b/dev-cpp/folly/files/folly-2023.01.16.00-gcc13.patch @@ -0,0 +1,24 @@ +https://github.com/facebook/folly/pull/1922 + +From e3cba5dd4f59c695d9cbf6bd02249af7103cc300 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sun, 22 Jan 2023 05:06:16 +0000 +Subject: [PATCH] Fix build with GCC 13 (add missing includes) + +GCC 13 (as usual for new compiler releases) shuffles around some +internal includes and so etc is no longer transitively included. + +Signed-off-by: Sam James +--- a/folly/system/AtFork.cpp ++++ b/folly/system/AtFork.cpp +@@ -14,6 +14,9 @@ + * limitations under the License. + */ + ++#include ++#include ++ + #include + + #include + diff --git a/dev-cpp/folly/files/folly-2023.01.16.00-liburing.patch b/dev-cpp/folly/files/folly-2023.01.16.00-liburing.patch new file mode 100644 index 000000000000..e2a692cea50c --- /dev/null +++ b/dev-cpp/folly/files/folly-2023.01.16.00-liburing.patch @@ -0,0 +1,54 @@ +https://bugs.gentoo.org/891633 +https://github.com/facebook/folly/issues/1908 +https://github.com/facebook/folly/commit/259c9d6a4f0eb6d80e0263c2fe5d1af5bff116dc + +From 259c9d6a4f0eb6d80e0263c2fe5d1af5bff116dc Mon Sep 17 00:00:00 2001 +From: Dylan Yudaken +Date: Mon, 16 Jan 2023 01:20:04 -0800 +Subject: [PATCH] io_uring: implement io_uring_enable_rings locally (#1915) + +Summary: +Pull Request resolved: https://github.com/facebook/folly/pull/1915 + +io_uring_enable_rings was missing from liburing upstream (see https://github.com/axboe/liburing/issues/773) which is breaking the open source build. See https://github.com/facebook/folly/issues/1908 + +Instead just implement it locally, as it's trivial + +Reviewed By: dmm-fb + +Differential Revision: D42497664 + +fbshipit-source-id: 7241785a36046e867f907bfe74623aaeb38c4b70 +--- a/folly/experimental/io/IoUringBackend.cpp ++++ b/folly/experimental/io/IoUringBackend.cpp +@@ -56,6 +56,20 @@ namespace folly { + + namespace { + ++#if FOLLY_IO_URING_UP_TO_DATE ++int ioUringEnableRings(FOLLY_MAYBE_UNUSED struct io_uring* ring) { ++ // Ideally this would call ::io_uring_enable_rings directly which just runs ++ // the below however this was missing from a stable version of liburing, which ++ // means that some distributions were not able to compile it. see ++ // https://github.com/axboe/liburing/issues/773 ++ ++ // since it is so simple, just implement it here until the fix rolls out to an ++ // acceptable number of OSS distributions. ++ return ::io_uring_register( ++ ring->ring_fd, IORING_REGISTER_ENABLE_RINGS, nullptr, 0); ++} ++#endif ++ + struct SignalRegistry { + struct SigInfo { + struct sigaction sa_ {}; +@@ -1360,7 +1374,7 @@ void IoUringBackend::delayedInit() { + if (usingDeferTaskrun_) { + // usingDeferTaskrun_ is guarded already on having an up to date liburing + #if FOLLY_IO_URING_UP_TO_DATE +- int ret = ::io_uring_enable_rings(&ioRing_); ++ int ret = ioUringEnableRings(&ioRing_); + if (ret) { + LOG(ERROR) << "io_uring_enable_rings gave " << folly::errnoStr(-ret); + } + -- cgit v1.2.3