diff --git a/pkgs/development/libraries/liburing/default.nix b/pkgs/development/libraries/liburing/default.nix index d7b997437d5..7d595db85dd 100644 --- a/pkgs/development/libraries/liburing/default.nix +++ b/pkgs/development/libraries/liburing/default.nix @@ -42,11 +42,14 @@ stdenv.mkDerivation rec { # Finally, this patch fixes the aarch64-linux support introduced by the # first patch, but which was _broken_ by the second patch, in a horrid # twist of fate: it neglected to change the names of the aarch64 barriers - # appropriately. (I assume the author did not attempt to compile for - # aarch64, hence this regression) + # appropriately. # - # Not yet upstream: TBD. - ./fix-aarch64-barrier-names.patch + # Already upstream: remove when moving to the next version + (fetchpatch { + url = "http://git.kernel.dk/cgit/liburing/patch/?id=6e9dd0c8c50b5988a0c77532c9c2bd6afd4790d2"; + sha256 = "11mqa1bp2pdfqh08gpcd98kg7lh3rrng41b4l1wvhxdbvg5rfw9c"; + }) + ]; separateDebugInfo = true; diff --git a/pkgs/development/libraries/liburing/fix-aarch64-barrier-names.patch b/pkgs/development/libraries/liburing/fix-aarch64-barrier-names.patch deleted file mode 100644 index 6fcad5a4fad..00000000000 --- a/pkgs/development/libraries/liburing/fix-aarch64-barrier-names.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/src/include/liburing/barrier.h b/src/include/liburing/barrier.h -index 8efa6dd..051b20f 100644 ---- a/src/include/liburing/barrier.h -+++ b/src/include/liburing/barrier.h -@@ -61,15 +61,15 @@ do { \ - - #elif defined(__aarch64__) - /* Adapted from arch/arm64/include/asm/barrier.h */ --#define dmb(opt) asm volatile("dmb " #opt : : : "memory") --#define dsb(opt) asm volatile("dsb " #opt : : : "memory") -- --#define mb() dsb(sy) --#define rmb() dsb(ld) --#define wmb() dsb(st) --#define smp_mb() dmb(ish) --#define smp_rmb() dmb(ishld) --#define smp_wmb() dmb(ishst) -+#define io_uring_dmb(opt) asm volatile("dmb " #opt : : : "memory") -+#define io_uring_dsb(opt) asm volatile("dsb " #opt : : : "memory") -+ -+#define io_uring_mb() io_uring_dsb(sy) -+#define io_uring_rmb() io_uring_dsb(ld) -+#define io_uring_wmb() io_uring_dsb(st) -+#define io_uring_smp_mb() io_uring_dmb(ish) -+#define io_uring_smp_rmb() io_uring_dmb(ishld) -+#define io_uring_smp_wmb() io_uring_dmb(ishst) - - #else /* defined(__x86_64__) || defined(__i386__) || defined(__aarch64__) */ - /*