diff options
Diffstat (limited to 'dev-cpp/folly')
-rw-r--r-- | dev-cpp/folly/Manifest | 2 | ||||
-rw-r--r-- | dev-cpp/folly/files/folly-2022.08.08.00-undefined-reference-fix.patch | 62 | ||||
-rw-r--r-- | dev-cpp/folly/files/folly-2022.08.15.00-liburing-headers.patch | 102 |
3 files changed, 0 insertions, 166 deletions
diff --git a/dev-cpp/folly/Manifest b/dev-cpp/folly/Manifest index 2e3bde926c81..729afd23fb08 100644 --- a/dev-cpp/folly/Manifest +++ b/dev-cpp/folly/Manifest @@ -1,6 +1,4 @@ AUX folly-2022.07.04.00-musl-fix.patch 1150 BLAKE2B 6774badf3856fa94ae69dc4ca3fb3aca628dcf3b96fd7d141967815a9a07c07349f852a35275baba7b91d60e0c61dc3e1639cab4727666fa128d0334f36815a2 SHA512 15029e25b4da1f9cfe227978a54f63c198361df665b4657ef6a80ffdd3911c80be8e6c3799c8c16ff0fcca050932155628651a6e5ed566a41174dced9e51dc58 -AUX folly-2022.08.08.00-undefined-reference-fix.patch 1883 BLAKE2B 59e10c05c3a9d12e012127d4df3d939f9d407d8740e6d9161885e1350f86aa0dde1e2ba7e6598c7e665ddb1f37be876aabd24078ad9e4d35038a18940cecd0fb SHA512 4ad4728fcaa8c5768c8019ce84501fbfbea07980fc9056c4e6ad11346e4443dca85c4110a84d81ac9ce75f26e9295bd7a647507c8445f6b28940e9ac2da05697 -AUX folly-2022.08.15.00-liburing-headers.patch 3554 BLAKE2B a0d306659037accce19e61d86d1b55f74247a4cf757adba28102ecb2561eb3bc857680e9df974190005f1164b4f1170b2d48745a63918f8888afcdd5d161e6d9 SHA512 3008157db5814a063321f057b3d4184d40cc9c3ac2d4d60626d0715605aa3ea82c8170a1d461b1f40863c9d2c25784e3dcaa8e1400a1f384e0e72ee217fa8d08 DIST folly-2022.03.28.00.tar.gz 3616507 BLAKE2B da003701abe599f20ac87a2785fe9a4cd4a8896d182737eb1eac6384f3d75a792225b426febea7cc4ea99aac1a1f31eb7330e0a297f43ae7d5aafccd93784560 SHA512 6eee07b3e82247c3c8672442503e9a69a1c4607604269fc0760e11a2d0e5595029e6995fbe7c970d2052a7f228f6b92112630e6d5c624369fc52e5ad1823ef74 DIST folly-v2022.08.29.00.tar.gz 3696645 BLAKE2B c1ff618be8b6a73bf0a1249212cf904ac472711086e54da73dd631ecf002761e30496e8631d6591f51e279b736ae9b3fe50959de6b1f86f01f9d6bc08fe675fc SHA512 1437a1314e26624715a0bb781049e19300eb3a67648287b319c55ce0dfbc867a09bd9d2f0cece6fc75fc62b21899aa94b464ae49c12687be7c94fdf0c7b95790 DIST folly-v2022.09.12.00.tar.gz 3710760 BLAKE2B af59580ebee3229a6564c4b29e1d24bc405f4ae3b79751af315245c87472293f97c2d78348c92620d3196d1d41a7b55af9627cd42d23f74cbf6f00d129b3b77c SHA512 f9d0ca44f6f0c343d16e8ee5408808830b30155d42a257c48e627f9a82bb4a57568a7feeba01cf73704db68af1eee7424971540635d5dfe1728fc2ae73953940 diff --git a/dev-cpp/folly/files/folly-2022.08.08.00-undefined-reference-fix.patch b/dev-cpp/folly/files/folly-2022.08.08.00-undefined-reference-fix.patch deleted file mode 100644 index 1a21386b1e83..000000000000 --- a/dev-cpp/folly/files/folly-2022.08.08.00-undefined-reference-fix.patch +++ /dev/null @@ -1,62 +0,0 @@ -https://github.com/facebook/folly/commit/10fc2e449038d9ffda5cd53999edb9875c4cb151 - -From 10fc2e449038d9ffda5cd53999edb9875c4cb151 Mon Sep 17 00:00:00 2001 -From: Simon Marlow <smarlow@fb.com> -Date: Fri, 12 Aug 2022 08:26:40 -0700 -Subject: [PATCH] Fix bugs in Cmake setup - -Summary: -Please see https://github.com/facebook/folly/issues/1823 and -https://github.com/facebook/folly/issues/1478 - -* CMAKE_LIBRARY_ARCHITECTURE is not always defined -* This doesn't work: `set(IS_X86_64_ARCH NOT(IS_X86_64_ARCH STREQUAL "-1"))` -* Two conditionals for `IS_X86_64_ARCH` were reversed - -Reviewed By: bochko - -Differential Revision: D38653631 - -fbshipit-source-id: c4b6f2820a2280356a7eb69bf0e9253434b5e750 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -27,8 +27,19 @@ if(POLICY CMP0075) - cmake_policy(SET CMP0075 NEW) - endif() - --string(FIND "${CMAKE_LIBRARY_ARCHITECTURE}" "x86_64" IS_X86_64_ARCH) --set(IS_X86_64_ARCH NOT(IS_X86_64_ARCH STREQUAL "-1")) -+if("${CMAKE_LIBRARY_ARCHITECTURE}" STREQUAL "") -+ # CMAKE_LIBRARY_ARCHITECTURE is not always set, so we have to assume -+ # arch might be x86_64 -+ message(WARNING "CMAKE_LIBRARY_ARCHITECTURE not set, assuming x86_64") -+ set(IS_X86_64_ARCH ON) -+else() -+ string(FIND "${CMAKE_LIBRARY_ARCHITECTURE}" "x86_64" IS_X86_64_ARCH) -+ if(IS_X86_64_ARCH STREQUAL "-1") -+ set(IS_X86_64_ARCH OFF) -+ else() -+ set(IS_X86_64_ARCH ON) -+ endif() -+endif() - - # includes - set(CMAKE_MODULE_PATH -@@ -230,7 +241,7 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - endif() - - # base64 SIMD files compilation --if (${IS_X86_64_ARCH}) -+if (NOT(${IS_X86_64_ARCH})) - message( - STATUS - "arch ${CMAKE_LIBRARY_ARCHITECTURE} does not match x86_64, " -@@ -256,7 +267,7 @@ else() - endif() - - if (${LIBSODIUM_FOUND}) -- if (${IS_X86_64_ARCH}) -+ if (NOT(${IS_X86_64_ARCH})) - message( - STATUS - "arch ${CMAKE_LIBRARY_ARCHITECTURE} does not match x86_64, " diff --git a/dev-cpp/folly/files/folly-2022.08.15.00-liburing-headers.patch b/dev-cpp/folly/files/folly-2022.08.15.00-liburing-headers.patch deleted file mode 100644 index f485ee2175fc..000000000000 --- a/dev-cpp/folly/files/folly-2022.08.15.00-liburing-headers.patch +++ /dev/null @@ -1,102 +0,0 @@ -Fix build w/ older kernel headers. - -https://github.com/facebook/folly/commit/ae20efa9fa8cea81079df519d93dcbd1523c8dc3 - -From ae20efa9fa8cea81079df519d93dcbd1523c8dc3 Mon Sep 17 00:00:00 2001 -From: Dylan Yudaken <dylany@fb.com> -Date: Mon, 15 Aug 2022 08:32:53 -0700 -Subject: [PATCH] io_uring: support older versions of liburing - -Summary: Some #if to support older versions of liburing as reported here; https://github.com/facebook/folly/issues/1832 - -Reviewed By: Orvid - -Differential Revision: D38650359 - -fbshipit-source-id: eb78a7607eaaf151dc394cef72df3826c83fdfbc ---- a/folly/experimental/io/IoUringBackend.cpp -+++ b/folly/experimental/io/IoUringBackend.cpp -@@ -40,6 +40,16 @@ extern "C" FOLLY_ATTR_WEAK void eb_poll_loop_pre_hook(uint64_t* call_time); - extern "C" FOLLY_ATTR_WEAK void eb_poll_loop_post_hook( - uint64_t call_time, int ret); - -+// there is no builtin macro we can use in liburing to tell what version we are -+// on or if features are supported. We will try and get this into the next -+// release but for now in the latest release there was also added multishot -+// accept - and so we can use it's pressence to suggest that we can safely use -+// newer features -+#if defined(IORING_ACCEPT_MULTISHOT) -+#define FOLLY_IO_URING_UP_TO_DATE 1 -+#else -+#define FOLLY_IO_URING_UP_TO_DATE 0 -+#endif - namespace folly { - - namespace { -@@ -296,11 +306,7 @@ std::chrono::time_point<std::chrono::steady_clock> getTimerExpireTime( - return now + us; - } - --// there is no builtin macro we can use in liburing to tell if buffer rings are --// supported. However in the release that added them, there was also added --// multishot accept - and so we can use it's pressence to suggest that we can --// safely use provided buffer rings --#if defined(IORING_ACCEPT_MULTISHOT) -+#if FOLLY_IO_URING_UP_TO_DATE - - class ProvidedBuffersBuffer { - public: -@@ -738,7 +744,11 @@ IoUringBackend::IoUringBackend(Options options) - params_.flags |= IORING_SETUP_CQSIZE; - params_.cq_entries = options.capacity; - if (options_.taskRunCoop) { -+#if FOLLY_IO_URING_UP_TO_DATE - params_.flags |= IORING_SETUP_COOP_TASKRUN; -+#else -+ // this has no functional change so just leave it -+#endif - } - - // poll SQ options -@@ -1237,9 +1247,12 @@ int IoUringBackend::eb_event_base_loop(int flags) { - } - - if (options_.registerRingFd) { -+ // registering just has some perf impact, so no need to fall back -+#if FOLLY_IO_URING_UP_TO_DATE - if (io_uring_register_ring_fd(&ioRing_) < 0) { - LOG(ERROR) << "unable to register io_uring ring fd"; - } -+#endif - } - } - -@@ -1496,9 +1509,11 @@ void IoUringBackend::cancel(IoSqeBase* ioSqe) { - auto* sqe = get_sqe(); - io_uring_prep_cancel64(sqe, (uint64_t)ioSqe, 0); - io_uring_sqe_set_data(sqe, (void*)&ioSqeNop); // just need something unique -+#if FOLLY_IO_URING_UP_TO_DATE - if (params_.features & IORING_FEAT_CQE_SKIP) { - sqe->flags |= IOSQE_CQE_SKIP_SUCCESS; - } -+#endif - } - - int IoUringBackend::cancelOne(IoSqe* ioSqe) { -@@ -1848,9 +1863,15 @@ void IoUringBackend::processFileOp(IoSqe* sqe, int64_t res) noexcept { - } - - bool IoUringBackend::kernelHasNonBlockWriteFixes() const { -+#if FOLLY_IO_URING_UP_TO_DATE - // this was fixed in 5.18, which introduced linked file - // fixed in "io_uring: only wake when the correct events are set" - return params_.features & IORING_FEAT_LINKED_FILE; -+#else -+ // this indicates that sockets have to manually remove O_NONBLOCK -+ // which is a bit slower but shouldnt cause any functional changes -+ return false; -+#endif - } - - namespace { - |